AbortedChanges

Summary

  1. [libc++] NFC: Remove unused ability to pass additional Lit features (details)
Commit a5b58cdd800d0d45b1bdd1f7fe058db6acbfd918 by Louis Dionne
[libc++] NFC: Remove unused ability to pass additional Lit features
The file was modifiedzorg/buildbot/builders/LibcxxAndAbiBuilder.py (diff)

Summary

  1. Fix a typo in an error message. (details)
  2. [DWARFYAML][unittest] Refactor parseDWARFYAML(). (details)
  3. [ORC] Modify LazyCallThroughManager to support asynchronous resolution. (details)
  4. [libc++] Fix test failures in C++14 mode (details)
  5. [OpenMP] Make complex soft-float functions on the GPU weak definitions (details)
  6. Increase DIAG_SIZE_AST as we have hit it. (details)
  7. [X86] Remove unnecessary union from getHostCPUFeatures. NFC (details)
  8. [StackSafety,NFC] Update documentation (details)
  9. [PowerPC] Only make copies of registers on stack in variadic function when va_start is called (details)
  10. [clangd] Fix error handling in config.yaml parsing. (details)
  11. Fix return status of AtomicExpandPass (details)
  12. [MC] Simplify the logic of applying fixup for fragments, NFCI (details)
  13. [CodeGen] Matching promoted type for 16-bit integer bitcasts from fp16 operand (details)
  14. [PredicateInfo] Add additional RenamedOp field to PB. (details)
  15. [clangd] Enable async preambles by default (details)
  16. [llvm-objdump] Display locations of variables alongside disassembly (details)
  17. Correctly update return status for MVEGatherScatterLowering (details)
  18. [mlir] Add additional Canonicalization of shape.cstr_broadcastable. (details)
  19. [yaml][clang-tidy] Fix multiline YAML serialization (details)
  20. VersionPrinter - use const auto& iterator in for-range-loop. (details)
  21. Fix MSVC "not all control paths return a value" warning. NFC. (details)
  22. ConstantFoldScalarCall3 - use const APInt& returned by getValue() (details)
  23. [Coroutines] Refactor sinkLifetimeStartMarkers (details)
  24. [change-namespace][NFC] Clean up joinNamespaces (details)
  25. DebugCounterList::printOptionInfo - use const auto& iterator in for-range-loop. (details)
  26. [llvm-readelf] - Stop using 'unwrapOrError()' in 'ELFDumper<ELFT>::getSymbolVersion'. (details)
  27. [SVE] Disable some BUILD_VECTOR related code generator features. (details)
  28. [SVE] Scalarize fixed length masked loads and stores. (details)
  29. [DWARFYAML] Use override instead of virtual for better safety. (details)
  30. [clangd] Implement path and URI translation for remote index (details)
  31. Make helpers static. NFC. (details)
  32. [SCCP] Use conditional info with AND/OR branch conditions. (details)
  33. [DebugInfo] Do not hang when parsing a malformed .debug_pub* section. (details)
  34. [DebugInfo] Add more checks to parsing .debug_pub* sections. (details)
  35. [DebugInfo] Fix pessimizing move. NFC. (details)
  36. SpeculativeExecution: Fix for logic change introduced in D81730. (details)
  37. [RISCV] Avoid Splitting MBB in RISCVExpandPseudo (details)
  38. BasicAAResult::constantOffsetHeuristic - pass APInt arg as const reference. NFCI. (details)
  39. [X86][AVX] Attempt to fold extract_subvector(shuffle(X)) -> extract_subvector(X) (details)
  40. make -fmodules-codegen and -fmodules-debuginfo work also with PCHs (details)
  41. [analyzer] Add CTUImportCppThreshold for C++ files (details)
  42. OpaquePtr: Don't check pointee type for byval/preallocated (details)
Commit 371c94fca039bb85298756305758a56af129a1ce by echristo
Fix a typo in an error message.
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_linux.cpp
Commit 683a1bb253ef47ece27aad93812f22e8c51260fa by Xing
[DWARFYAML][unittest] Refactor parseDWARFYAML().

In this change, `parseDWARFYAML()` is refactored to be able to parse
YAML decription into different data structures. We don't have to craft
the whole DWARF structure for a small test in the future.

Reviewed By: jhenderson

Differential Revision: https://reviews.llvm.org/D83220
The file was modifiedllvm/unittests/ObjectYAML/DWARFYAMLTest.cpp
Commit 670915094462d831e3733e5b01a76471b8cf6dd8 by Lang Hames
[ORC] Modify LazyCallThroughManager to support asynchronous resolution.

