AbortedChanges

Summary

  1. [llvm-readelf] - Implement --addrsig option. (details)
  2. [obj2yaml] - Rename `Group` to `GroupSection`. NFC. (details)
  3. [mlir] fix the types used during the generation of the kernel param array (details)
  4. [ADT] function_ref's constructor is unavailable if the argument is not callable. (details)
  5. [gn build] (manually) port ce1365f8f7e (details)
  6. Revert "[ADT] function_ref's constructor is unavailable if the argument is not callable." (details)
  7. [AMDGPU] Use @LINE for error checking in gfx10.3 assembler tests (details)
  8. [SVE] Lower fixed length VECREDUCE_OR operation (details)
  9. [AMDGPU] Support disassembly for AMDGPU kernel descriptors (details)
  10. [clangd] Fix argument type (bool->float). (details)
  11. Introduce subtraction for FlatAffineConstraints (details)
  12. [SystemZ][z/OS] Add test of zero length bitfield type size larger than target zero length bitfield boundary (details)
  13. BPF: add AdjustOpt IR pass to generate verifier friendly codes (details)
  14. [gn build] Port ddf1864ace4 (details)
  15. [Tests] Precommit test showing gap around load forwarding of vectors in instcombine (details)
  16. [NFC][InstCombine] Autogenerate a few tests being affected by upcoming patch (details)
  17. [MemCpyOpt] Add additional callslot test cases (NFC) (details)
  18. [clang-format][NFC] Store FormatToken::Type as an enum instead of bitfield (details)
  19. [clang-format][tests] Fix MacroExpander lexer not parsing C++ keywords (details)
  20. Reapply [ADT] function_ref's constructor is unavailable if the argument is not callable. (details)
  21. [json] Provide a means to delegate writing a value to another API (details)
  22. [WebAssembly] Rename Emscripten EH functions (details)
  23. [mlir][CAPI] Attribute set/remove on operations. (details)
  24. [NFC] Add contributors names to CREDITS.TXT (details)
  25. [llvm][mlir] Promote the experimental reduction intrinsics to be first class intrinsics. (details)
  26. [clangd] Disambiguate overloads of std::move for header insertion. (details)
  27. Rename the VECREDUCE_STRICT_{FADD,FMUL} SDNodes to VECREDUCE_SEQ_{FADD,FMUL}. (details)
  28. [AMDGPU] Use default zero flag operands in flat scratch (details)
  29. [LAA] Use DL to get element size for bound computation. (details)
  30. [test][MC] Use %python in llvm/test/MC/COFF/bigobj.py (details)
  31. [AMDGPU] Add tied operand to d16 scratch loads (details)
  32. [mlir] Fix build after 322d0afd875df66b36e4810a2b95c20a8f22ab9b due to change in intrinsic overloads. (details)
  33. [CodeGen][X86] Cleanup labels on some sse/avx intrinsics tests. NFCI. (details)
  34. Fix Wdocumentation warnings due to case mismatch. NFCI. (details)
  35. Fix MSVC "not all control paths return a value" warning. NFCI. (details)
  36. Add a clarifying a comment on CastInst::isNoopCast (details)
  37. [clangd] Add a NewName optional parameter to clangdServer::prepareRename. (details)
  38. Add REQUIRES: x86-registered-target to test as it was failing on build bots without x86. (details)
  39. Remove D80713.diff added in 528057c19755ad842052fba3a42dcbf7deafc6de (details)
  40. [InstCombine] Add checks for and(logicalshift(zext(x),undef),y) cases (details)
  41. [SVE] Add legalisation tests to sve-fixed-length-fp-reduce.ll (details)
  42. [BasicBlockSections] Make sure that the labels for address-taken blocks are emitted after switching the seciton. (details)
  43. [NFC][MLInliner] Getters should return by reference (details)
  44. Add validity assert on entry to CastInst::isNoopCast [NFC] (details)
  45. [mlir] [sparse] Rename getSparseMatrix to getMatrix (details)
  46. Add regular expressions to and DWARF Call Frame Information tests in case the architecture specific target is not compiled into LLVM. (details)
  47. [NPM] Port strip nonlinetable debuginfo pass to the new pass manager (details)
  48. Port StripGCRelocates pass to NPM (details)
  49. [flang] Semantic checks for bad usage of whole assumed-size arrays (details)
  50. [NFC][regalloc] Use MCRegister instead of unsigned in InterferenceCache (details)
  51. [M680x0] Add google/benchmark's CycleTimer support for M68K (details)
  52. Fix a macOS build break caused by 3dfb94986170. (details)
  53. [libc++] Remove unused includes of Availability.h (details)
  54. [flang][msvc] Avoid dependence on long double (details)
  55. [sanitizer] Skip stack symbolization when not required for print format (details)
  56. Add test for disabling Dead Virtual Function Elimination (details)
  57. [X86] Defer the creation of LCMPXCHG16B_SAVE_RBX until finalize-isel (details)
  58. [ImplicitNullChecks] Support complex addressing mode (details)
  59. [libcxx] Use runtime rather then compile-time glibc version check (details)
  60. [IRMover] Avoid materializing global value that belongs to not-yet-linked module (details)
  61. Remove unused variables (details)
  62. [X86] Move findDeadCallerSavedReg() into X86RegisterInfo (details)
  63. [X86] Fix bug in -mlvi-cfi that may clobber a live register (details)
  64. BPF: fix incorrect DAG2DAG load optimization (details)
  65. Revert "[Support][unittests] Enforce alignment in ConvertUTFTest" (details)
  66. [NewPM] Use PassInstrumentation for -verify-each (details)
  67. Return "[SCEV] Prove implicaitons via AddRec start" (details)
  68. Update documentation and implementation of stage3 build (details)
  69. [LLD] [ELF] Fix up a comment regarding the --wrap option. NFC. (details)
  70. [LLD] Ignore ELF tests when ld.lld defaults to MinGW (details)
  71. [ARM] Replace llvm.experimental.vector.reduce.smax with llvm.vector.reduce.smax. NFC (details)
  72. [LV] Collect dead induction truncates (details)
Commit 55a60af237809308cf4731ec291cab32ea8c732a by grimar
[llvm-readelf] - Implement --addrsig option.

We have `--addrsig` implemented for `llvm-readobj`.
Usually it is convenient to use a single tool for dumping,
so it seems we might want to implement `--addrsig` for `llvm-readelf` too.

I've selected a simple output format which is a bit similar to one,
used for dumping of the symbol table. It looks like:

```
Address-significant symbols section '.llvm_addrsig' contains 2 entries:
   Num: Name
     1: foo
     2: bar
```

Differential revision: https://reviews.llvm.org/D88835
The file was modifiedllvm/test/tools/llvm-readobj/ELF/demangle.test
The file was modifiedllvm/tools/llvm-readobj/ELFDumper.cpp
The file was modifiedllvm/test/tools/llvm-readobj/ELF/addrsig.test
Commit 82311766d993f730506cb82471d7349a380a5df7 by grimar
[obj2yaml] - Rename `Group` to `GroupSection`. NFC.

The `Group` class represents a group section and it is
named inconsistently with other sections which all has
the "Section" suffix. It is sometimes confusing,
this patch addresses the issue.

Differential revision: https://reviews.llvm.org/D88892
The file was modifiedllvm/include/llvm/ObjectYAML/ELFYAML.h
The file was modifiedllvm/lib/ObjectYAML/ELFYAML.cpp
The file was modifiedllvm/tools/obj2yaml/elf2yaml.cpp
The file was modifiedllvm/lib/ObjectYAML/ELFEmitter.cpp
Commit 149dc94c1d52c5f78e2aadb57a72dd437fe55aa1 by tobias.gysi
[mlir] fix the types used during the generation of the kernel param array

The patch fixes the types used to access the elements of the kernel parameter structure from a pointer to the structure to a pointer to the actual parameter type.

Reviewed By: csigg

Differential Revision: https://reviews.llvm.org/D88959
The file was modifiedmlir/lib/Conversion/GPUCommon/ConvertLaunchFuncToRuntimeCalls.cpp
Commit 4cae6228d129d4c4dfb156c043977bb6b5690031 by sam.mccall
[ADT] function_ref's constructor is unavailable if the argument is not callable.

This allows overload sets containing function_ref arguments to work correctly
Otherwise they're ambiguous as anything "could be" converted to a function_ref.

This matches proposed std::function_ref, absl::function_ref, etc.

Differential Revision: https://reviews.llvm.org/D88901
The file was modifiedllvm/lib/AsmParser/LLParser.h
The file was modifiedllvm/unittests/ADT/FunctionRefTest.cpp
The file was modifiedllvm/include/llvm/ADT/STLExtras.h
The file was modifiedllvm/lib/Bitcode/Reader/BitcodeReader.cpp
Commit fbce456fad35efa857b9dea2cff3a938835de44d by thakis
[gn build] (manually) port ce1365f8f7e
The file was modifiedlibcxx/src/CMakeLists.txt
The file was modifiedllvm/utils/gn/secondary/libcxx/src/BUILD.gn
Commit 281703e67ffaee8e26efef86e0df3e145477f4cb by sam.mccall
Revert "[ADT] function_ref's constructor is unavailable if the argument is not callable."

This reverts commit 4cae6228d129d4c4dfb156c043977bb6b5690031.

Breaks GCC build:
http://lab.llvm.org:8011/#/builders/8/builds/33/steps/6/logs/stdio
The file was modifiedllvm/unittests/ADT/FunctionRefTest.cpp
The file was modifiedllvm/lib/Bitcode/Reader/BitcodeReader.cpp
The file was modifiedllvm/include/llvm/ADT/STLExtras.h
The file was modifiedllvm/lib/AsmParser/LLParser.h
Commit fc819b6925611b6c564daf6752af2e88ce12f5c0 by jay.foad
[AMDGPU] Use @LINE for error checking in gfx10.3 assembler tests
The file was modifiedllvm/test/MC/AMDGPU/gfx1030_err.s
Commit 333b2ab60b61afb342a8d271477849fb445a26af by mcinally
[SVE] Lower fixed length VECREDUCE_OR operation

Differential Revision: https://reviews.llvm.org/D88847
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.cpp
The file was modifiedllvm/test/CodeGen/AArch64/sve-fixed-length-log-reduce.ll
Commit 528057c19755ad842052fba3a42dcbf7deafc6de by RonakNilesh.Chauhan
[AMDGPU] Support disassembly for AMDGPU kernel descriptors

Decode AMDGPU Kernel descriptors as assembler directives.

Reviewed By: scott.linder, jhenderson, kzhuravl

Differential Revision: https://reviews.llvm.org/D80713
The file was addedllvm/test/tools/llvm-objdump/ELF/AMDGPU/kd-zeroed-gfx9.s
The file was modifiedllvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
The file was addedllvm/test/tools/llvm-objdump/ELF/AMDGPU/kd-failure.s
The file was addedD80713.diff
The file was modifiedllvm/tools/llvm-objdump/llvm-objdump.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/nop-data.ll
The file was modifiedllvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.h
The file was addedllvm/test/tools/llvm-objdump/ELF/AMDGPU/kd-zeroed-gfx10.s
The file was modifiedllvm/include/llvm/Support/AMDHSAKernelDescriptor.h
The file was addedllvm/test/tools/llvm-objdump/ELF/AMDGPU/kd-vgpr.s
The file was addedllvm/test/tools/llvm-objdump/ELF/AMDGPU/kd-zeroed-raw.s
The file was addedllvm/test/tools/llvm-objdump/ELF/AMDGPU/kd-sgpr.s
Commit bcd8422d75069624dc2daf7e5ff4b4f6cbcd6b71 by adamcz
[clangd] Fix argument type (bool->float).

The default value is 1.3f, but it was cast to true, which is not a good
base for code completion score.

Differential Revision: https://reviews.llvm.org/D88970
The file was modifiedclang-tools-extra/clangd/tool/ClangdMain.cpp
Commit 63dead2096cd6a2190ba11071938b937be8bf159 by zinenko
Introduce subtraction for FlatAffineConstraints

Subtraction is a foundational arithmetic operation that is often used when computing, for example, data transfer sets or cache hits. Since the result of subtraction need not be a convex polytope, a new class `PresburgerSet` is introduced to represent unions of convex polytopes.

Reviewed By: ftynse, bondhugula

Differential Revision: https://reviews.llvm.org/D87068
The file was modifiedmlir/lib/Analysis/Presburger/Simplex.cpp
The file was addedmlir/lib/Analysis/PresburgerSet.cpp
The file was addedmlir/unittests/Analysis/PresburgerSetTest.cpp
The file was modifiedmlir/lib/Analysis/CMakeLists.txt
The file was modifiedmlir/unittests/Analysis/Presburger/CMakeLists.txt
The file was addedmlir/include/mlir/Analysis/PresburgerSet.h
The file was modifiedmlir/lib/Analysis/Presburger/CMakeLists.txt
The file was modifiedmlir/unittests/Analysis/CMakeLists.txt
The file was modifiedmlir/include/mlir/Analysis/Presburger/Simplex.h
The file was modifiedmlir/lib/Analysis/AffineStructures.cpp
The file was modifiedmlir/include/mlir/Analysis/AffineStructures.h
The file was modifiedmlir/unittests/Analysis/AffineStructuresTest.cpp
Commit 9908ee5670596db4fdc2bd7ea7c3071c0e02a784 by Abhina.Sreeskantharajan
[SystemZ][z/OS] Add test of zero length bitfield type size larger than target zero length bitfield boundary

Reviewed By: hubert.reinterpretcast

Differential Revision: https://reviews.llvm.org/D88963
The file was modifiedclang/test/CodeGen/zos-alignment.c
Commit ddf1864ace484035e3cde5e83b3a31ac81e059c6 by yhs
BPF: add AdjustOpt IR pass to generate verifier friendly codes

Add an IR phase right before main module optimization.
This is to modify IR to restrict certain downward optimizations
in order to generate verifier friendly code.
  > prevent certain instcombine optimizations, handling both
    in-block/cross-block instcombines.
  > avoid speculative code motion if the variable used in
    condition is also used in the later blocks.

Internally, a bpf IR builtin
  result = __builtin_bpf_passthrough(seq_num, result)
is used to enforce ordering. This builtin is only used
during target independent IR optimizations and it will
be removed at the beginning of target dependent IR
optimizations.

For example, removing the following workaround,
  --- a/tools/testing/selftests/bpf/progs/test_sysctl_loop1.c
  +++ b/tools/testing/selftests/bpf/progs/test_sysctl_loop1.c
  @@ -47,7 +47,7 @@ int sysctl_tcp_mem(struct bpf_sysctl *ctx)
          /* a workaround to prevent compiler from generating
           * codes verifier cannot handle yet.
           */
  -       volatile int ret;
  +       int ret;
this patch is able to generate code which passed the verifier.

To disable optimization, users need to use "opt" command like below:
  clang -target bpf -O2 -S -emit-llvm -Xclang -disable-llvm-passes test.c
  // disable icmp serialization
  opt -O2 -bpf-disable-serialize-icmp test.ll | llvm-dis > t.ll
  // disable avoid-speculation
  opt -O2 -bpf-disable-avoid-speculation test.ll | llvm-dis > t.ll
  llc t.ll

Differential Revision: https://reviews.llvm.org/D85570
The file was addedllvm/test/CodeGen/BPF/adjust-opt-icmp2.ll
The file was modifiedllvm/lib/Target/BPF/BPFTargetMachine.cpp
The file was modifiedllvm/lib/Target/BPF/BPF.h
The file was addedllvm/test/CodeGen/BPF/adjust-opt-icmp1.ll
The file was addedllvm/test/CodeGen/BPF/adjust-opt-speculative1.ll
The file was modifiedllvm/lib/Target/BPF/CMakeLists.txt
The file was addedllvm/lib/Target/BPF/BPFAdjustOpt.cpp
The file was addedllvm/test/CodeGen/BPF/adjust-opt-speculative2.ll
Commit d6af25e07c35a11bf6231151fe23a17337e8488f by llvmgnsyncbot
[gn build] Port ddf1864ace4
The file was modifiedllvm/utils/gn/secondary/llvm/lib/Target/BPF/BUILD.gn
Commit 14d5ee63e3c3c625d5432db8c7fd6a2bdd7e6809 by listmail
[Tests] Precommit test showing gap around load forwarding of vectors in instcombine
The file was modifiedllvm/test/Transforms/InstCombine/load.ll
Commit bef27e50b9a2dd272a0c48e5237daeab50f77c7a by lebedev.ri
[NFC][InstCombine] Autogenerate a few tests being affected by upcoming patch
The file was modifiedllvm/test/Transforms/InstCombine/memset_chk-1.ll
The file was modifiedllvm/test/Transforms/InstCombine/load-bitcast32.ll
The file was modifiedllvm/test/Transforms/InstCombine/PR30597.ll
The file was modifiedllvm/test/Transforms/InstCombine/intptr1.ll
Commit 7a01fc5abe4cb7b87ddd214b885426a3079636e9 by nikita.ppv
[MemCpyOpt] Add additional callslot test cases (NFC)