Asynchronous resolution is a better fit for handling reentry over
IPC/RPC where we want to avoid blocking a communication handler/thread.
The file was modifiedllvm/lib/ExecutionEngine/Orc/LazyReexports.cpp
The file was modifiedllvm/include/llvm/ExecutionEngine/Orc/LazyReexports.h
The file was modifiedllvm/include/llvm/ExecutionEngine/Orc/IndirectionUtils.h
Commit 305b500eaf8c3b6a319e4571b4279a4694645d0d by Louis Dionne
[libc++] Fix test failures in C++14 mode
The file was modifiedlibcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/mutex_duration.pass.cpp
The file was modifiedlibcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/mutex_time_point.pass.cpp
Commit e3e47e80355422df2e730cf97a0c80bb6de3915e by johannes
[OpenMP] Make complex soft-float functions on the GPU weak definitions

To avoid linkage errors we have to ensure the linkage allows multiple
definitions of these compiler inserted functions. Since they are on the
cold path of complex computations, we want to avoid `inline`. Instead,
we opt for `weak` and `noinline` for now.
The file was modifiedclang/test/Headers/nvptx_device_math_complex.cpp
The file was modifiedclang/test/Headers/nvptx_device_math_complex.c
The file was modifiedclang/lib/Headers/__clang_cuda_complex_builtins.h
Commit f9888462cc76fb486161709d88522bd419a89504 by douglas.yung
Increase DIAG_SIZE_AST as we have hit it.
The file was modifiedclang/include/clang/Basic/DiagnosticIDs.h
Commit c96877ff62253aeeaba4ea165861045263d25207 by craig.topper
[X86] Remove unnecessary union from getHostCPUFeatures. NFC

This seems to be leftover copied from an older implementation
of getHostCPUName where we needed this to check the name of
CPU vendor. We don't check the CPU vendor at all in
getHostCPUFeatures so this union and the variable are unneeded.
The file was modifiedllvm/lib/Support/Host.cpp
Commit e38727a0bbbf2a0ee8f29458163a56f3c821f010 by Vitaly Buka
[StackSafety,NFC] Update documentation

It's follow up for D80908

Reviewed By: tejohnson

Differential Revision: https://reviews.llvm.org/D82941
The file was modifiedllvm/include/llvm/Analysis/StackSafetyAnalysis.h
The file was modifiedllvm/lib/Analysis/StackSafetyAnalysis.cpp
The file was modifiedllvm/include/llvm/IR/ModuleSummaryIndex.h
The file was modifiedllvm/docs/LangRef.rst
Commit e2b93185b84bd88264377f785465933a89faa4f8 by lkail
[PowerPC] Only make copies of registers on stack in variadic function when va_start is called

On PPC64, for a variadic function, if va_start is not called, it won't
access any variadic argument on stack, thus we can save stores of
registers used to pass arguments.

Differential Revision: https://reviews.llvm.org/D82361
The file was modifiedllvm/lib/Target/PowerPC/PPCISelLowering.cpp
The file was modifiedllvm/test/CodeGen/PowerPC/legalize-vaarg.ll
The file was modifiedllvm/test/CodeGen/PowerPC/ppc64-varargs.ll
Commit f36518637d7dfe5f8e619db1bd65dc90c92b5afa by sam.mccall
[clangd] Fix error handling in config.yaml parsing.

Summary:
A few things were broken:
- use of Document::parseBlockNode() is incorrect and prevents moving to the
   next doc in error cases. Use getRoot() instead.
- bailing out in the middle of iterating over a list/dict isn't allowed,
   unless you are going to throw away the parser: the next skip() asserts.
   Always consume all items.
- There were two concepts of fatal errors: error-diagnostics and drop-fragment.
   (The latter is the "return false" case in the parser). They didn't coincide.
   Now, parser errors and explicitly emitted error diagnostics are fatal.

Fixes https://github.com/clangd/clangd/issues/452

Reviewers: hokein

Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, kadircet, usaxena95, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D83436
The file was modifiedclang-tools-extra/clangd/ConfigYAML.cpp
The file was modifiedclang-tools-extra/clangd/unittests/ConfigYAMLTests.cpp
Commit a60c31fd6229d2b2e578fa7e192e98303e69223c by sguelton
Fix return status of AtomicExpandPass

Correctly reflect change in the return status.

Differential Revision: https://reviews.llvm.org/D83457
The file was modifiedllvm/lib/CodeGen/AtomicExpandPass.cpp
Commit e59e39b7c4092ead733d25e7801429fd9dab7007 by shengchen.kan
[MC] Simplify the logic of applying fixup for fragments, NFCI