For cases where the destination is captured.
The file was modifiedllvm/test/Transforms/MemCpyOpt/callslot.ll
Commit 0a3c82e85b73e51e830b57844b2f5b98cb59afd1 by Alexander.Richardson
[clang-format][NFC] Store FormatToken::Type as an enum instead of bitfield

This improves the debugging experience since LLDB will print the enumerator
name instead of a decimal number. This changes TokenType to have uint8_t
as the underlying type and moves it after the remaining bitfields to avoid
increasing the size of FormatToken.

Reviewed By: MyDeveloperDay

Differential Revision: https://reviews.llvm.org/D87006
The file was modifiedclang/lib/Format/FormatToken.h
The file was modifiedclang/lib/Format/UnwrappedLineParser.cpp
Commit ff6e4441b93953efb2c52995e79e211a49ffac06 by Alexander.Richardson
[clang-format][tests] Fix MacroExpander lexer not parsing C++ keywords

While debugging a different clang-format failure, I tried to reuse the
MacroExpander lexer, but was surprised to see that it marks all C++
keywords (e.g. const, decltype) as being of type identifier. After stepping
through the ::format() code, I noticed that the difference between these
two is that the identifier table was not being initialized based on the
FormatStyle, so only basic tokens such as tok::semi, tok::plus, etc. were
being handled.

Reviewed By: klimek

Differential Revision: https://reviews.llvm.org/D88952
The file was modifiedclang/unittests/Format/TestLexer.h
The file was modifiedclang/unittests/Format/MacroExpanderTest.cpp
Commit b953a01b2cd04263c878292c609686647be396ad by sam.mccall
Reapply [ADT] function_ref's constructor is unavailable if the argument is not callable.

This reverts commit 281703e67ffaee8e26efef86e0df3e145477f4cb.

GCC 5.4 bugs are worked around by avoiding use of variable templates.

Differential Revision: https://reviews.llvm.org/D88977
The file was modifiedllvm/lib/AsmParser/LLParser.h
The file was modifiedllvm/lib/Bitcode/Reader/BitcodeReader.cpp
The file was modifiedllvm/unittests/ADT/FunctionRefTest.cpp
The file was modifiedllvm/include/llvm/ADT/STLExtras.h
Commit 91a98ec11e2e001d01c47286bc1721046beeae62 by sam.mccall
[json] Provide a means to delegate writing a value to another API

(Based on D87170 by dsanders)

I recently had need to call out to an external API to emit a JSON object as part
of one an LLVM tool was emitting. However, our JSON support didn't provide a way
to delegate part of the JSON output to that API.

Add rawValueBegin() and rawValueEnd() to maintain and check the internal state
while something else is writing to the stream. It's the users responsibility to
ensure that the resulting JSON output is still valid.

Differential Revision: https://reviews.llvm.org/D88902
The file was modifiedllvm/lib/Support/JSON.cpp
The file was modifiedllvm/include/llvm/Support/JSON.h
The file was modifiedllvm/unittests/Support/JSONTest.cpp
Commit 3bba91f64eef15956f589fa446c265a714cc7893 by aheejin
[WebAssembly] Rename Emscripten EH functions

Renaming for some Emscripten EH functions has so far been done in
wasm-emscripten-finalize tool in Binaryen. But recently we decided to
make a compilation/linking path that does not rely on
wasm-emscripten-finalize for modifications, so here we move that
functionality to LLVM.

Invoke wrappers are generated in LowerEmscriptenEHSjLj pass, but final
wasm types are not available in the IR pass, we need to rename them at
the end of the pipeline.

This patch also removes uses of `emscripten_longjmp_jmpbuf` in
LowerEmscriptenEHSjLj pass, replacing that with `emscripten_longjmp`.
`emscripten_longjmp_jmpbuf` is lowered to `emscripten_longjmp`, but
previously we generated calls to `emscripten_longjmp_jmpbuf` in
LowerEmscriptenEHSjLj pass because it takes `jmp_buf*` instead of `i32`.
But we were able use `ptrtoint` to make it use `emscripten_longjmp`
directly here.

Addresses:
https://github.com/WebAssembly/binaryen/issues/3043
https://github.com/WebAssembly/binaryen/issues/3081

Companions:
https://github.com/WebAssembly/binaryen/pull/3191
https://github.com/emscripten-core/emscripten/pull/12399

Reviewed By: dschuff, tlively, sbc100

Differential Revision: https://reviews.llvm.org/D88697
The file was modifiedllvm/test/CodeGen/WebAssembly/lower-em-ehsjlj-options.ll
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyMCInstLower.cpp
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyAsmPrinter.cpp
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyLowerEmscriptenEHSjLj.cpp
The file was modifiedllvm/test/CodeGen/WebAssembly/lower-em-sjlj.ll
The file was modifiedllvm/test/CodeGen/WebAssembly/function-bitcasts.ll
The file was addedllvm/test/CodeGen/WebAssembly/lower-em-ehsjlj-multi-return.ll
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyAsmPrinter.h
The file was modifiedllvm/test/CodeGen/WebAssembly/lower-em-sjlj-sret.ll
Commit 4aa217160e5f06a96c6effc4950c3b402374de58 by stellaraccident
[mlir][CAPI] Attribute set/remove on operations.

* New functions: mlirOperationSetAttributeByName, mlirOperationRemoveAttributeByName
* Also adds some *IsNull checks and standardizes the rest to use "static inline" form, which makes them all non-opaque and not part of the ABI (which is desirable).
* Changes needed to resolve TODOs in npcomp PyTorch capture.

Differential Revision: https://reviews.llvm.org/D88946
The file was modifiedmlir/test/CAPI/ir.c
The file was modifiedmlir/lib/CAPI/IR/IR.cpp
The file was modifiedmlir/include/mlir-c/IR.h
Commit 19bc894da12a9229b3e8cfb11a0281786f07ab6c by fanbo.meng
[NFC] Add contributors names to CREDITS.TXT
The file was modifiedllvm/CREDITS.TXT
Commit 322d0afd875df66b36e4810a2b95c20a8f22ab9b by Amara Emerson
[llvm][mlir] Promote the experimental reduction intrinsics to be first class intrinsics.

This change renames the intrinsics to not have "experimental" in the name.

The autoupgrader will handle legacy intrinsics.

Relevant ML thread: http://lists.llvm.org/pipermail/llvm-dev/2020-April/140729.html