Replace mutiple `if else`  clauses with a `switch` clause and remove redundant checks. Before this patch, we need to add a statement like `if(!isa<MCxxxFragment>(Frag)) `  here each time we add a new kind of `MCEncodedFragment` even if it has no fixups. After this patch, we don't need to do that.

Reviewed By: MaskRay

Differential Revision: https://reviews.llvm.org/D83366
The file was modifiedllvm/lib/MC/MCAssembler.cpp
Commit fc39a9ca0ef4f7b07c485e0d3c61ec0776f7a38c by lucas.prates
[CodeGen] Matching promoted type for 16-bit integer bitcasts from fp16 operand

Summary:
When legalizing a biscast operation from an fp16 operand to an i16 on a
target that requires both input and output types to be promoted to
32-bits, an assertion can fail when building the new node due to a
mismatch between the the operation's result size and the type specified to
the node.

This patches fix the issue by making sure the bit width of the types
match for the FP_TO_FP16 node, covering the difference with an extra
ANYEXTEND operation.

Reviewers: ostannard, efriedma, pirama, jmolloy, plotfi

Reviewed By: efriedma

Subscribers: hiraditya, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D82552
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
The file was addedllvm/test/CodeGen/ARM/arm-half-promote.ll
Commit b805e944773e119461903e5140389072c02796bf by flo
[PredicateInfo] Add additional RenamedOp field to PB.

OriginalOp of a predicate always refers to the original IR
value that was renamed. So for nested predicates of the same value, it
will always refer to the original IR value.

For the use in SCCP however, we need to find the renamed value that is
currently used in the condition associated with the predicate. This
patch adds a new RenamedOp field to do exactly that.

NewGVN currently relies on the existing behavior to merge instruction
metadata. A test case to check for exactly that has been added in
195fa4bfae10.

Reviewers: efriedma, davide, nikic

Reviewed By: nikic

Differential Revision: https://reviews.llvm.org/D78133
The file was modifiedllvm/include/llvm/Transforms/Utils/PredicateInfo.h
The file was modifiedllvm/lib/Transforms/Utils/PredicateInfo.cpp
Commit 1c7c5019a7adfb16e0449ffb1d0e10631998d854 by kadircet
[clangd] Enable async preambles by default

Summary:
We've been testing this internally for a couple weeks now and it seems
to be stable enough. Let's flip the flag before branch cut to increase testing
coverage and have enough time to revert if need be.

Subscribers: ilya-biryukov, javed.absar, MaskRay, jkorous, arphaman, usaxena95, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D83290
The file was modifiedclang-tools-extra/clangd/ClangdServer.h
The file was modifiedclang-tools-extra/clangd/TUScheduler.h
Commit dc4a6f5db4f0178bae43ef615cc8902c759d6195 by oliver.stannard
[llvm-objdump] Display locations of variables alongside disassembly

This adds the --debug-vars option to llvm-objdump, which prints
locations (registers/memory) of source-level variables alongside the
disassembly based on DWARF info. A vertical line is printed for each
live-range, with a label at the top giving the variable name and
location, and the position and length of the line indicating the program
counter range in which it is valid.

Differential revision: https://reviews.llvm.org/D70720
The file was addedllvm/test/tools/llvm-objdump/ARM/Inputs/wide-char.c
The file was addedllvm/test/tools/llvm-objdump/ARM/debug-vars-dwarf5-sections.s
The file was addedllvm/test/tools/llvm-objdump/ARM/debug-vars-dwarf4-sections.s
The file was addedllvm/test/tools/llvm-objdump/ARM/Inputs/debug.c
The file was modifiedllvm/docs/CommandGuide/llvm-objdump.rst
The file was modifiedllvm/lib/DebugInfo/DWARF/DWARFExpression.cpp
The file was modifiedllvm/tools/llvm-objdump/llvm-objdump.cpp
The file was addedllvm/test/tools/llvm-objdump/ARM/debug-vars-dwarf4.s
The file was addedllvm/test/tools/llvm-objdump/ARM/debug-vars-dwarf5.s
The file was addedllvm/test/tools/llvm-objdump/PowerPC/debug-vars.s
The file was modifiedllvm/include/llvm/DebugInfo/DWARF/DWARFExpression.h
The file was addedllvm/test/tools/llvm-objdump/ARM/debug-vars-wide-chars.s
Commit e4ec6d0afe14ca4ba6cebd35c7f46f3ce0859ecf by sguelton
Correctly update return status for MVEGatherScatterLowering