Differential Revision: https://reviews.llvm.org/D88787
The file was modifiedllvm/test/CodeGen/AArch64/vecreduce-fmin-legalization.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/reduction-predselect.ll
The file was modifiedllvm/test/CodeGen/ARM/vecreduce-fmin-legalization-soft-float.ll
The file was modifiedmlir/include/mlir/Dialect/Vector/VectorOps.td
The file was modifiedllvm/test/Transforms/LoopVectorize/ARM/mve-reduction-types.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/PR39774.ll
The file was modifiedllvm/test/CodeGen/X86/vector-reduce-fmax-fmin-fast.ll
The file was modifiedllvm/test/CodeGen/ARM/vecreduce-fmul-legalization-soft-float.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-gather-scatter-optimisation.ll
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/invariant-qreg.mir
The file was modifiedllvm/test/CodeGen/X86/vector-reduce-fmin.ll
The file was modifiedllvm/test/Bitcode/upgrade-vecreduce-intrinsics.ll
The file was modifiedllvm/test/CodeGen/AArch64/vecreduce-propagate-sd-flags.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vaddv.ll
The file was modifiedllvm/test/CodeGen/X86/pr45378.ll
The file was modifiedllvm/test/CodeGen/X86/vector-reduce-fmul-fast.ll
The file was modifiedmlir/test/Conversion/VectorToLLVM/vector-reduction-to-llvm.mlir
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/unpredicated-max.mir
The file was modifiedllvm/test/CodeGen/X86/vector-reduce-smin.ll
The file was modifiedllvm/test/CodeGen/AArch64/vecreduce-fadd.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/X86/imprecise-through-phis.ll
The file was modifiedllvm/test/Transforms/PhaseOrdering/X86/vector-reductions.ll
The file was modifiedllvm/test/CodeGen/AArch64/aarch64-addv.ll
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/predicated-liveout.mir
The file was modifiedllvm/test/Transforms/LoopVectorize/AArch64/reduction-small-size.ll
The file was modifiedllvm/test/Bitcode/upgrade-vecreduce-intrinsics.ll.bc
The file was modifiedllvm/test/CodeGen/X86/vector-reduce-fadd.ll
The file was modifiedllvm/test/CodeGen/ARM/vecreduce-fadd-legalization-soft-float.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vecreduce-fminmax.ll
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/inloop-vpsel-2.mir
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/reduction_loads.ll
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/lstp-insertion-position.mir
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vecreduce-bit.ll
The file was modifiedllvm/test/CodeGen/ARM/vecreduce-fmul-legalization-strict.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/X86/reduction-fastmath.ll
The file was modifiedllvm/test/Analysis/CostModel/X86/reduce-fmax.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/horizontal-minmax.ll
The file was modifiedllvm/lib/CodeGen/ExpandReductions.cpp
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vecreduce-addpred.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/X86/load-deref-pred.ll
The file was modifiedllvm/test/CodeGen/AArch64/vecreduce-fmax-legalization.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/AArch64/horizontal.ll
The file was modifiedllvm/include/llvm/CodeGen/BasicTTIImpl.h
The file was modifiedllvm/test/CodeGen/AArch64/vecreduce-add-legalization.ll
The file was modifiedllvm/test/CodeGen/X86/vector-reduce-fmax-nnan.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/reduction_unrolled.ll
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/matrix.mir
The file was modifiedllvm/test/CodeGen/X86/vector-reduce-or-cmp.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/PR40310.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vecreduce-fadd.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/reduction-inloop-uf4.ll
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/wrong-vctp-opcode-liveout.mir
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/reverse_extract_elements.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/reduction-inloop.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/X86/strided_load_cost.ll
The file was modifiedllvm/docs/ReleaseNotes.rst
The file was modifiedmlir/integration_test/Dialect/LLVMIR/CPU/test-vector-reductions-int.mlir
The file was modifiedllvm/test/CodeGen/AArch64/vecreduce-and-legalization.ll
The file was modifiedllvm/include/llvm/IR/Intrinsics.td
The file was modifiedllvm/test/CodeGen/X86/vector-reduce-smax.ll
The file was modifiedllvm/test/CodeGen/AArch64/vecreduce-umax-legalization.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/ARM/mve-gather-scatter-tailpred.ll
The file was modifiedllvm/lib/IR/IRBuilder.cpp
The file was modifiedllvm/test/CodeGen/Generic/expand-experimental-reductions.ll
The file was modifiedllvm/test/Analysis/CostModel/X86/reduce-and.ll
The file was modifiedllvm/test/CodeGen/X86/vector-reduce-and-bool.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/ARM/mve-reduction-predselect.ll
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/reductions.ll
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/vector-reduce-mve-tail.ll
The file was modifiedllvm/test/CodeGen/X86/vector-reduce-xor-bool.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/horizontal.ll
The file was modifiedllvm/test/CodeGen/X86/vector-reduce-and-cmp.ll
The file was modifiedllvm/test/CodeGen/X86/vector-reduce-fmax.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-postinc-lsr.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/vectorize-reorder-reuse.ll
The file was modifiedmlir/include/mlir/Dialect/LLVMIR/LLVMOpBase.td
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/skip-debug.mir
The file was modifiedllvm/test/Analysis/CostModel/X86/reduce-add.ll
The file was modifiedllvm/test/CodeGen/AArch64/arm64-vabs.ll
The file was modifiedllvm/test/Analysis/CostModel/X86/reduce-xor.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vecreduce-mla.ll
The file was modifiedllvm/test/CodeGen/X86/vector-reduce-fmin-nnan.ll
The file was modifiedllvm/test/Analysis/CostModel/ARM/reduce-smax.ll
The file was modifiedmlir/test/Target/llvmir-intrinsics.mlir
The file was modifiedllvm/test/CodeGen/AArch64/aarch64-minmaxv.ll
The file was modifiedllvm/lib/IR/AutoUpgrade.cpp
The file was modifiedllvm/test/CodeGen/X86/vector-reduce-or-bool.ll
The file was modifiedllvm/test/CodeGen/X86/vector-reduce-add.ll
The file was modifiedmlir/integration_test/Dialect/LLVMIR/CPU/test-vector-reductions-fp.mlir
The file was modifiedllvm/test/CodeGen/Thumb2/mve-gather-scatter-tailpred.ll
The file was addedllvm/test/Instrumentation/MemorySanitizer/reduce.ll
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/vctp16-reduce.mir
The file was modifiedmlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVM.cpp
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/used-reduced-op.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/AArch64/gather-cost.ll
The file was modifiedllvm/test/CodeGen/AArch64/sve-fixed-length-fp-reduce.ll
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/no-vpsel-liveout.mir
The file was modifiedllvm/test/Transforms/LoopVectorize/ARM/mve-reductions.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/X86/tail_loop_folding.ll
The file was modifiedllvm/test/CodeGen/AArch64/vecreduce-fadd-legalization.ll
The file was modifiedllvm/test/CodeGen/AArch64/vecreduce-fmul-legalization-strict.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/reassociated-loads.ll
The file was modifiedllvm/test/Assembler/invalid-vecreduce.ll
The file was modifiedllvm/test/CodeGen/X86/vector-reduce-or.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/reorder_repeated_ops.ll
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
The file was modifiedllvm/test/Transforms/LoopVectorize/AArch64/pr33053.ll
The file was modifiedllvm/test/Analysis/CostModel/X86/reduce-umax.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/X86/pr42674.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/horizontal-list.ll
The file was removedllvm/test/Instrumentation/MemorySanitizer/experimental-reduce.ll
The file was modifiedllvm/test/Transforms/InstCombine/vector-reductions.ll
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/vaddv.mir
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/varying-outer-2d-reduction.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/PR35628_1.ll
The file was modifiedllvm/test/CodeGen/X86/vector-reduce-mul.ll
The file was modifiedllvm/test/CodeGen/AArch64/vecreduce-bool.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vecreduce-mul.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vecreduce-fmul.ll
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/wlstp.mir
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/add_reduce.mir
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/cond-vector-reduce-mve-codegen.ll
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/inloop-vpsel-1.mir
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vecreduce-loops.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vecreduce-mlapred.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/AArch64/transpose.ll
The file was modifiedllvm/test/CodeGen/ARM/vecreduce-fmax-legalization-soft-float.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/AArch64/gather-root.ll
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/wrong-liveout-lsr-shift.mir
The file was modifiedllvm/test/Transforms/LoopVectorize/X86/pr35432.ll
The file was modifiedllvm/lib/Target/ARM/ARMTargetTransformInfo.h
The file was modifiedllvm/test/CodeGen/ARM/vecreduce-fadd-legalization-strict.ll
The file was modifiedllvm/test/CodeGen/AArch64/sve-fixed-length-int-reduce.ll
The file was modifiedllvm/test/CodeGen/X86/vector-reduce-umin.ll
The file was modifiedllvm/test/Analysis/CostModel/X86/reduce-smin.ll
The file was modifiedllvm/test/CodeGen/AArch64/vecreduce-fmax-legalization-nan.ll
The file was modifiedllvm/test/Analysis/CostModel/ARM/reduce-umin.ll
The file was modifiedllvm/test/Analysis/CostModel/X86/reduce-or.ll
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/non-masked-load.mir
The file was modifiedllvm/test/Analysis/CostModel/X86/reduce-smax.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/X86/invariant-store-vectorization.ll
The file was modifiedllvm/test/CodeGen/AArch64/vecreduce-fadd-legalization-strict.ll
The file was modifiedllvm/test/CodeGen/X86/vector-reduce-xor.ll
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/reductions-vpt-liveout.mir
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vecreduce-add.ll
The file was modifiedllvm/test/CodeGen/X86/vector-reduce-and.ll
The file was modifiedllvm/test/CodeGen/X86/vector-reduce-fmul.ll
The file was modifiedllvm/lib/Target/ARM/MVETailPredication.cpp
The file was modifiedllvm/test/Analysis/CostModel/X86/reduce-umin.ll
The file was modifiedllvm/test/CodeGen/X86/vector-reduce-fadd-fast.ll
The file was modifiedllvm/test/CodeGen/AArch64/neon-dot-product.ll
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/nested.ll
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/tail-pred-reduce.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/reduction.ll
The file was modifiedllvm/test/Analysis/CostModel/AArch64/vector-reduce.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/ARM/tail-folding-not-allowed.ll
The file was modifiedllvm/test/Analysis/CostModel/ARM/reduce-add.ll
The file was modifiedllvm/test/CodeGen/X86/vector-reduce-umax.ll
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/mve-tail-data-types.ll
The file was modifiedmlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
The file was modifiedmlir/test/Conversion/VectorToLLVM/vector-to-llvm.mlir
The file was modifiedllvm/test/Transforms/InstSimplify/ConstProp/vecreduce.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/undef_vect.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/scheduling.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/PR35628_2.ll
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/wrong-vctp-operand-liveout.mir
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vmaxv.ll
The file was modifiedllvm/test/CodeGen/X86/haddsub.ll
The file was modifiedllvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
The file was modifiedllvm/test/Analysis/CostModel/X86/reduce-fmin.ll
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/tp-multiple-vpst.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/remark_horcost.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
The file was modifiedllvm/lib/Analysis/ConstantFolding.cpp
The file was modifiedllvm/test/Analysis/CostModel/ARM/reduce-umax.ll
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/vector-arith-codegen.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/ARM/tail-fold-multiple-icmps.ll
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
The file was modifiedllvm/test/Analysis/CostModel/ARM/reduce-smin.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/compare-reduce.ll
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/vctp-add-operand-liveout.mir
The file was modifiedllvm/docs/LangRef.rst
The file was modifiedllvm/test/Analysis/CostModel/X86/reduce-mul.ll
Commit 69daa368cad34c3cff7e170d2a32652ce31ca9e5 by sam.mccall
[clangd] Disambiguate overloads of std::move for header insertion.

Up until now, we relied on matching the filename.
This depends on unstable details of libstdc++ and doesn't work well on other
stdlibs. Also we'd like to remove it (see D88204).

Differential Revision: https://reviews.llvm.org/D88885
The file was modifiedclang-tools-extra/clangd/index/SymbolCollector.cpp
The file was modifiedclang-tools-extra/clangd/unittests/SymbolCollectorTests.cpp
The file was modifiedclang-tools-extra/clangd/index/SymbolCollector.h
The file was modifiedclang-tools-extra/clangd/index/CanonicalIncludes.cpp
The file was modifiedclang-tools-extra/clangd/unittests/CanonicalIncludesTests.cpp
Commit e72cfd938f21bd194a2d2f45a4f8ee7d94d33bf8 by Amara Emerson
Rename the VECREDUCE_STRICT_{FADD,FMUL} SDNodes to VECREDUCE_SEQ_{FADD,FMUL}.

The STRICT was causing unnecessary confusion. I think SEQ is a more accurate
name for what they actually do, and the other obvious option of "ORDERED"
has the issue of already having a meaning in FP contexts.

Differential Revision: https://reviews.llvm.org/D88791
The file was modifiedllvm/include/llvm/CodeGen/ISDOpcodes.h
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp
Commit 7361ce73efcfba8ac12b7dc1f57a6291ea961c41 by Stanislav.Mekhanoshin
[AMDGPU] Use default zero flag operands in flat scratch

This is no-op so far because we do not select these yet.

Differential Revision: https://reviews.llvm.org/D88920
The file was modifiedllvm/lib/Target/AMDGPU/FLATInstructions.td
Commit a73166a45204378f6f8b4a6ff2d962f0ff56d51e by flo
[LAA] Use DL to get element size for bound computation.

Currently LAA uses getScalarSizeInBits to compute the size of an element
when computing the end bound of an access.

This does not work as expected for pointers to pointers, because
getScalarSizeInBits will return 0 for pointer types.

By using DataLayout to get the size of the element we can also correctly
handle pointer element types.

Note the changes to the existing test, which seems to also use the wrong
offset for the end.

Fixes PR47751.

Reviewed By: anemet

Differential Revision: https://reviews.llvm.org/D88953
The file was modifiedllvm/test/Transforms/LoopVectorize/X86/pr23997.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/runtime-check-pointer-element-type.ll
The file was modifiedllvm/lib/Analysis/LoopAccessAnalysis.cpp
Commit dd2f79ed4422860ea9507e17cc33f1262d09db50 by hubert.reinterpretcast
[test][MC] Use %python in llvm/test/MC/COFF/bigobj.py

... instead of the one on the $PATH.

Reviewed By: hubert.reinterpretcast

Differential Revision: https://reviews.llvm.org/D88986
The file was modifiedllvm/test/MC/COFF/bigobj.py
Commit 45014ce36f28698bb0e84ecad3a3ea7da4f476ad by Stanislav.Mekhanoshin
[AMDGPU] Add tied operand to d16 scratch loads

This is still no-op because there is no selection for these
opcodes.

Differential Revision: https://reviews.llvm.org/D88927
The file was modifiedllvm/lib/Target/AMDGPU/FLATInstructions.td
Commit c1247f0e74bff00ab9a896a8132318916f3e84a7 by Amara Emerson
[mlir] Fix build after 322d0afd875df66b36e4810a2b95c20a8f22ab9b due to change in intrinsic overloads.

I'd forgottent to run the mlir tests after removing the scalar input overload
on the fadd/fmul reductions. This is a quick fix for the mlir bot.
The file was modifiedmlir/include/mlir/Dialect/LLVMIR/LLVMOpBase.td
The file was modifiedmlir/test/Target/llvmir-intrinsics.mlir
Commit 42d91438ad27fda6df9499ae2a99b569fc6e2f75 by llvm-dev
[CodeGen][X86] Cleanup labels on some sse/avx intrinsics tests. NFCI.

Add some missing CHECK-LABEL lines.

Remove leading '@' so it'll be possible to match against c and c++ builds in a future patch.
The file was modifiedclang/test/CodeGen/X86/avx-builtins.c
The file was modifiedclang/test/CodeGen/X86/sse-builtins.c
The file was modifiedclang/test/CodeGen/X86/avx-shuffle-builtins.c
The file was modifiedclang/test/CodeGen/X86/avx-builtins-constrained-cmp.c
The file was modifiedclang/test/CodeGen/X86/sse-builtins-constrained-cmp.c
The file was modifiedclang/test/CodeGen/X86/sse2-builtins.c
Commit e9af30c31e5f1e0430c0f3b25453891410a34191 by llvm-dev
Fix Wdocumentation warnings due to case mismatch. NFCI.
The file was modifiedllvm/include/llvm/CodeGen/CalcSpillWeights.h
Commit 03280055154d09940a72d77f11c76dc7a741ba32 by llvm-dev
Fix MSVC "not all control paths return a value" warning. NFCI.
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyAsmPrinter.cpp
Commit 42ffba051894a66cf6d7b9a357e765a392d983ed by listmail
Add a clarifying a comment on CastInst::isNoopCast

I made exactly the mistake described, so document the precondition.  It would be better to have an assert, but there is (currently) no "castIsValid" with purely type arguments.
The file was modifiedllvm/include/llvm/IR/InstrTypes.h
Commit 9c09e2055ee4d4e3b26e393ab460635825a79538 by hokein.wu
[clangd] Add a NewName optional parameter to clangdServer::prepareRename.

If the NewName is provided, prepareRename would perform a name
validation.

The motivation is to allow our internal embeder implement the customized
"canRenameInto" functionality on top of prepareRename.