`Changed` should reflect all possible changes.

Differential Revision: https://reviews.llvm.org/D83459
The file was modifiedllvm/lib/Target/ARM/MVEGatherScatterLowering.cpp
Commit 2ef71cb7fdb76acd2dc69584d05dacd041a7a522 by tpopp
[mlir] Add additional Canonicalization of shape.cstr_broadcastable.

Summary:
Added canonicalization and folding was:
- Folding when either input is an attribute indicating a scalar input
which can always be broadcasted.
- Canonicalization where it can be determined that either input shape is
a scalar.
- Canonicalization where the partially specified input shapes can be
proven to be broadcastable always.

Differential Revision: https://reviews.llvm.org/D83194
The file was modifiedmlir/include/mlir/Dialect/Traits.h
The file was modifiedmlir/lib/Dialect/Traits.cpp
The file was modifiedmlir/lib/Dialect/Shape/IR/Shape.cpp
The file was modifiedmlir/test/Dialect/Shape/canonicalize.mlir
Commit 9e7fddbd36f567217255c1df1cb816b79f0250af by dmitry.polukhin
[yaml][clang-tidy] Fix multiline YAML serialization

Summary:
New line duplication logic introduced in https://reviews.llvm.org/D63482
has two issues: (1) there is no logic that removes duplicate newlines
when clang-apply-replacment reads YAML and (2) in general such logic
should be applied to all strings and should happen on string
serialization level instead in YAML parser.

This diff changes multiline strings quotation from single quote `'` to
double `"`. It solves problems with internal newlines because now they are
escaped. Also double quotation solves the problem with leading whitespace after
newline. In case of single quotation YAML parsers should remove leading
whitespace according to specification. In case of double quotation these
leading are internal space and they are preserved. There is no way to
instruct YAML parsers to preserve leading whitespaces after newline so
double quotation is the only viable option that solves all problems at
once.

Test Plan: check-all

Reviewers: gribozavr, mgehre, yvvan

Subscribers: xazax.hun, hiraditya, cfe-commits, llvm-commits

Tags: #clang-tools-extra, #clang, #llvm

Differential Revision: https://reviews.llvm.org/D80301
The file was modifiedllvm/test/Transforms/LowerMatrixIntrinsics/remarks-shared-subtrees.ll
The file was modifiedllvm/include/llvm/Support/YAMLTraits.h
The file was modifiedclang/include/clang/Tooling/ReplacementsYaml.h
The file was modifiedllvm/unittests/Support/YAMLIOTest.cpp
The file was modifiedclang/unittests/Tooling/ReplacementsYamlTest.cpp
The file was modifiedllvm/lib/Support/YAMLTraits.cpp
Commit dbed9d5ce7f5ab870b3ff20a14ee6c366c803fdb by llvm-dev
VersionPrinter - use const auto& iterator in for-range-loop.

Avoids unnecessary copies and silences clang tidy warning.
The file was modifiedllvm/lib/Support/CommandLine.cpp
Commit 397c68202a990c80a71de2816cee413cd5b5865e by llvm-dev
Fix MSVC "not all control paths return a value" warning. NFC.
The file was modifiedclang/lib/Tooling/Syntax/BuildTree.cpp
Commit 03fe47a29c95dbda5ecd548e35627bb16f7dfc6d by llvm-dev
ConstantFoldScalarCall3 - use const APInt& returned by getValue()

Avoids unnecessary APInt copies and silences clang tidy warning.
The file was modifiedllvm/lib/Analysis/ConstantFolding.cpp
Commit f0bfad2ed9b4a0eec68b71c7df2ee588806788c2 by JunMa
[Coroutines] Refactor sinkLifetimeStartMarkers

Differential Revision: https://reviews.llvm.org/D83379
The file was addedllvm/test/Transforms/Coroutines/coro-split-sink-lifetime-02.ll
The file was addedllvm/test/Transforms/Coroutines/coro-split-sink-lifetime-01.ll
The file was modifiedllvm/lib/Transforms/Coroutines/CoroSplit.cpp
The file was modifiedllvm/lib/Transforms/Coroutines/CoroFrame.cpp
The file was removedllvm/test/Transforms/Coroutines/coro-split-sink-lifetime.ll
Commit 6a3b10e294feceb94064f32450de5c068a13dd03 by n.james93
[change-namespace][NFC] Clean up joinNamespaces
The file was modifiedclang-tools-extra/clang-change-namespace/ChangeNamespace.cpp
Commit 58a85717cce5166b0952aee4d13375dda94f7497 by llvm-dev
DebugCounterList::printOptionInfo - use const auto& iterator in for-range-loop.

Avoids unnecessary copies and silences clang tidy warning.
The file was modifiedllvm/lib/Support/DebugCounter.cpp
Commit 54bdde1dc0cde8176ef5616c82ee793218173cab by grimar
[llvm-readelf] - Stop using 'unwrapOrError()' in 'ELFDumper<ELFT>::getSymbolVersion'.

This allows to propagate an error and report a warning properly.

Differential revision: https://reviews.llvm.org/D83393
The file was modifiedllvm/tools/llvm-readobj/ELFDumper.cpp
The file was modifiedllvm/test/tools/llvm-readobj/ELF/versym-invalid.test
Commit 614fb09645c8710f106dedb5f244f75ef97a1acb by paul.walker
[SVE] Disable some BUILD_VECTOR related code generator features.

Fixed length vector code generation for SVE does not yet custom
lower BUILD_VECTOR and instead relies on expansion.  At the same
time custom lowering for VECTOR_SHUFFLE is also not available so
this patch updates isShuffleMaskLegal to reject vector types that
require SVE.

Related to this it also prevents the merging of stores after
legalisation because this only works when BUILD_VECTOR is either
legal or can be elminated.  When this is not the case the code
generator enters an infinite legalisation loop.

Differential Revision: https://reviews.llvm.org/D83408
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.cpp
The file was modifiedllvm/test/CodeGen/AArch64/sve-fixed-length-shuffles.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.h
Commit 6b403319f86f55f1d6e16bde58d792d696e9fa8f by paul.walker
[SVE] Scalarize fixed length masked loads and stores.

When adding support for scalable vector masked loads and stores we
accidently opened up likewise for fixed length vectors. This patch
restricts support to scalable vectors only, thus ensuring fixed
length vectors are treated the same regardless of SVE support.

Differential Revision: https://reviews.llvm.org/D83341
The file was addedllvm/test/Transforms/ScalarizeMaskedMemIntrin/AArch64/expand-masked-load.ll
The file was addedllvm/test/Transforms/ScalarizeMaskedMemIntrin/AArch64/expand-masked-store.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
Commit 47c4ce41a16412efe49da1715be3144861cbf50a by Xing
[DWARFYAML] Use override instead of virtual for better safety.

Functions in DWARFYML::FixupVisitor are declared as
virtual functions in its base class DWARFYAML::Visitor.
We should use the mordern "override" keyword instead
of "virtual" for virtual functions in subclasses for
better safety.

Besides, the visibility is changed from private to
protected to make it consistent with
DWARFYAML::FixupVisitor class and DWARFYAML::Visitor
class.

Reviewed By: jhenderson

Differential Revision: https://reviews.llvm.org/D83452
The file was modifiedllvm/lib/ObjectYAML/DWARFEmitter.cpp
Commit 93bb9944cb577f0529636dc5acfba16026740962 by kbobyrev
[clangd] Implement path and URI translation for remote index

Reviewers: sammccall

Reviewed By: sammccall

Subscribers: ormris, ilya-biryukov, MaskRay, jkorous, arphaman, kadircet, usaxena95, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D82938
The file was modifiedclang-tools-extra/clangd/index/remote/marshalling/Marshalling.cpp
The file was modifiedclang-tools-extra/clangd/index/remote/Index.proto
The file was modifiedclang-tools-extra/clangd/index/remote/unimplemented/UnimplementedClient.cpp
The file was modifiedclang-tools-extra/clangd/index/remote/Client.cpp
The file was modifiedclang-tools-extra/clangd/index/dex/dexp/Dexp.cpp
The file was modifiedclang-tools-extra/clangd/index/remote/Client.h
The file was modifiedclang-tools-extra/clangd/index/remote/marshalling/Marshalling.h
The file was modifiedclang-tools-extra/clangd/index/remote/server/Server.cpp
The file was modifiedclang-tools-extra/clangd/unittests/remote/MarshallingTests.cpp
Commit b44470547e2ec8a52abb67c3f538ecc49ee27970 by benny.kra
Make helpers static. NFC.
The file was modifiedmlir/test/lib/Transforms/TestLinalgTransforms.cpp
The file was modifiedllvm/lib/IR/AutoUpgrade.cpp
The file was modifiedmlir/lib/Conversion/SPIRVToLLVM/ConvertSPIRVToLLVM.cpp
The file was modifiedclang/lib/StaticAnalyzer/Checkers/StdLibraryFunctionsChecker.cpp
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/lib/Transforms/Scalar/LowerExpectIntrinsic.cpp
The file was modifiedllvm/lib/MC/MCDisassembler/MCDisassembler.cpp
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Loops.cpp
The file was modifiedmlir/lib/Dialect/Affine/IR/AffineOps.cpp
The file was modifiedclang/lib/AST/ASTImporter.cpp
The file was modifiedllvm/lib/Transforms/Vectorize/VectorCombine.cpp
Commit a86ce06fafaa051554c6a21d487fa70e998dcafe by flo
[SCCP] Use conditional info with AND/OR branch conditions.