Differential Revision: https://reviews.llvm.org/D88881
The file was modifiedclang-tools-extra/clangd/ClangdServer.h
The file was modifiedclang-tools-extra/clangd/ClangdServer.cpp
The file was modifiedclang-tools-extra/clangd/unittests/SyncAPI.cpp
The file was modifiedclang-tools-extra/clangd/unittests/RenameTests.cpp
The file was modifiedclang-tools-extra/clangd/ClangdLSPServer.cpp
The file was modifiedclang-tools-extra/clangd/unittests/SyncAPI.h
Commit ea274be72be1cbc37075412dbc455ef245ac0a75 by douglas.yung
Add REQUIRES: x86-registered-target to test as it was failing on build bots without x86.

This should fix the failure on http://lab.llvm.org:8011/#/builders/91/builds/30
The file was modifiedllvm/test/DebugInfo/dwarfdump-debug-frame-simple.test
Commit a85e43e99676811a25f495169ee9fc9f11815a17 by RonakNilesh.Chauhan
Remove D80713.diff added in 528057c19755ad842052fba3a42dcbf7deafc6de

The diff file was added by mistake.
The file was removedD80713.diff
Commit fe0197e194a64f950602fb50736b6648a9e5b2a9 by llvm-dev
[InstCombine] Add checks for and(logicalshift(zext(x),undef),y) cases

Prep work before some cleanup in narrowMaskedBinOp
The file was modifiedllvm/test/Transforms/InstCombine/and-narrow.ll
Commit 365ef499d6005d5842d5e87f9dafe63c2508c881 by mcinally
[SVE] Add legalisation tests to sve-fixed-length-fp-reduce.ll
The file was modifiedllvm/test/CodeGen/AArch64/sve-fixed-length-fp-reduce.ll
Commit 34cd06a9b3bddaa7a989c606bbf1327ee651711c by rahmanl
[BasicBlockSections] Make sure that the labels for address-taken blocks are emitted after switching the seciton.

Currently, AsmPrinter code is organized in a way in which the labels of address-taken blocks are emitted in the previous section, which makes the relocation incorrect.
This patch reorganizes the code to switch to the basic block section before handling address-taken blocks.

Reviewed By: snehasish, MaskRay

Differential Revision: https://reviews.llvm.org/D88517
The file was modifiedllvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
The file was addedllvm/test/CodeGen/X86/basic-block-sections-blockaddress-taken.ll
Commit ac2018da616c0080785c4bc16307d98c5ebbffe7 by mtrofin
[NFC][MLInliner] Getters should return by reference
The file was modifiedllvm/lib/Analysis/DevelopmentModeInlineAdvisor.cpp
Commit ef8b4e4fcd687f66ef0271d1257075f1f53dd34b by listmail
Add validity assert on entry to CastInst::isNoopCast [NFC]

This required some minor code reorganization to have a version of castIsValid which worked purely in terms of types.
The file was modifiedllvm/lib/IR/Instructions.cpp
The file was modifiedllvm/include/llvm/IR/InstrTypes.h
Commit 4065a0d98f675595cdf568bae9bbd872de51fcba by ajcbik
[mlir] [sparse] Rename getSparseMatrix to getMatrix

Rationale:
More consistent with the other names. Also forward looking to reading
in other kinds of matrices. Also fixes lint issue on hard-coded %llu.

Reviewed By: penpornk

Differential Revision: https://reviews.llvm.org/D89005
The file was modifiedmlir/integration_test/Sparse/CPU/matrix-market-example.mlir
The file was modifiedmlir/lib/ExecutionEngine/SparseUtils.cpp
Commit 40a24541029357543ae47664a68a44710e6fee84 by gclayton
Add regular expressions to and DWARF Call Frame Information tests in case the architecture specific target is not compiled into LLVM.

This should fix any build bots that avoid compiling some architectures into llvm after https://reviews.llvm.org/D88767.

Differential Revision: https://reviews.llvm.org/D88940
The file was modifiedllvm/test/DebugInfo/dwarfdump-debug-frame-simple.test
Commit da48fe1732fcd87005ca22745f930b97ab93f365 by rnk
[NPM] Port strip nonlinetable debuginfo pass to the new pass manager

Fixes a few tests in llvm/test/Transforms/Utils.

Differential Revision: https://reviews.llvm.org/D88762
The file was addedllvm/include/llvm/Transforms/Utils/StripNonLineTableDebugInfo.h
The file was modifiedllvm/lib/Passes/PassRegistry.def
The file was modifiedllvm/include/llvm/Transforms/Utils.h
The file was modifiedllvm/lib/Passes/PassBuilder.cpp
The file was modifiedllvm/include/llvm/InitializePasses.h
The file was modifiedllvm/lib/Transforms/Utils/StripNonLineTableDebugInfo.cpp
The file was modifiedllvm/lib/Transforms/Utils/Utils.cpp
The file was modifiedllvm/test/Transforms/Util/strip-nonlinetable-debuginfo-cus.ll
Commit 940d7aaea958fb343c7a72de89157aed2dc548de by rnk
Port StripGCRelocates pass to NPM

Fixes one test under NPM

Differential Revision: https://reviews.llvm.org/D88766
The file was modifiedllvm/lib/Transforms/Utils/Utils.cpp
The file was modifiedllvm/test/Transforms/Util/strip-gc-relocates.ll
The file was addedllvm/include/llvm/Transforms/Utils/StripGCRelocates.h
The file was modifiedllvm/lib/Transforms/Utils/StripGCRelocates.cpp
The file was modifiedllvm/lib/Passes/PassBuilder.cpp
The file was modifiedllvm/include/llvm/InitializePasses.h
The file was modifiedllvm/lib/Passes/PassRegistry.def
Commit 88afb6e86774c7d2ffe9385714e7810ea50636d2 by pklausler
[flang] Semantic checks for bad usage of whole assumed-size arrays

The semantics pass currently checks for several constraints
that apply to the use of whole assumed-size arrays in various
contexts, but C1002 wasn't really implemented.  This patch
implements C1002 by disallowing the use of whole assumed-size
arrays in expressions and variables unless specifically
allowed by the context.  This centralizes the error reporting,
which has been improved with a link to the array's declaration.

Differential revision: https://reviews.llvm.org/D88691
The file was modifiedflang/include/flang/Semantics/expression.h
The file was modifiedflang/lib/Semantics/expression.cpp
The file was modifiedflang/lib/Semantics/check-io.cpp
The file was modifiedflang/test/Semantics/io03.f90
The file was modifiedflang/lib/Semantics/assignment.cpp
The file was modifiedflang/test/Semantics/assign04.f90
Commit 297655c123b3ae612f681e936f97818f2a899de6 by mtrofin
[NFC][regalloc] Use MCRegister instead of unsigned in InterferenceCache

Also changed users of APIs.

Differential Revision: https://reviews.llvm.org/D88930
The file was modifiedllvm/lib/CodeGen/RegAllocGreedy.cpp
The file was modifiedllvm/lib/CodeGen/InterferenceCache.h
The file was modifiedllvm/lib/CodeGen/InterferenceCache.cpp
Commit bd5fe7b010ea0d6c4b1e5e3740085f5eabf7def6 by minyihh
[M680x0] Add google/benchmark's CycleTimer support for M68K

This is a cherrypick of the upstream fix commit ffe1342 onto
`llvm/utils/benchmark` and `libcxx/utils/google-benchmark`.
This adds CycleTimer implementation for M680x0, which simply
uses `gettimeofday` same as MIPS.

Differential Review: https://reviews.llvm.org/D88868
The file was modifiedllvm/utils/benchmark/src/cycleclock.h
The file was modifiedlibcxx/utils/google-benchmark/src/cycleclock.h
The file was modifiedllvm/utils/benchmark/AUTHORS
The file was modifiedlibcxx/utils/google-benchmark/README.LLVM
The file was modifiedllvm/utils/benchmark/README.LLVM
The file was modifiedlibcxx/utils/google-benchmark/CONTRIBUTORS
The file was modifiedlibcxx/utils/google-benchmark/AUTHORS
The file was modifiedllvm/utils/benchmark/CONTRIBUTORS
Commit 81b11c91070f3a969b64b2c2e6011b02450fa75f by jingham
Fix a macOS build break caused by 3dfb94986170.
The file was modifiedlldb/source/Plugins/Platform/MacOSX/objcxx/PlatformiOSSimulatorCoreSimulatorSupport.mm
Commit 8da0df3d6dcc0dd42740be60b0da4ec201190904 by Louis Dionne
[libc++] Remove unused includes of Availability.h

Since ebaf1d5e2b, the macros defined in <Availability.h> are not used
anymore.
The file was modifiedlibcxx/include/locale
The file was modifiedlibcxx/include/iterator
Commit d56fdc8e95df3431b67d33fe4b03a08406897339 by pklausler
[flang][msvc] Avoid dependence on long double

MSVC does not support a distinct 80-bit extended precision
"long double" type.  Rework the I/O runtime to avoid using
native C/C++ type names.  Centralize the mappings between
the KIND= type parameters of REAL and their binary precisions
in the common real.h header file, and use KIND type parameter
values rather than binary precisions for clarity where
appropriate.

This patch, if successful, should obviate the need for
Differential review D88511.

(This patch anticipates a successful review of D88688, which
fixes the function that maps each kind of real to its maximum
number of significant decimal digits.)

Differential revision: https://reviews.llvm.org/D88752
The file was modifiedflang/include/flang/Decimal/binary-floating-point.h
The file was modifiedflang/runtime/edit-input.cpp
The file was modifiedflang/runtime/edit-input.h
The file was modifiedflang/include/flang/Evaluate/type.h
The file was modifiedflang/runtime/edit-output.h
The file was modifiedflang/runtime/descriptor-io.h
The file was modifiedflang/include/flang/Common/real.h
The file was modifiedflang/runtime/edit-output.cpp
Commit 4d5b1de40eccc7ffcfb859cef407e5f30bee77f8 by tejohnson
[sanitizer] Skip stack symbolization when not required for print format

Adds a check to avoid symbolization when printing stack traces if the
stack_trace_format flag does not need it. While there is a symbolize
flag that can be turned off to skip some of the symbolization,
SymbolizePC() still unconditionally looks up the module name and offset.
Avoid invoking SymbolizePC() at all if not needed.

This is an efficiency improvement when dumping all stack traces as part
of the memory profiler in D87120, for large stripped apps where we want
to symbolize as a post pass.

Differential Revision: https://reviews.llvm.org/D88361
The file was modifiedcompiler-rt/lib/hwasan/hwasan_report.cpp
The file was modifiedcompiler-rt/test/sanitizer_common/TestCases/print-stack-trace.cpp
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_symbolizer_report.cpp
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_stacktrace_libcdep.cpp
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_stacktrace_printer.h
The file was modifiedcompiler-rt/lib/sanitizer_common/tests/sanitizer_stacktrace_printer_test.cpp
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_stacktrace_printer.cpp
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_report.cpp
Commit c10248829357fd90030ba091e01b6c253e5848f1 by d.c.ddcc
Add test for disabling Dead Virtual Function Elimination

Differential Revision: https://reviews.llvm.org/D88349
The file was modifiedclang/test/CodeGenCXX/virtual-function-elimination.cpp
Commit 68e1a8d20795802077987529e1268c184d749564 by craig.topper
[X86] Defer the creation of LCMPXCHG16B_SAVE_RBX until finalize-isel

We need to use LCMPXCHG16B_SAVE_RBX if RBX/EBX is being used as
the frame pointer. We previously checked for this during type
legalization, but that's too early to know for sure if the base
pointer is needed.

This patch adds a new pseudo instruction to emit from isel that
uses a virtual register for the RBX input. Then we use the custom
inserter hook to emit LCMPXCHG16B if RBX isn't needed as a base
pointer or LCMPXCHG16B_SAVE_RBX if it is.

Fixes PR42064.

Reviewed By: pengfei

Differential Revision: https://reviews.llvm.org/D88808
The file was modifiedllvm/lib/Target/X86/X86InstrInfo.td
The file was modifiedllvm/lib/Target/X86/X86ExpandPseudo.cpp
The file was addedllvm/test/CodeGen/X86/pr42064.ll
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.h
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/lib/Target/X86/X86InstrCompiler.td
Commit 35cb45c533fb76dcfc9f44b4e8bbd5d8a855ed2a by anna
[ImplicitNullChecks] Support complex addressing mode

The pass is updated to handle loads through complex addressing mode,
specifically, when we have a scaled register and a scale.
It requires two API updates in TII which have been implemented for X86.

See added IR and MIR testcases.

Tests-Run: make check
Reviewed-By: reames, danstrushin
Differential Revision: https://reviews.llvm.org/D87148
The file was modifiedllvm/include/llvm/CodeGen/TargetInstrInfo.h
The file was modifiedllvm/test/CodeGen/X86/implicit-null-check.ll
The file was modifiedllvm/test/CodeGen/X86/implicit-null-checks.mir
The file was modifiedllvm/lib/Target/AArch64/AArch64InstrInfo.cpp
The file was modifiedllvm/lib/Target/AArch64/AArch64InstrInfo.h
The file was modifiedllvm/lib/Target/X86/X86InstrInfo.cpp
The file was modifiedllvm/test/CodeGen/X86/implicit-null-check-negative.ll
The file was modifiedllvm/lib/CodeGen/ImplicitNullChecks.cpp
The file was modifiedllvm/lib/Target/X86/X86InstrInfo.h
Commit 80ef4126b100fd3c9823b20ac641fe76c4d5a11f by phosek
[libcxx] Use runtime rather then compile-time glibc version check

glibc supports versioning, so it's possible to build against older
version and run against newer version. This is sometimes relied on
in practice, e.g. in Fuchsia build we build against older sysroot
(equivalent to Ubuntu Trusty) to cover the broadest possible range
of host systems, but that doesn't necessarily match the system that
binary is going to run on which may have newer version, in which case
the compile test used in curr_symbol is going to fail. Using runtime
check is more reliable. This is a follow up to D56702 which addressed
one instance, this patch addresses all of the remaining ones.

Differential Revision: https://reviews.llvm.org/D88188
The file was modifiedlibcxx/test/std/localization/locale.categories/category.monetary/locale.moneypunct.byname/thousands_sep.pass.cpp
The file was modifiedlibcxx/test/support/platform_support.h
The file was modifiedlibcxx/test/std/localization/locale.categories/category.monetary/locale.moneypunct.byname/decimal_point.pass.cpp
The file was modifiedlibcxx/test/std/localization/locale.categories/category.monetary/locale.money.put/locale.money.put.members/put_long_double_fr_FR.pass.cpp
The file was modifiedlibcxx/test/std/localization/locale.categories/category.monetary/locale.money.get/locale.money.get.members/get_long_double_fr_FR.pass.cpp
The file was modifiedlibcxx/test/std/localization/locale.categories/facet.numpunct/locale.numpunct.byname/thousands_sep.pass.cpp
The file was modifiedlibcxx/test/std/localization/locale.categories/category.monetary/locale.moneypunct.byname/curr_symbol.pass.cpp
Commit d9881e6e27bc7fa882742b13d43bb6d491dfc1ea by Yuanfang Chen
[IRMover] Avoid materializing global value that belongs to not-yet-linked module

We saw the same assertion failure mentioned here
https://bugs.llvm.org/show_bug.cgi?id=42063 in our internal tests.

The failure happens in the same circumstance as D47898 and D66814 where
uniqueing of DICompositeTypes causes `Mapper::mapValue` to be called on
GlobalValues(`G`) from a not-yet-linked module(`M`). The following type-mapping for
`G` may not complete correctly (fail to unique types etc.  depending on the
the complexity of the types) because IRLinker::computeTypeMapping is not done for `M`
in this path.

D47898 and D66814 fixed some type-mapping issue after Mapper::mapValue
is called on `G`. However, it seems it did not handle some complex cases. I
think we should delay linking globals like `G` until its owing module is
linked. In this way, we could save unnecessary type mapping and prune
these corner cases. It is also supposed to reduce the total number of structs
ending up in the combined module.

D47898 is reverted (its test is kept) because it regresses the test case here.
D66814 could also be reverted (the `check-all` looks good). But it looks reasonable
anyway, so I thought I should keep it.

Also tested the patch with clang self-host regularLTO/ThinLTO build, things look
good as well.

Reviewed By: tejohnson