Currently SCCP does not combine the information of conditions joined by
AND in the true branch or OR in the false branch.

For branches on AND, 2 copies will be inserted for the true branch, with
one being the operand of the other as in the code below. We can combine
the information using intersection. Note that for the OR case, the
copies are inserted in the false branch, where using intersection is
safe as well.

    define void @foo(i32 %a) {
    entry:
      %lt = icmp ult i32 %a, 100
      %gt = icmp ugt i32 %a, 20
      %and = and i1 %lt, %gt
    ; Has predicate info
    ; branch predicate info { TrueEdge: 1 Comparison:  %lt = icmp ult i32 %a, 100 Edge: [label %entry,label %true] }
      %a.0 = call i32 @llvm.ssa.copy.140247425954880(i32 %a)
    ; Has predicate info
    ; branch predicate info { TrueEdge: 1 Comparison:  %gt = icmp ugt i32 %a, 20 Edge: [label %entry,label %false] }
      %a.1 = call i32 @llvm.ssa.copy.140247425954880(i32 %a.0)
      br i1 %and, label %true, label %false

    true:                                             ; preds = %entry
      call void @use(i32 %a.1)
      %true.1 = icmp ne i32 %a.1, 20
      call void @use.i1(i1 %true.1)
      ret void

    false:                                            ; preds = %entry
      call void @use(i32 %a.1)
      ret void
    }

Reviewers: efriedma, davide, mssimpso, nikic

Reviewed By: nikic

Differential Revision: https://reviews.llvm.org/D77808
The file was modifiedllvm/test/Transforms/SCCP/conditions-ranges.ll
The file was modifiedllvm/lib/Transforms/Scalar/SCCP.cpp
Commit 68f5a8b2042b8c4dc83d1851b462a0570eb3410f by ikudrin
[DebugInfo] Do not hang when parsing a malformed .debug_pub* section.

The parsing method did not check reading errors and might easily fall
into an infinite loop on an invalid input because of that.

Differential Revision: https://reviews.llvm.org/D83049
The file was addedlld/test/ELF/gdb-index-invalid-pubnames.s
The file was modifiedlld/ELF/SyntheticSections.cpp
The file was addedllvm/test/tools/llvm-dwarfdump/X86/debug_pub_tables_invalid.s
The file was modifiedlld/ELF/DWARF.h
The file was modifiedllvm/lib/DebugInfo/DWARF/DWARFContext.cpp
The file was modifiedllvm/lib/DebugInfo/DWARF/DWARFDebugPubTable.cpp
The file was modifiedllvm/include/llvm/DebugInfo/DWARF/DWARFDebugPubTable.h
Commit ca4d8da0c33cd9bcd05f94b4b3ac125b72be2a2a by ikudrin
[DebugInfo] Add more checks to parsing .debug_pub* sections.

The patch adds checking for various potential issues in parsing name
lookup tables and reporting them as recoverable errors, similarly as we
do for other tables.

Differential Revision: https://reviews.llvm.org/D83050
The file was modifiedlld/ELF/SyntheticSections.cpp
The file was removedllvm/test/tools/llvm-dwarfdump/X86/debug_pub_tables_invalid.s
The file was addedllvm/test/tools/llvm-dwarfdump/X86/debug_pub_tables_error_cases.s
The file was modifiedlld/test/ELF/Inputs/gdb-index.s
The file was modifiedlld/test/ELF/gdb-index-invalid-pubnames.s
The file was modifiedllvm/include/llvm/DebugInfo/DWARF/DWARFDebugPubTable.h
The file was modifiedllvm/lib/DebugInfo/DWARF/DWARFDebugPubTable.cpp
The file was modifiedlld/test/ELF/gdb-index.s
The file was modifiedllvm/lib/DebugInfo/DWARF/DWARFContext.cpp
Commit d36b8414bdde1f361c40e6f6d53788c43ffe53c1 by benny.kra
[DebugInfo] Fix pessimizing move. NFC.

DWARFDebugPubTable.cpp:80:31: warning: moving a temporary object prevents copy elision [-Wpessimizing-move]
The file was modifiedllvm/lib/DebugInfo/DWARF/DWARFDebugPubTable.cpp
Commit 167767a775f3db5cd94053d4da6a4f419b6211cd by dfukalov
SpeculativeExecution: Fix for logic change introduced in D81730.

Summary:
The test case started to hoist bitcasts to upper BB after D81730.
Reverted unintentional logic change. Some instructions may have zero cost but
will not be hoisted by different limitation so should be counted for threshold.

Reviewers: aprantl, arsenm, nhaehnle

Reviewed By: aprantl

Subscribers: wdng, hiraditya, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D82761
The file was modifiedllvm/test/Transforms/SpeculativeExecution/PR46267.ll
The file was modifiedllvm/lib/Transforms/Scalar/SpeculativeExecution.cpp
Commit 97106f9d80f6ba1bf5eafbd5a6f88d72913ec5a1 by selliott
[RISCV] Avoid Splitting MBB in RISCVExpandPseudo

Since the `RISCVExpandPseudo` pass has been split from
`RISCVExpandAtomicPseudo` pass, it would be nice to run the former as
early as possible (The latter has to be run as late as possible to
ensure correctness). Running earlier means we can reschedule these pairs
as we see fit.

Running earlier in the machine pass pipeline is good, but would mean
teaching many more passes about `hasLabelMustBeEmitted`. Splitting the
basic blocks also pessimises possible optimisations because some
optimisations are MBB-local, and others are disabled if the block has
its address taken (which is notionally what `hasLabelMustBeEmitted`
means).

This patch uses a new approach of setting the pre-instruction symbol on
the AUIPC instruction to a temporary symbol and referencing that. This
avoids splitting the basic block, but allows us to reference exactly the
instruction that we need to. Notionally, this approach seems more
correct because we do actually want to address a specific instruction.

This then allows the pass to be moved much earlier in the pass pipeline,
before both scheduling and register allocation. However, to do so we
must leave the MIR in SSA form (by not redefining registers), and so use
a virtual register for the intermediate value. By using this virtual
register, this pass now has to come before register allocation.

Reviewed By: luismarques, asb

Differential Revision: https://reviews.llvm.org/D82988
The file was modifiedllvm/lib/Target/RISCV/RISCVTargetMachine.cpp
The file was modifiedllvm/include/llvm/CodeGen/MachineBasicBlock.h
The file was modifiedllvm/lib/Target/RISCV/RISCVExpandPseudoInsts.cpp
The file was modifiedllvm/test/CodeGen/RISCV/mir-target-flags.ll
The file was modifiedllvm/test/CodeGen/RISCV/codemodel-lowering.ll
The file was modifiedllvm/test/CodeGen/RISCV/pic-models.ll
The file was modifiedllvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
The file was modifiedllvm/test/CodeGen/RISCV/tls-models.ll
The file was modifiedllvm/lib/Target/RISCV/RISCVMCInstLower.cpp
Commit 4597bfddf11b7d9dcf373525d0bc889bcc212b13 by llvm-dev
BasicAAResult::constantOffsetHeuristic - pass APInt arg as const reference. NFCI.

Avoids unnecessary APInt copies and silences clang tidy warning.
The file was modifiedllvm/lib/Analysis/BasicAliasAnalysis.cpp
The file was modifiedllvm/include/llvm/Analysis/BasicAliasAnalysis.h
Commit f54402b63a4f5b0b4b15e0f82ce8ff8501b206e6 by llvm-dev
[X86][AVX] Attempt to fold extract_subvector(shuffle(X)) -> extract_subvector(X)

If we're extracting a subvector from a shuffle that is shuffling entire subvectors we can peek through and extract the subvector from the shuffle source instead.

This helps remove some cases where concat_vectors(extract_subvector(),extract_subvector()) legalizations has resulted in BLEND/VPERM2F128 shuffles of the subvectors.
The file was modifiedllvm/test/CodeGen/X86/vector-pack-256.ll
The file was modifiedllvm/test/CodeGen/X86/x86-interleaved-access.ll
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/test/CodeGen/X86/avx512-intrinsics-fast-isel.ll
The file was modifiedllvm/test/CodeGen/X86/var-permute-256.ll
The file was modifiedllvm/test/CodeGen/X86/avx-vperm2x128.ll
The file was modifiedllvm/test/CodeGen/X86/known-signbits-vector.ll
The file was modifiedllvm/test/CodeGen/X86/packss.ll
Commit 31b05692cd33b6dcc39402169b36d895e1aa87f4 by l.lunak
make -fmodules-codegen and -fmodules-debuginfo work also with PCHs