Differential Revision: https://reviews.llvm.org/D87001
The file was addedllvm/test/LTO/X86/Inputs/type-mapping-bug4_1.ll
The file was addedllvm/test/LTO/X86/type-mapping-bug4.ll
The file was modifiedllvm/lib/Linker/IRMover.cpp
The file was addedllvm/test/LTO/X86/Inputs/type-mapping-bug4_0.ll
Commit 93db4a8ce6261dc36e233f5e0b60cfbb3ea1bd8f by gcmn
Remove unused variables

These are unused since
https://reviews.llvm.org/rG35cb45c533fb76dcfc9f44b4e8bbd5d8a855ed2a
causing `-Wunused` warnings.

Differential Revision: https://reviews.llvm.org/D89022
The file was modifiedllvm/lib/CodeGen/ImplicitNullChecks.cpp
Commit dc3dba7dbdab207a8e55171860d3caa712aa5dfc by craig.topper
[X86] Move findDeadCallerSavedReg() into X86RegisterInfo

The findDeadCallerSavedReg() function has utility outside of X86FrameLowering.cpp

Differential Revision: https://reviews.llvm.org/D88924
The file was modifiedllvm/lib/Target/X86/X86RegisterInfo.h
The file was modifiedllvm/lib/Target/X86/X86RegisterInfo.cpp
The file was modifiedllvm/lib/Target/X86/X86FrameLowering.cpp
Commit ad4313fc833d2a1b5ae4b3ffe92366ba61a1232c by craig.topper
[X86] Fix bug in -mlvi-cfi that may clobber a live register

Fix for this bug: https://bugs.llvm.org/show_bug.cgi?id=47740

The fix uses the existing findDeadCallerSavedReg() function instead of a hacky heuristic to find a scratch register to clobber.

Differential Revision: https://reviews.llvm.org/D88925
The file was modifiedllvm/test/CodeGen/X86/lvi-hardening-ret.ll
The file was modifiedllvm/lib/Target/X86/X86LoadValueInjectionRetHardening.cpp
Commit 31611721686760fe59c91a84b025e4dee94d1662 by yhs
BPF: fix incorrect DAG2DAG load optimization

Currently, bpf backend Instruction section DAG2DAG phase has
an optimization to replace loading constant struct memeber
or array element with direct values. The reason is that these
locally defined struct or array variables may have their
initial values stored in a readonly section and early bpf
ecosystem is not able to handle such cases.

Bpf ecosystem now can not only handle readonly sections,
but also global variables. global variable can also have
initialized data and global variable may or may not be constant,
i.e., global variable data can be put in .data section or .rodata
section. This exposed a bug in DAG2DAG Load optimization
as it did not check whether the global variable is constant
or not.

This patch fixed the bug by checking whether global variable,
representing the initial data, is constant or not and will not
do optimization if it is not a constant.

Another bug is also fixed in this patch to check whether
the load is simple (not volatile/atomic) or not. If it is
not simple, we will not do optimization. To summary for
globals:
   - struct t var = { ... } ;  // no load optimization
   - const struct t var = { ... }; // load optimization is possible
   - volatile const struct t var = { ... }; // no load optimization

Differential Revision: https://reviews.llvm.org/D89021
The file was addedllvm/test/CodeGen/BPF/rodata_7.ll
The file was addedllvm/test/CodeGen/BPF/rodata_6.ll
The file was modifiedllvm/lib/Target/BPF/BPFISelDAGToDAG.cpp
Commit a4961f0d8a2ec91e209b9d3ea7b03acac4f5a8b1 by thakis
Revert "[Support][unittests] Enforce alignment in ConvertUTFTest"

This reverts commit 53b3873cf428fd78f1d92504cc20adf11181ead7.
Seems to break SupportTests.exe's
ConvertUTFTest.UTF16WrappersForConvertUTF16ToUTF8String
on Windows.
The file was modifiedllvm/unittests/Support/ConvertUTFTest.cpp
The file was modifiedllvm/lib/Support/ConvertUTFWrapper.cpp
Commit 6dcbea877bffcd5871cf6002616a5dcdfece0b86 by aeubanks
[NewPM] Use PassInstrumentation for -verify-each

This removes "VerifyEachPass" parameters from a lot of functions which is nice.

Don't verify after special passes or VerifierPass.

This introduces verification on loop and cgscc passes, verifying the corresponding function/module.

Reviewed By: ychen

Differential Revision: https://reviews.llvm.org/D88764
The file was modifiedllvm/test/Other/new-pass-manager.ll
The file was modifiedllvm/tools/llvm-opt-fuzzer/llvm-opt-fuzzer.cpp
The file was modifiedllvm/tools/opt/NewPMDriver.cpp
The file was addedllvm/test/Other/new-pass-manager-verify-each.ll
The file was modifiedllvm/include/llvm/Passes/PassBuilder.h
The file was modifiedllvm/unittests/IR/PassBuilderCallbacksTest.cpp
The file was modifiedllvm/lib/Passes/StandardInstrumentations.cpp
The file was modifiedllvm/include/llvm/Passes/StandardInstrumentations.h
The file was modifiedllvm/lib/Passes/PassBuilder.cpp
The file was modifiedpolly/lib/Support/RegisterPasses.cpp
Commit a5ef2e0a1e3bf5a76b0c170ca7791564ab1a8375 by mkazantsev
Return "[SCEV] Prove implicaitons via AddRec start"

The initial version of the patch was reverted because it missed the check that
the predicate being proved is actually guarded by this check on 1st iteration.
If it was not executed on 1st iteration (but possibly executes after that), then
it is incorrect to use reasoning about IV start to prove it.

Added the test where the miscompile was seen. Unfortunately, my attempts
to reduce it with bugpoint did not succeed; it can further be reduced when
we understand how to do it without losing the initial bug's notion.

Returning assuming the miscompiles are now gone.

Differential Revision: https://reviews.llvm.org/D88208
The file was modifiedllvm/unittests/Analysis/ScalarEvolutionTest.cpp
The file was addedllvm/test/Transforms/IndVarSimplify/addrec_no_exec_on_every_iteration.ll
The file was modifiedllvm/lib/Analysis/ScalarEvolution.cpp
The file was modifiedllvm/include/llvm/Analysis/ScalarEvolution.h
Commit b4ffc40d622bb2647852284c78c5e83346f2d630 by sguelton
Update documentation and implementation of stage3 build

Have the build work out of the box by forcing an LLD build.

That way, we don't require an external LTO-aware linker,
as we build one.

Also remove reference to the seemingly dead builder.

Differential Revision: https://reviews.llvm.org/D88990
The file was modifiedclang/cmake/caches/3-stage-base.cmake
The file was modifiedllvm/docs/AdvancedBuilds.rst
Commit 9b2b32743d71311eeb713ace2550c0039e2491a2 by martin
[LLD] [ELF] Fix up a comment regarding the --wrap option. NFC.

Add missing leading underscores to the __wrap_<symbol> and
__real_<symbol> names.

Differential Revision: https://reviews.llvm.org/D89008
The file was modifiedlld/ELF/Driver.cpp
Commit 9b58b0c06e6906583a1225e5c8c51dda9cbc7cfd by martin
[LLD] Ignore ELF tests when ld.lld defaults to MinGW

Follow-up to D87418.

Differential Revision: https://reviews.llvm.org/D88991
The file was modifiedlld/test/lit.cfg.py
The file was modifiedlld/test/CMakeLists.txt
The file was modifiedlld/test/lit.site.cfg.py.in
Commit 81b4f3380b01c95ebc821bfafe1a304520ed39be by david.green
[ARM] Replace llvm.experimental.vector.reduce.smax with llvm.vector.reduce.smax. NFC

This fixes up some newer tests after D88787.
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vmaxv-vminv-scalar.ll
Commit 498f89d1887752a207568311a9e657025ed4eeea by david.green
[LV] Collect dead induction truncates

We currently collect the ICmp and Add from an induction variable,
marking them as dead so that vplan values are not created for them. This
extends that to include any single use trunk from the ICmp, which allows
the Add to more readily be removed too.

This can help with costing vplan nodes, as the ICmp and Add are more
reliably removed and are not double-counted.

Differential Revision: https://reviews.llvm.org/D88873
The file was modifiedllvm/lib/Transforms/Vectorize/LoopVectorize.cpp
The file was modifiedllvm/test/Transforms/LoopVectorize/X86/pr36524.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/ARM/tail-folding-not-allowed.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/followup.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/X86/tail_loop_folding.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/if-pred-stores.ll