Allow to build PCH's (with -building-pch-with-obj and the extra .o file)
with -fmodules-codegen -fmodules-debuginfo to allow emitting shared code
into the extra .o file, similarly to how it works with modules. A bit of
a misnomer, but the underlying functionality is the same. This saves up
to 20% of build time here. The patch is fairly simple, it basically just
duplicates -fmodules checks to also alternatively check
-building-pch-with-obj.

This already got committed as cbc9d22e49b434b6ceb2eb94b67079d02e0a7b74,
but then got reverted in 7ea9a6e0220da36ff2fd1fbc29c2755be23e5166
because of PR44953, as discussed in D74846. This is a corrected version
which does not include two places for the PCH case that aren't included
in the modules -fmodules-codegen path either.

Differential Revision: https://reviews.llvm.org/D69778
The file was modifiedclang/lib/Serialization/ASTReaderDecl.cpp
The file was addedclang/test/PCH/codegen.cpp
The file was modifiedclang/lib/Serialization/ASTWriterDecl.cpp
The file was modifiedclang/lib/Serialization/ASTReader.cpp
The file was modifiedclang/test/Modules/Inputs/codegen-flags/foo.h
The file was modifiedclang/lib/Serialization/ASTWriter.cpp
Commit d12d0b73f1c9c3a711c5cc15266a2b493cd712e9 by gabor.marton
[analyzer] Add CTUImportCppThreshold for C++ files

Summary:
The default CTUImportThreshold (8) seems to be too conservative with C projects.
We increase this value to 24 and we introduce another threshold for C++ source
files (defaulted to 8) because their AST is way more compilcated than C source
files.

Differential Revision: https://reviews.llvm.org/D83475
The file was modifiedclang/test/Analysis/analyzer-config.c
The file was modifiedclang/test/Analysis/ctu-import-threshold.c
The file was modifiedclang/unittests/CrossTU/CrossTranslationUnitTest.cpp
The file was modifiedclang/include/clang/StaticAnalyzer/Core/AnalyzerOptions.def
The file was modifiedclang/lib/CrossTU/CrossTranslationUnit.cpp
Commit 6f5d9136b27eefc981333d8c23ea9c0a38033d7b by Matthew.Arsenault
OpaquePtr: Don't check pointee type for byval/preallocated

Since none of these users really care about the actual type, hide the
type under a new size-getting attribute to go along with
hasPassPointeeByValueAttr. This will work better for the future byref
attribute, which may end up only tracking the byte size and not the IR
type.

We currently have 3 parameter attributes that should carry the type
(technically inalloca does not yet). The APIs are somewhat awkward
since preallocated/inalloca piggyback on byval in some places, but in
others are treated as distinct attributes. Since these are all
mutually exclusive, we should probably just merge all the attribute
infrastructure treating these as totally distinct attributes.
The file was modifiedllvm/lib/IR/Mangler.cpp
The file was modifiedllvm/lib/IR/Function.cpp
The file was modifiedllvm/include/llvm/IR/Argument.h

Summary

  1. [LNT] Use minimized version of jquery.scrolltofixed (details)
Commit 4c57b004f148dffc6db199890d91fc3e6e578972 by danila
[LNT] Use minimized version of jquery.scrolltofixed

Also fixes potential issues with the packaging

Differential Revision: https://reviews.llvm.org/D83396
The file was modifiedlnt/server/ui/templates/v4_profile.html (diff)

Summary

  1. [test-suite][AIX] Fix C++ benchmark compatibility issues on AIX (details)
Commit f0caeccfb893344d73474e9d8f6c034ae7f451f9 by wanyu9511
[test-suite][AIX] Fix C++ benchmark compatibility issues on AIX

Summary:
This reimplements what has been reverted in 630313d.

The old implementation applied the X/OPEN compatibility flag to the entire miniFE benchmark. This caused a build failure with `mytimer.cpp` due to its usages of `struct timezone` which is not available on AIX when the said compatibility flag is set. This new fix now also defines "UseTimes" which enables another path in the application to avoid the usages of `timezone`.

Reviewers: hubert.reinterpretcast, daltenty, ShuhongL

Reviewed By: hubert.reinterpretcast

Subscribers: mgorny

Differential Revision: https://reviews.llvm.org/D83342
The file was modifiedMultiSource/Benchmarks/DOE-ProxyApps-C++/miniFE/CMakeLists.txt (diff)