Changes

Summary

  1. [trace] Add a TraceCursor class (details)
  2. [scudo] Enabled MTE before the first allocator (details)
  3. [NFC][trace] remove dead function (details)
  4. [scudo] Fix use of ScopedDisableMemoryTagChecks in test (details)
  5. [scudo] Avoid ifdef in test (details)
  6. [scudo] Fix test on arch without MTE (details)
  7. tsan: fix mmap atomicity (details)
  8. tsan: re-enable mmap_stress.cpp test (details)
  9. [SLP] Add some tests that require memory runtime checks. (details)
  10. Partial Reapply "[DebugInfo] Use variadic debug values to salvage BinOps and GEP instrs with non-const operands" (details)
  11. [hwasan] print exact mismatch offset for short granules. (details)
  12. [MLIR][OpenMP]Basic OpenMP target operation (details)
  13. [RISCV] Lower RVV vector SELECTs to VSELECTs (details)
  14. [analyzer] Added a test case for PR46264 (details)
  15. [mlir][linalg][python] Add attribute support to the OpDSL. (details)
  16. [NFC][AArch64] Un-autogenerate swifterror.ll tests (details)
  17. [SimplifyCFG] Tail-merging all blocks with `ret` terminator (details)
  18. [GlobalISel] NFC: Change LLT::vector to take ElementCount. (details)
  19. [X86] Fold nested select_cc to select (cmp*ge/le Cond0, Cond1), LHS, Y) (details)
  20. [Clang] XFAIL sanitize-coverage-old-pm.c on 32bit Armv8l (details)
  21. [mlir][Linalg] Add basic lowering test to library calls (details)
  22. [CostModel][AArch64] Improve cost model for vector reduction intrinsics (details)
  23. [SCEV] Generalize MatchBinaryAddToConst to support non-add expressions. (details)
  24. [X86] Exclude invalid element types for bitcast/broadcast folding. (details)
  25. [MCA] Allow unlimited cycles in the timeline view (details)
  26. [NFC][SimplifyCFG] Add basic test for tail-merging `resume` function terminators (details)
  27. [ARM] Extend narrow values to allow using truncating scatters (details)
  28. [DebugInfo] Enable variadic debug value salvaging (details)
  29. [mlir][linalg][python] Add attribute support to the YAML codegen. (details)
  30. [LV] Support sinking recipe in replicate region after another region. (details)
  31. [GlobalISel] Describe undefined values for G_SBFX/G_UBFX operands (details)
  32. [lldb][AArch64] Add class for managing memory tags (details)
  33. [mlir][linalg][python] Add shape-only tensor support to OpDSL. (details)
  34. [gn build] Remove an unneeded -I flag (details)
  35. [lldb][AArch64] Add memory-tagging qSupported feature (details)
  36. Add documentation for compound assignment and type conversion of matrix types (details)
  37. [lldb][AArch64] Fix unpack tags test case (details)
  38. [AArch64] Precommit extending load tests for D104782. NFC. (details)
  39. [mlir][Linalg] Add support for scf::ForOp in comprehensive bufferization (7/n) (details)
  40. [gn build] Fix a comment typo and a comment copy-pasto (details)
  41. [VPlan] Fix indentation of check lines in sinking test (NFC). (details)
  42. [lldb][AArch64] Add memory tag reading to lldb-server (details)
  43. [MLIR][LLVM] Expose type translator from LLVM to MLIR Type (details)
  44. [LLD][LLVM] CG Graph profile using relocations (details)
  45. [lldb][AArch64] Add MTE memory tag reading to lldb (details)
  46. [mlir] remove repeated use of TypeToLLVM.cpp in cmake targets (details)
  47. [lldb][AArch64] Add "memory tag read" command (details)
  48. Update Bazel build for 929189a499 (details)
  49. [AsmParser][SystemZ][z/OS] Support for emitting labels in upper case (details)
  50. [CMake] Don't LTO optimize targets on Darwin either (details)
  51. [TargetLowering][ARM] Don't alter opaque constants in TargetLowering::ShrinkDemandedConstant. (details)
  52. [InstSimplify][test] move tests that don't require InstCombine; NFC (details)
  53. [InstSimplify][test] add test for extract of splat; NFC (details)
  54. [MLIR][SCF] Inline single block ExecuteRegionOp (details)
  55. Precommit tests for context senstive attribute dropping (details)
  56. [InstSimplify] move extract with undef index fold; NFC (details)
  57. [AArch64][v8.3A] Avoid inserting implicit landing pads (PACI*SP) (details)
  58. [NFC][SimplifyCFG] Revisit tail-merge-resume.ll test (details)
  59. [libcxx][ranges] Add contiguous_range. (details)
  60. [libcxx][nfc] Add one more test case for contiguous_range. (details)
  61. Attempt to disable MLIR JIT tests on PowerPC to unbreak the bot (details)
  62. [libcxx][NFC] removes `swap`'s dependency on `swap_ranges` (details)
  63. [libcxx][modularisation] moves <utility> content out of <type_traits> (details)
  64. [gn build] Port 6adbc83ee9e4 (details)
  65. [libcxx][ranges] Enable borrowed range for drop view when T has borrowing enabled. (details)
  66. [libcxx][nfc] Update the synopsis comment in <ranges> to include drop_view. (details)
  67. [SimplifyCFG] Tail-merging all blocks with `resume` terminator (details)
  68. [AMDGPU] Add gfx1035 target (details)
  69. [NFC][Codegen] Autogenerate Thumb2/setjmp_longjmp.ll test (details)
  70. [CodeGen] Don't create fake FunctionDecls when generating block/byref (details)
  71. [clang-format][NFC] Fix documentation (details)
  72. [BuildLibCalls/SimplifyLibCalls]  Fix attributes on created CallInst instructions. (details)
  73. [InstCombine] Make varargs cast transform compatible with opaque ptrs (details)
  74. [PowerPC] Combine 64-bit bswap(load) without LDBRX (details)
  75. [Clang-Format] Add ReferenceAlignment directive (details)
  76. [WPD] Don't optimize calls more than once (details)
  77. [OpaquePtr] Introduce option to force all pointers to be opaque pointers (details)
  78. [InstCombine] Make indexed compare fold opaque ptr compatible (details)
  79. [compiler-rt][test] fix zero_page_pc on arm64e (details)
  80. [Polly][ScopInliner] Indicate if the IR has changed. (details)
  81. [lld-macho] Align all cstrings to 16 bytes when deduplicating (details)
  82. [LangRef] clarify the meaning of noimplicitfloat (details)
  83. [Hexagon] Opaquify pointer usage in GEP commoning (details)
  84. [ADT] Rename StringRef case insensitive methods for clarity (details)
  85. [llvm] Rename StringRef _lower() method calls to _insensitive() (details)
  86. [clang] Rename StringRef _lower() method calls to _insensitive() (details)
  87. [clang-tools-extra] Rename StringRef _lower() method calls to _insensitive() (details)
  88. [lld] Rename StringRef _lower() method calls to _insensitive() (details)
  89. [lldb] Rename StringRef _lower() method calls to _insensitive() (details)
  90. [mlir] Rename StringRef _lower() method calls to _insensitive() (details)
  91. [ADT] Complete the StringRef case insensitive method renaming (details)
  92. [LLDB] Fix broken LLDB build due MemoryTagManager.h (details)
  93. [OptTable] Rename PrintHelp to printHelp (details)
  94. Fix typo in TestMemoryTag.py (details)
  95. [ELF] Fix .rela.llvm.call-graph-profile detection after D104080 (details)
  96. Disable check_qmemtags unit tests (details)
  97. [mlir][VectorToGPU] Add conversion for splat constant to MMA const matrix (details)
  98. [mlir][VectorToGPU] Add conversion for scf::For op with Matrix operands (details)
  99. Disable TestAArch64UnwindPAC.py for non PAC targets (details)
  100. [AMDGPU] Reserve AMDGPU ELF e_flags machine 0x43 (details)
  101. [OpenMP][NFC] libomp: fix wrong debug assertion. (details)
  102. [MLIR][Sparse] Refactor lattice code into its own file (details)
  103. [PowerPC] Fix bswap combine for big endian systems (details)
  104. Update Bazel build for 744146f60b (details)
  105. [PowerPC] Fix vec_add for 64-bit on pre-Power7 subtargets (details)
  106. Revert "[Clang] XFAIL sanitize-coverage-old-pm.c on 32bit Armv8l" (details)
  107. Change the flang reshape runtime routine interface to use a result (details)
  108. [libcxx][modularisation] splits `<utility>` into self-contained headers (details)
  109. [gn build] Port 69d5a6662115 (details)
  110. [scudo] Clang-format tests (details)
  111. Revert "[hwasan] print exact mismatch offset for short granules." (details)
  112. Unsupported sanitize-coverage-old-pm.c on 32 bit Arm (details)
  113. [RISCV] Add vget/vset intrinsics for inserting and extracting between different lmuls. (details)
  114. [PowerPC] Add XL compat __compare_and_swap builtins (details)
  115. [PowerPC] Move PPCBranchSelector as close to asm printer as possible (details)
  116. [lld-macho] Move ICF members from InputSection to ConcatInputSection (details)
  117. Revert "[BuildLibCalls/SimplifyLibCalls]  Fix attributes on created CallInst instructions." (details)
  118. [MC][ELF] Change SHT_LLVM_CALL_GRAPH_PROFILE relocations from SHT_RELA to SHT_REL (details)
Commit 2aa1dd1c66dc3b1f6253eec9fc68c081a945b74d by walter erquinigo
[trace] Add a TraceCursor class

As a follow up of D103588, I'm reinitiating the discussion with a new proposal for traversing instructions in a trace which uses the feedback gotten in that diff.

See the embedded documentation in TraceCursor for more information. The idea is to offer an OOP way to traverse instructions exposing a minimal interface that makes no assumptions on:

- the number of instructions in the trace (i.e. having indices for instructions might be impractical for gigantic intel-pt traces, as it would require to decode the entire trace). This renders the use of indices to point to instructions impractical. Traces are big and expensive, and the consumer should try to do look linear lookups (forwards and/or backwards) and avoid random accesses (the API could be extended though, but for now I want to dicard that funcionality and leave the API extensible if needed).
- the way the instructions are represented internally by each Trace plug-in. They could be mmap'ed from a file, exist in plain vector or generated on the fly as the user requests the data.
- the actual data structure used internally for each plug-in. Ideas like having a struct TraceInstruction have been discarded because that would make the plug-in follow a certain data type, which might be costly. Instead, the user can ask the cursor for each independent property of the instruction it's pointing at.

The way to get a cursor is to ask Trace.h for the end or being cursor or a thread's trace.

There are some benefits of this approach:
- there's little cost to create a cursor, and this allows for lazily decoding a trace as the user requests data.
- each trace plug-in could decide how to cache the instructions it generates. For example, if a trace is small, it might decide to keep everything in memory, or if the trace is massive, it might decide to keep around the last thousands of instructions to speed up local searches.
- a cursor can outlive a stop point, which makes trace comparison for live processes feasible. An application of this is to compare profiling data of two runs of the same function, which should be doable with intel pt.

Differential Revision: https://reviews.llvm.org/D104422
The file was addedlldb/source/Target/TraceCursor.cpp
The file was modifiedlldb/source/Target/CMakeLists.txt
The file was modifiedlldb/source/Plugins/Trace/intel-pt/CommandObjectTraceStartIntelPT.cpp
The file was modifiedlldb/source/Plugins/Trace/intel-pt/TraceIntelPT.cpp
The file was modifiedlldb/include/lldb/lldb-enumerations.h
The file was modifiedlldb/include/lldb/lldb-forward.h
The file was addedlldb/include/lldb/Target/TraceCursor.h
The file was modifiedlldb/source/Plugins/Trace/intel-pt/TraceIntelPT.h
The file was modifiedlldb/source/Target/Trace.cpp
The file was modifiedlldb/include/lldb/lldb-defines.h
The file was modifiedlldb/include/lldb/Target/Trace.h
Commit 533abb7ecf1c0e80429ad7cd850e9720d2b2ae1c by Vitaly Buka
[scudo] Enabled MTE before the first allocator

Reviewed By: pcc

Differential Revision: https://reviews.llvm.org/D103726
The file was modifiedcompiler-rt/lib/scudo/standalone/allocator_config.h
The file was modifiedcompiler-rt/lib/scudo/standalone/tests/scudo_unit_test_main.cpp
The file was modifiedcompiler-rt/lib/scudo/standalone/tests/wrappers_cpp_test.cpp
Commit f0d06124769f477a26f8fa2589f0ace85419c120 by walter erquinigo
[NFC][trace] remove dead function

The Trace::GetCursorPosition function was never really implemented well and it's being replaced by a more correct TraceCursor object.
The file was modifiedlldb/test/API/commands/trace/TestTraceStartStop.py
The file was modifiedlldb/source/Commands/CommandObjectThread.cpp
The file was modifiedlldb/include/lldb/Target/Trace.h
The file was modifiedlldb/source/Plugins/Trace/intel-pt/TraceIntelPT.h
The file was modifiedlldb/test/API/commands/trace/multiple-threads/TestTraceStartStopMultipleThreads.py
The file was modifiedlldb/source/Plugins/Trace/intel-pt/TraceIntelPT.cpp
Commit 99ec78c0feded25a2b01dd5ae822b37a70b63c17 by Vitaly Buka
[scudo] Fix use of ScopedDisableMemoryTagChecks in test
The file was modifiedcompiler-rt/lib/scudo/standalone/tests/wrappers_cpp_test.cpp
Commit 6fd963ab64e7f0771bd59056b71ce915bc03d951 by Vitaly Buka
[scudo] Avoid ifdef in test
The file was modifiedcompiler-rt/lib/scudo/standalone/tests/wrappers_cpp_test.cpp
Commit 35e1dbd18920a0f1863cd06651d217693a94ad60 by Vitaly Buka
[scudo] Fix test on arch without MTE
The file was modifiedcompiler-rt/lib/scudo/standalone/tests/wrappers_cpp_test.cpp
Commit 1db68fcd8e76dc6437f028c8ace408aa7d04e647 by dvyukov
tsan: fix mmap atomicity

Mmap interceptor is not atomic in the sense that it
exposes unmapped shadow for a brief period of time.
This breaks programs that mmap over another mmap
and access the region concurrently.
Don't unmap shadow in the mmap interceptor to fix this.
Just mapping new shadow on top should be enough to zero it.

Reviewed By: vitalybuka

Differential Revision: https://reviews.llvm.org/D104593
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_rtl.cpp
The file was addedcompiler-rt/test/tsan/mmap_stress2.cpp
Commit 2f6f24f0107c2f541297a4a0b365d862142d75e5 by dvyukov
tsan: re-enable mmap_stress.cpp test

The comment says it was flaky in 2016,
but it wasn't possible to debug it back then.
Re-enable the test at least on linux/x86_64.
It will either work, or at least we should
see failure output from lit today.

Reviewed By: vitalybuka

Differential Revision: https://reviews.llvm.org/D104592
The file was modifiedcompiler-rt/test/tsan/mmap_stress.cpp
Commit 2daf11749235f91bd159d62133a4b2adb09dedcb by flo
[SLP] Add some tests that require memory runtime checks.
The file was addedllvm/test/Transforms/SLPVectorizer/X86/memory-runtime-checks.ll
The file was addedllvm/test/Transforms/SLPVectorizer/AArch64/memory-runtime-checks.ll
Commit c72705678c4733c83233b71b66a904cc8a0910e5 by stephen.tozer
Partial Reapply "[DebugInfo] Use variadic debug values to salvage BinOps and GEP instrs with non-const operands"

This is a partial reapply of the original commit and the followup commit
that were previously reverted; this reapply also includes a small fix
for a potential source of non-determinism, but also has a small change
to turn off variadic debug value salvaging, to ensure that any future
revert/reapply steps to disable and renable this feature do not risk
causing conflicts.

Differential Revision: https://reviews.llvm.org/D91722

This reverts commit 386b66b2fc297cda121a3cc8a36887a6ecbcfc68.
The file was modifiedllvm/lib/IR/IntrinsicInst.cpp
The file was modifiedllvm/include/llvm/IR/Instructions.h
The file was addedllvm/test/DebugInfo/limit-arglist-size.ll
The file was addedllvm/test/DebugInfo/salvage-gep.ll
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
The file was modifiedllvm/lib/IR/Instructions.cpp
The file was modifiedllvm/lib/Transforms/Coroutines/CoroFrame.cpp
The file was modifiedllvm/include/llvm/IR/Operator.h
The file was modifiedllvm/lib/IR/Operator.cpp
The file was modifiedllvm/include/llvm/IR/IntrinsicInst.h
The file was modifiedllvm/lib/CodeGen/AsmPrinter/DebugLocEntry.h
The file was modifiedllvm/lib/Transforms/Utils/Local.cpp
The file was addedllvm/test/DebugInfo/salvage-nonconst-binop.ll
The file was modifiedllvm/test/Transforms/Reassociate/undef_intrinsics_when_deleting_instructions.ll
The file was modifiedllvm/lib/IR/DebugInfoMetadata.cpp
The file was modifiedllvm/include/llvm/IR/DebugInfoMetadata.h
The file was modifiedllvm/include/llvm/Transforms/Utils/Local.h
The file was modifiedllvm/test/Transforms/InstCombine/debuginfo-sink.ll
Commit 7e3f8b8affd0392c997564b5f34c61d6115a3516 by fmayer
[hwasan] print exact mismatch offset for short granules.

Reviewed By: eugenis

Differential Revision: https://reviews.llvm.org/D104463
The file was modifiedcompiler-rt/lib/hwasan/hwasan_report.cpp
The file was modifiedcompiler-rt/test/hwasan/TestCases/heap-buffer-overflow-into.c
The file was modifiedcompiler-rt/test/hwasan/TestCases/heap-buffer-overflow.c
Commit c2fd2b5194eee8a0935739c862efb8f98a0bcd4b by kiran.chandramohan
[MLIR][OpenMP]Basic OpenMP target operation

This includes a basic implementation for the OpenMP target
operation. Currently, the if, thread_limit, private, shared, device, and nowait clauses are included in this implementation.

Co-authored-by: Kiran Chandramohan <kiran.chandramohan@arm.com>

Reviewed By: ftynse, kiranchandramohan

Differential Revision: https://reviews.llvm.org/D102816
The file was modifiedmlir/test/Dialect/OpenMP/ops.mlir
The file was modifiedmlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
Commit a4729f7f88097f9f1afb9a7294ee035888e7f687 by fraser
[RISCV] Lower RVV vector SELECTs to VSELECTs

This patch optimizes the code generation of vector-type SELECTs (LLVM
select instructions with scalar conditions) by custom-lowering to
VSELECTs (LLVM select instructions with vector conditions) by splatting
the condition to a vector. This avoids the default expansion path which
would either introduce control flow or fully scalarize.

Reviewed By: craig.topper

Differential Revision: https://reviews.llvm.org/D104772
The file was modifiedllvm/lib/Target/RISCV/RISCVISelLowering.cpp
The file was modifiedllvm/test/CodeGen/RISCV/rvv/select-fp.ll
The file was modifiedllvm/test/CodeGen/RISCV/rvv/fixed-vectors-select-int.ll
The file was modifiedllvm/test/CodeGen/RISCV/rvv/fixed-vectors-select-fp.ll
The file was modifiedllvm/test/CodeGen/RISCV/rvv/select-int.ll
Commit e76c008c906af3dc093dd5c3ceaea577359b5432 by dpetrov
[analyzer] Added a test case for PR46264

Summary: It's not able to reproduce the issue (https://bugs.llvm.org/show_bug.cgi?id=46264) for the latest sources. Add a reported test case to try to catch the problem if occur es.

Differential Revision: https://reviews.llvm.org/D104381

Prevent: https://bugs.llvm.org/show_bug.cgi?id=46264
The file was addedclang/test/Analysis/diagnostics/PR46264.cpp
Commit 31f888ea9af452ae312c270e569d9fbe23c57c9f by gysit
[mlir][linalg][python] Add attribute support to the OpDSL.

Extend the OpDSL with index attributes. After tensors and scalars, index attributes are the third operand type. An index attribute represents a compile-time constant that is limited to index expressions. A use cases are the strides and dilations defined by convolution and pooling operations.

The patch only updates the OpDSL. The C++ yaml codegen is updated by a followup patch.

Differential Revision: https://reviews.llvm.org/D104711
The file was modifiedmlir/include/mlir-c/AffineMap.h
The file was modifiedmlir/test/python/dialects/linalg/opdsl/shape_maps_iteration.py
The file was modifiedmlir/test/python/ir/affine_map.py
The file was modifiedmlir/lib/Bindings/Python/IRAffine.cpp
The file was modifiedmlir/test/python/dialects/linalg/opdsl/arguments.py
The file was modifiedmlir/python/mlir/dialects/linalg/opdsl/lang/comprehension.py
The file was modifiedmlir/lib/CAPI/IR/AffineMap.cpp
The file was modifiedmlir/python/mlir/dialects/linalg/opdsl/lang/emitter.py
The file was modifiedmlir/test/python/dialects/linalg/opdsl/emit_structured_generic.py
The file was modifiedmlir/python/mlir/dialects/linalg/opdsl/ops/core_named_ops.py
The file was modifiedmlir/python/mlir/dialects/linalg/opdsl/lang/config.py
The file was modifiedmlir/python/mlir/dialects/linalg/opdsl/lang/dsl.py
The file was modifiedmlir/test/python/dialects/linalg/opsrun.py
Commit cba4b104a9c14a472521776015571873dc347506 by lebedev.ri
[NFC][AArch64] Un-autogenerate swifterror.ll tests

It appears the change needed in D104597 is minimal and obvious,
so let's not make them so verbose.
The file was modifiedllvm/test/CodeGen/AArch64/swifterror.ll
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/swifterror.ll
Commit 9c4c2f24725e9f98b96fb360894276d342c3ba50 by lebedev.ri
[SimplifyCFG] Tail-merging all blocks with `ret` terminator

Based ontop of D104598, which is a NFCI-ish refactoring.
Here, a restriction, that only empty blocks can be merged, is lifted.

Reviewed By: rnk

Differential Revision: https://reviews.llvm.org/D104597
The file was modifiedllvm/test/CodeGen/ARM/smml.ll
The file was modifiedllvm/test/CodeGen/Hexagon/dont_rotate_pregs_at_O2.ll
The file was modifiedllvm/test/CodeGen/AArch64/arm64-instruction-mix-remarks.ll
The file was modifiedllvm/test/Transforms/SimplifyCFG/fold-branch-to-common-dest.ll
The file was modifiedllvm/test/Transforms/SimplifyCFG/Hexagon/switch-to-lookup-table.ll
The file was modifiedllvm/test/CodeGen/ARM/thumb2-size-opt.ll
The file was modifiedllvm/test/Transforms/SimplifyCFG/switch-range-to-icmp.ll
The file was modifiedllvm/test/CodeGen/ARM/ifcvt-callback.ll
The file was modifiedllvm/test/CodeGen/ARM/ifcvt3.ll
The file was modifiedllvm/test/Transforms/LoopUnroll/ARM/upperbound.ll
The file was modifiedllvm/test/CodeGen/AArch64/implicit-null-check.ll
The file was modifiedllvm/test/CodeGen/ARM/ifcvt6.ll
The file was modifiedllvm/test/Transforms/SimplifyCFG/invoke.ll
The file was modifiedllvm/test/CodeGen/AArch64/ldst-paired-aliasing.ll
The file was modifiedllvm/test/Transforms/SimplifyCFG/FoldValueComparisonIntoPredecessors-domtree-preservation-edgecase-2.ll
The file was modifiedllvm/test/CodeGen/Hexagon/noFalignAfterCallAtO2.ll
The file was modifiedllvm/test/Transforms/SimplifyCFG/switch_thread.ll
The file was modifiedllvm/test/Transforms/SimplifyCFG/indirectbr.ll
The file was modifiedllvm/test/CodeGen/AArch64/check-sign-bit-before-extension.ll
The file was modifiedllvm/test/Transforms/SimplifyCFG/hoist-common-code.ll
The file was modifiedllvm/test/Transforms/SimplifyCFG/switch_create-custom-dl.ll
The file was modifiedllvm/test/CodeGen/AArch64/branch-relax-cbz.ll
The file was modifiedllvm/test/CodeGen/AArch64/logical_shifted_reg.ll
The file was modifiedllvm/test/Transforms/PGOProfile/chr.ll
The file was modifiedllvm/test/CodeGen/ARM/fp16-promote.ll
The file was modifiedllvm/test/Transforms/SimplifyCFG/basictest.ll
The file was modifiedllvm/test/Transforms/SimplifyCFG/switch-on-const-select.ll
The file was modifiedllvm/test/Transforms/PruneEH/ipo-nounwind.ll
The file was modifiedllvm/test/Transforms/SimplifyCFG/pr39807.ll
The file was modifiedllvm/test/Transforms/PhaseOrdering/X86/vector-reductions.ll
The file was modifiedllvm/test/Transforms/SimplifyCFG/pr46638.ll
The file was modifiedllvm/test/CodeGen/ARM/ifcvt5.ll
The file was modifiedllvm/test/CodeGen/AArch64/combine-comparisons-by-cse.ll
The file was modifiedllvm/test/CodeGen/AArch64/swifterror.ll
The file was modifiedllvm/test/CodeGen/AArch64/cgp-usubo.ll
The file was modifiedllvm/test/CodeGen/AArch64/vec-extract-branch.ll
The file was modifiedllvm/test/CodeGen/ARM/cfguard-checks.ll
The file was modifiedllvm/test/Transforms/SimplifyCFG/fold-branch-to-common-dest-two-preds-cost.ll
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/swifterror.ll
The file was modifiedllvm/test/Transforms/SimplifyCFG/switch-dead-default.ll
The file was modifiedllvm/test/CodeGen/AArch64/branch-relax-alignment.ll
The file was modifiedllvm/test/CodeGen/Thumb2/tpsoft.ll
The file was modifiedllvm/test/Transforms/SimplifyCFG/DeadSetCC.ll
The file was modifiedllvm/test/CodeGen/AArch64/ldst-opt-after-block-placement.ll
The file was modifiedllvm/test/CodeGen/ARM/switch-minsize.ll
The file was modifiedllvm/test/CodeGen/Thumb2/thumb2-ifcvt1.ll
The file was modifiedllvm/test/Transforms/PhaseOrdering/X86/simplifycfg-late.ll
The file was modifiedllvm/test/CodeGen/AArch64/branch-relax-asm.ll
The file was modifiedllvm/test/CodeGen/AArch64/use-cr-result-of-dom-icmp-st.ll
The file was modifiedllvm/test/CodeGen/ARM/speculation-hardening-sls.ll
The file was modifiedllvm/test/CodeGen/AArch64/cfguard-checks.ll
The file was modifiedllvm/test/CodeGen/AArch64/statepoint-call-lowering.ll
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/irtranslator-condbr-lower-tree.ll
The file was modifiedllvm/test/CodeGen/AArch64/addsub.ll
The file was modifiedllvm/test/CodeGen/AArch64/optimize-cond-branch.ll
The file was modifiedllvm/test/CodeGen/AArch64/sve-breakdown-scalable-vectortype.ll
The file was modifiedllvm/test/Transforms/SimplifyCFG/switch_switch_fold.ll
The file was modifiedllvm/test/CodeGen/ARM/ifcvt1.ll
The file was modifiedllvm/test/Transforms/SimplifyCFG/duplicate-landingpad.ll
The file was modifiedllvm/test/Transforms/SimplifyCFG/guards.ll
The file was modifiedllvm/test/Transforms/SimplifyCFG/branch-fold.ll
The file was modifiedllvm/test/CodeGen/AArch64/fast-isel-branch-cond-split.ll
The file was modifiedllvm/test/Transforms/PhaseOrdering/inlining-alignment-assumptions.ll
The file was modifiedllvm/test/Transforms/SimplifyCFG/branch-phi-thread.ll
The file was modifiedllvm/test/Transforms/SimplifyCFG/preserve-branchweights.ll
The file was modifiedllvm/test/CodeGen/AArch64/cond-br-tuning.ll
The file was modifiedllvm/test/CodeGen/Thumb2/v8_IT_4.ll
The file was modifiedllvm/test/CodeGen/AArch64/f16-instructions.ll
The file was modifiedllvm/test/CodeGen/AArch64/branch-relax-bcc.ll
The file was modifiedllvm/test/Transforms/SimplifyCFG/unprofitable-pr.ll
The file was modifiedllvm/test/CodeGen/ARM/load-global2.ll
The file was modifiedllvm/lib/Transforms/Scalar/SimplifyCFGPass.cpp
The file was modifiedllvm/test/CodeGen/ARM/ifcvt-iter-indbr.ll
The file was modifiedllvm/test/Transforms/SimplifyCFG/switch_create.ll
The file was modifiedllvm/test/Transforms/SimplifyCFG/HoistCode.ll
Commit d5e14ba88cbf353236faa45caf626c2a30a1cb0c by sander.desmalen
[GlobalISel] NFC: Change LLT::vector to take ElementCount.

This also adds new interfaces for the fixed- and scalable case:
* LLT::fixed_vector
* LLT::scalable_vector

The strategy for migrating to the new interfaces was as follows:
* If the new LLT is a (modified) clone of another LLT, taking the
  same number of elements, then use LLT::vector(OtherTy.getElementCount())
  or if the number of elements is halfed/doubled, it uses .divideCoefficientBy(2)
  or operator*. That is because there is no reason to specifically restrict
  the types to 'fixed_vector'.
* If the algorithm works on the number of elements (as unsigned), then
  just use fixed_vector. This will need to be fixed up in the future when
  modifying the algorithm to also work for scalable vectors, and will need
  then need additional tests to confirm the behaviour works the same for
  scalable vectors.
* If the test used the '/*Scalable=*/true` flag of LLT::vector, then
  this is replaced by LLT::scalable_vector.

Reviewed By: aemerson

Differential Revision: https://reviews.llvm.org/D104451
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
The file was modifiedllvm/utils/TableGen/GlobalISelEmitter.cpp
The file was modifiedllvm/include/llvm/Support/LowLevelTypeImpl.h
The file was modifiedllvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
The file was modifiedllvm/unittests/CodeGen/GlobalISel/LegalizerInfoTest.cpp
The file was modifiedllvm/unittests/CodeGen/LowLevelTypeTest.cpp
The file was modifiedllvm/unittests/CodeGen/GlobalISel/LegalizerTest.cpp
The file was modifiedllvm/unittests/CodeGen/GlobalISel/PatternMatchTest.cpp
The file was modifiedllvm/include/llvm/CodeGen/GlobalISel/LegalizerInfo.h
The file was modifiedllvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
The file was modifiedllvm/unittests/CodeGen/GlobalISel/LegalizerHelperTest.cpp
The file was modifiedllvm/lib/CodeGen/GlobalISel/CallLowering.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUArgumentUsageInfo.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUCallLowering.cpp
The file was modifiedllvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
The file was modifiedllvm/lib/Target/AArch64/GISel/AArch64PostLegalizerLowering.cpp
The file was modifiedllvm/lib/CodeGen/GlobalISel/LegalizeMutations.cpp
The file was modifiedllvm/lib/Target/Mips/MipsLegalizerInfo.cpp
The file was modifiedllvm/lib/CodeGen/LowLevelType.cpp
The file was modifiedllvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUPreLegalizerCombiner.cpp
The file was modifiedllvm/unittests/CodeGen/GlobalISel/CSETest.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
The file was modifiedllvm/lib/CodeGen/MIRParser/MIParser.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
The file was modifiedllvm/lib/CodeGen/GlobalISel/LegacyLegalizerInfo.cpp
The file was modifiedllvm/lib/CodeGen/GlobalISel/Utils.cpp
The file was modifiedllvm/unittests/CodeGen/GlobalISel/GISelUtilsTest.cpp
The file was modifiedllvm/lib/Target/X86/X86LegalizerInfo.cpp
The file was modifiedllvm/unittests/CodeGen/GlobalISel/MachineIRBuilderTest.cpp
The file was modifiedllvm/unittests/CodeGen/GlobalISel/KnownBitsVectorTest.cpp
Commit c4d3eedc7f1a954ba3a21af5fc9d4f8ecb37a6ac by llvm-dev
[X86] Fold nested select_cc to select (cmp*ge/le Cond0, Cond1), LHS, Y)

select (cmpeq Cond0, Cond1), LHS, (select (cmpugt Cond0, Cond1), LHS, Y) --> (select (cmpuge Cond0, Cond1), LHS, Y)
etc,

We already perform this fold in DAGCombiner for MVT::i1 comparison results, but these can still appear after legalization (in x86 case with MVT::i8 results), where we need to be more careful about generating new comparison codes.

Pulled out of D101074 to help address the remaining regressions.

Differential Revision: https://reviews.llvm.org/D104707
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/test/CodeGen/X86/sdiv_fix_sat.ll
The file was modifiedllvm/test/CodeGen/X86/udiv_fix_sat.ll
Commit c5028f3473ed50a7433fe278984cd1a755b338b9 by omair.javaid
[Clang] XFAIL sanitize-coverage-old-pm.c on 32bit Armv8l

sanitize-coverage-old-pm.c started failing on arm 32 bit where
underlying architecture reported is armv8l fore 32bit arm.
This patch XFAILS sanitize-coverage-old-pm.c on armv8l similar
to armv7 and thumbv7.
The file was modifiedclang/test/CodeGen/sanitize-coverage-old-pm.c
Commit e3ea2d706198c37b1564533676a5f85e4576504a by nicolas.vasilache
[mlir][Linalg] Add basic lowering test to library calls

This test shows how convert-linalg-to-std rewrites named linalg ops as library calls.
This can be coupled with a C++ shim to connect to existing libraries such as https://gist.github.com/nicolasvasilache/691ef992404c49dc9b5d543c4aa6db38.
Everything can then be linked together with mlir-cpu-runner and MLIR can call C++ (which can itself call MLIR if needed).

This should evolve into specific rewrite patterns that can be applied on op instances independently rather than having to use a full conversion.

Differential Revision: https://reviews.llvm.org/D104842
The file was addedmlir/test/Dialect/Linalg/library-calls.mlir
Commit 0c4651f0a883443259684aa6de69d26a5bd49e46 by rosie.sumpter
[CostModel][AArch64] Improve cost model for vector reduction intrinsics

OR, XOR and AND entries are added to the cost table. An extra cost
is added when vector splitting occurs.

This is done to address the issue of a missed SLP vectorization
opportunity due to unreasonably high costs being attributed to the vector
Or reduction (see: https://bugs.llvm.org/show_bug.cgi?id=44593).

Differential Revision: https://reviews.llvm.org/D104538
The file was modifiedllvm/test/Transforms/SLPVectorizer/AArch64/slp-xor-reduction.ll
The file was modifiedllvm/test/Analysis/CostModel/AArch64/reduce-or.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
The file was addedllvm/test/Analysis/CostModel/AArch64/reduce-xor.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/AArch64/slp-and-reduction.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/AArch64/slp-or-reduction.ll
The file was modifiedllvm/test/Analysis/CostModel/AArch64/reduce-and.ll
Commit 121ecb05e73427ab3bc6ceeca04fbab161417e6e by flo
[SCEV] Generalize MatchBinaryAddToConst to support non-add expressions.

This patch generalizes MatchBinaryAddToConst to support matching
(A + C1), (A + C2), instead of just matching (A + C1), A.

The existing cases can be handled by treating non-add expressions A as
A + 0.

Reviewed By: mkazantsev

Differential Revision: https://reviews.llvm.org/D104634
The file was modifiedllvm/lib/Analysis/ScalarEvolution.cpp
Commit a54c6fc083c45595466c2d3d73ccf80c07ef1247 by flo
[X86] Exclude invalid element types for bitcast/broadcast folding.

It looks like the fold introduced in 63f3383ece25efa can cause crashes
if the type of the bitcasted value is not a valid vector element type,
like x86_mmx.

To resolve the crash, reject invalid vector element types. The way it is
done in the patch is a bit clunky. Perhaps there's a better way to
check?

Reviewed By: RKSimon

Differential Revision: https://reviews.llvm.org/D104792
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/test/CodeGen/X86/avx2-vbroadcast.ll
The file was modifiedllvm/test/CodeGen/X86/avx-vbroadcast.ll
Commit beebe5a056b8d4d224b07c5039f8e6028a7afb4c by jay.foad
[MCA] Allow unlimited cycles in the timeline view

Change --max-timeline-cycles=0 to mean no limit on the number of cycles.
Use this in AMDGPU tests to show all instructions in the timeline view
instead of having it arbitrarily truncated.

Differential Revision: https://reviews.llvm.org/D104846
The file was modifiedllvm/test/tools/llvm-mca/AMDGPU/gfx10-add-sequence.s
The file was modifiedllvm/test/tools/llvm-mca/AMDGPU/gfx10-double.s
The file was modifiedllvm/tools/llvm-mca/Views/TimelineView.cpp
The file was modifiedllvm/docs/CommandGuide/llvm-mca.rst
The file was modifiedllvm/tools/llvm-mca/llvm-mca.cpp
The file was modifiedllvm/test/tools/llvm-mca/AMDGPU/gfx10-trans.s
Commit 9f5f91778710a891b2b5ccafeb783c3609192ae8 by lebedev.ri
[NFC][SimplifyCFG] Add basic test for tail-merging `resume` function terminators
The file was addedllvm/test/Transforms/SimplifyCFG/tail-merge-resume.ll
Commit 1113e06821e6baffc84b8caf96a28bf62e6d28dc by david.green
[ARM] Extend narrow values to allow using truncating scatters

As a minor adjustment to the existing lowering of offset scatters, this
extends any smaller-than-legal vectors into full vectors using a zext,
so that the truncating scatters can be used. Due to the way MVE
legalizes the vectors this should be cheap in most situations, and will
prevent the vector from being scalarized.

Differential Revision: https://reviews.llvm.org/D103704
The file was modifiedllvm/test/CodeGen/Thumb2/mve-scatter-ind32-unscaled.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-scatter-ind8-unscaled.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-scatter-ptrs.ll
The file was modifiedllvm/lib/Target/ARM/MVEGatherScatterLowering.cpp
Commit adace79652174d126be290cab42b3122569fe15d by stephen.tozer
[DebugInfo] Enable variadic debug value salvaging

This patch enables the salvaging of debug values that may be calculated
from more than one SSA value, such as with binary operators that do not
use a constant argument. The actual functionality for this behaviour is
added in a previous commit (c7270567), but with the ability to actually
emit the resulting debug values switched off.

The reason for this is that the prior patch has been reverted several
times due to issues discovered downstream, some time after the actual
landing of the patch. The patch in question is rather large and touches
several widely used header files, and all issues discovered are more
related to the handling of variadic debug values as a whole rather than
the details of the patch itself. Therefore, to minimize the build time
impact and risk of conflicts involved in any potential future
revert/reapply of that patch, this significantly smaller patch (that
touches no header files) will instead be used as the capstone to enable
variadic debug value salvaging.

The review linked to this patch is mostly implemented by the previous
commit, c7270567, but also contains the changes in this patch.

Differential Revision: https://reviews.llvm.org/D91722
The file was modifiedllvm/lib/Transforms/Utils/Local.cpp
The file was modifiedllvm/test/DebugInfo/NVPTX/debug-info.ll
The file was modifiedllvm/test/DebugInfo/salvage-gep.ll
The file was modifiedllvm/test/DebugInfo/salvage-nonconst-binop.ll
Commit 25bb61649085c0a6e66630bbffe7faa54cd67829 by gysit
[mlir][linalg][python] Add attribute support to the YAML codegen.

Extend the yaml code generation to support the index attributes that https://reviews.llvm.org/D104711 added to the OpDSL.

Differential Revision: https://reviews.llvm.org/D104712
The file was modifiedmlir/include/mlir/Dialect/Linalg/IR/LinalgNamedStructuredOps.yaml
The file was modifiedmlir/test/python/dialects/linalg/opdsl/arguments.py
The file was modifiedmlir/test/mlir-linalg-ods-gen/test-linalg-ods-yaml-gen.yaml
The file was modifiedmlir/test/Dialect/Linalg/generalize-named-polymorphic-ops.mlir
The file was modifiedmlir/test/python/dialects/linalg/opsrun.py
The file was modifiedmlir/tools/mlir-linalg-ods-gen/mlir-linalg-ods-yaml-gen.cpp
Commit 833bdbe93cd6b114ec09904fed5dc5288343a549 by flo
[LV] Support sinking recipe in replicate region after another region.

This patch handles sinking a replicate region after another replicate
region. In that case, we can connect the sink region after the target
region. This properly handles the case for which an assertion has been
added in 337d7652823f.

Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=34842.

Reviewed By: Ayal

Differential Revision: https://reviews.llvm.org/D103514
The file was modifiedllvm/lib/Transforms/Vectorize/LoopVectorize.cpp
The file was modifiedllvm/test/Transforms/LoopVectorize/first-order-recurrence-sink-replicate-region.ll
Commit 927b80978345457480ce68eb84d87a5f80d34bc7 by brendon.cahoon
[GlobalISel] Describe undefined values for G_SBFX/G_UBFX operands

Differential Revision: https://reviews.llvm.org/D104245
The file was modifiedllvm/docs/GlobalISel/GenericOpcode.rst
The file was modifiedllvm/include/llvm/Target/GenericOpcodes.td
Commit e0f2744a115c41e8d295b93dd74b39535c852390 by david.spickett
[lldb][AArch64] Add class for managing memory tags

This adds the MemoryTagManager class and a specialisation
of that class for AArch64 MTE tags. It provides a generic
interface for various tagging operations.
Adding/removing tags, diffing tagged pointers, etc.

Later patches will use this manager to handle memory tags
in generic code in both lldb and lldb-server.
Since it will be used in both, the base class header is in
lldb/Target.
(MemoryRegionInfo is another example of this pattern)

Reviewed By: omjavaid

Differential Revision: https://reviews.llvm.org/D97281
The file was addedlldb/include/lldb/Target/MemoryTagManager.h
The file was addedlldb/source/Plugins/Process/Utility/MemoryTagManagerAArch64MTE.h
The file was modifiedlldb/source/Plugins/Process/Utility/CMakeLists.txt
The file was addedlldb/source/Plugins/Process/Utility/MemoryTagManagerAArch64MTE.cpp
The file was modifiedlldb/unittests/Process/Utility/CMakeLists.txt
The file was addedlldb/unittests/Process/Utility/MemoryTagManagerAArch64MTETest.cpp
Commit 78dc1e497807e6b857fde7f78f4bc9cb5a4f8939 by gysit
[mlir][linalg][python] Add shape-only tensor support to OpDSL.

Add an index_dim annotation to specify the shape to loop mapping of shape-only tensors. A shape-only tensor serves is not accessed withing the body of the operation but is required to span the iteration space of certain operations such as pooling.

Differential Revision: https://reviews.llvm.org/D104767
The file was modifiedmlir/python/mlir/dialects/linalg/opdsl/lang/config.py
The file was modifiedmlir/test/Dialect/Linalg/generalize-named-polymorphic-ops.mlir
The file was modifiedmlir/include/mlir/Dialect/Linalg/IR/LinalgNamedStructuredOps.yaml
The file was modifiedmlir/test/python/dialects/linalg/opsrun.py
The file was modifiedmlir/python/mlir/dialects/linalg/opdsl/lang/comprehension.py
The file was modifiedmlir/test/python/dialects/linalg/opdsl/emit_structured_generic.py
The file was modifiedmlir/test/python/dialects/linalg/opdsl/shape_maps_iteration.py
The file was modifiedmlir/python/mlir/dialects/linalg/opdsl/ops/core_named_ops.py
Commit d57a5879ab6781a58020d3a878c617266d939e51 by thakis
[gn build] Remove an unneeded -I flag

Everything includes clang/Config/config.h by qualified "clang/Config/config.h"
path, so there's no need for `-Igen/clang/include/clang/Config/clang/include`.

No behavior change.
The file was modifiedllvm/utils/gn/secondary/clang/include/clang/Config/BUILD.gn
Commit 8d58fbd09efb443d92842a0d101348cda06d7253 by david.spickett
[lldb][AArch64] Add memory-tagging qSupported feature

This feature "memory-tagging+" indicates that lldb-server
supports memory tagging packets. (added in a later patch)

We check HWCAP2_MTE to decide whether to enable this
feature for Linux.

Reviewed By: omjavaid

Differential Revision: https://reviews.llvm.org/D97282
The file was modifiedlldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.h
The file was modifiedlldb/test/API/tools/lldb-server/TestLldbGdbServer.py
The file was modifiedlldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
The file was modifiedlldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.h
The file was modifiedlldb/include/lldb/Host/common/NativeProcessProtocol.h
The file was modifiedlldb/source/Plugins/Process/Linux/NativeProcessLinux.cpp
The file was modifiedlldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp
The file was modifiedlldb/include/lldb/Target/Process.h
The file was modifiedlldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
The file was modifiedlldb/packages/Python/lldbsuite/test/tools/lldb-server/gdbremote_testcase.py
Commit cd256c8bcc9723f0ce7a32957f26600c966fa07c by saurabh.jhaa
Add documentation for compound assignment and type conversion of matrix types
The file was modifiedclang/docs/LanguageExtensions.rst
Commit cc05418d98f3d232cc66f9065262200eaa4a14db by david.spickett
[lldb][AArch64] Fix unpack tags test case

Use %zu to print size_t vars.
The file was modifiedlldb/source/Plugins/Process/Utility/MemoryTagManagerAArch64MTE.cpp
Commit c74aea46634347e2ad20111271faebec2da38af3 by sjoerd.meijer
[AArch64] Precommit extending load tests for D104782. NFC.
The file was removedllvm/test/CodeGen/AArch64/neon-truncStore-extLoad.ll
The file was addedllvm/test/CodeGen/AArch64/neon-truncstore.ll
The file was addedllvm/test/CodeGen/AArch64/neon-extload.ll
Commit 57fe7fd37dcd1f144f600976b3f33d5d792e89fd by nicolas.vasilache
[mlir][Linalg] Add support for scf::ForOp in comprehensive bufferization (7/n)

scf::ForOp bufferization analysis proceeds just like for any other op (including FuncOp) at its boundaries; i.e. if:

1. The tensor operand is inplaceable.
2. The matching result has no subsequent read (i.e. all reads dominate the scf::ForOp).
3. In  and does not create a RAW interference.

then it can bufferize inplace.

Still there are a few differences:

1. bbArgs for an scf::ForOp are always considered inplaceable when seen from ops inside the body. This is because a) either the matching tensor operand is not inplaceable and an alloc will be inserted (which makes bbArg itself inplaceable); or b) the tensor operand and bbArg are both already inplaceable.
2. Bufferization within the scf::ForOp body has implications to the outside world : the scf.yield terminator may well ping-pong values of the same type. This muddies the water for alias analysis and is not supported atm. Such cases result in a pass failure.

Differential revision: https://reviews.llvm.org/D104490
The file was modifiedmlir/test/Dialect/Linalg/comprehensive-func-bufferize-analysis.mlir
The file was addedmlir/test/Dialect/Linalg/comprehensive-func-bufferize-analysis-invalid.mlir
The file was modifiedmlir/include/mlir/Dialect/SCF/SCFOps.td
The file was modifiedmlir/test/Dialect/Linalg/comprehensive-func-bufferize.mlir
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/ComprehensiveBufferize.cpp
Commit b1061e36d9833d9a712579e29a318732df0b744c by thakis
[gn build] Fix a comment typo and a comment copy-pasto
The file was modifiedllvm/utils/gn/secondary/clang/utils/TableGen/clang_tablegen.gni
Commit f6ba845da3f89ca1f9591d42ae48f6fb29079096 by flo
[VPlan] Fix indentation of check lines in sinking test (NFC).
The file was modifiedllvm/test/Transforms/LoopVectorize/first-order-recurrence-sink-replicate-region.ll
Commit da2e614f56b196b37175e2babfac8ed7b43ab624 by david.spickett
[lldb][AArch64] Add memory tag reading to lldb-server

This adds memory tag reading using the new "qMemTags"
packet and ptrace on AArch64 Linux.

This new packet is following the one used by GDB.
(https://sourceware.org/gdb/current/onlinedocs/gdb/General-Query-Packets.html)

On AArch64 Linux we use ptrace's PEEKMTETAGS to read
tags and we assume that lldb has already checked that the
memory region actually has tagging enabled.

We do not assume that lldb has expanded the requested range
to granules and expand it again to be sure.
(although lldb will be sending aligned ranges because it happens
to need them client side anyway)
Also we don't assume untagged addresses. So for AArch64 we'll
remove the top byte before using them. (the top byte includes
MTE and other non address data)

To do the ptrace read NativeProcessLinux will ask the native
register context for a memory tag manager based on the
type in the packet. This also gives you the ptrace numbers you need.
(it's called a register context but it also has non register data,
so it saves adding another per platform sub class)

The only supported platform for this is AArch64 Linux and the only
supported tag type is MTE allocation tags. Anything else will
error.

Ptrace can return a partial result but for lldb-server we will
be treating that as an error. To succeed we need to get all the tags
we expect.

(Note that the protocol leaves room for logical tags to be
read via qMemTags but this is not going to be implemented for lldb
at this time.)

Reviewed By: omjavaid

Differential Revision: https://reviews.llvm.org/D95601
The file was modifiedlldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64.cpp
The file was addedlldb/test/API/tools/lldb-server/memory-tagging/TestGdbRemoteMemoryTagging.py
The file was modifiedlldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.h
The file was modifiedlldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64.h
The file was modifiedlldb/include/lldb/Utility/StringExtractorGDBRemote.h
The file was modifiedlldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp
The file was addedlldb/test/API/tools/lldb-server/memory-tagging/main.c
The file was modifiedlldb/include/lldb/Host/common/NativeProcessProtocol.h
The file was modifiedlldb/source/Plugins/Process/Linux/NativeRegisterContextLinux.h
The file was modifiedlldb/include/lldb/Host/linux/Ptrace.h
The file was modifiedlldb/source/Plugins/Process/Linux/NativeProcessLinux.cpp
The file was modifiedlldb/source/Plugins/Process/Linux/NativeProcessLinux.h
The file was modifiedlldb/source/Utility/StringExtractorGDBRemote.cpp
The file was modifiedlldb/source/Host/common/NativeProcessProtocol.cpp
The file was addedlldb/test/API/tools/lldb-server/memory-tagging/Makefile
Commit 929189a4995ece3162adced7a7d9be8e17dc4079 by gh
[MLIR][LLVM] Expose type translator from LLVM to MLIR Type

This commit moves the type translator from LLVM to MLIR to a public header for use by external projects or other code.

Unlike a previous attempt (https://reviews.llvm.org/D104726), this patch moves the type conversion into separate files which remedies the linker error which was only caught by CI.

Differential Revision: https://reviews.llvm.org/D104834
The file was addedmlir/include/mlir/Target/LLVMIR/TypeFromLLVM.h
The file was removedmlir/include/mlir/Target/LLVMIR/TypeTranslation.h
The file was modifiedmlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVM.cpp
The file was removedmlir/lib/Target/LLVMIR/TypeTranslation.cpp
The file was modifiedmlir/lib/Target/LLVMIR/ConvertFromLLVMIR.cpp
The file was addedmlir/lib/Target/LLVMIR/TypeFromLLVM.cpp
The file was addedmlir/lib/Target/LLVMIR/TypeToLLVM.cpp
The file was modifiedmlir/include/mlir/Target/LLVMIR/ModuleTranslation.h
The file was modifiedmlir/lib/Target/LLVMIR/ModuleTranslation.cpp
The file was modifiedmlir/lib/Target/LLVMIR/CMakeLists.txt
The file was addedmlir/include/mlir/Target/LLVMIR/TypeToLLVM.h
Commit a224c5199b327ed0efcdcd87b6dbf950cf4d9ee1 by aktoon
[LLD][LLVM] CG Graph profile using relocations

Currently when .llvm.call-graph-profile is created by llvm it explicitly encodes the symbol indices. This section is basically a black box for post processing tools. For example, if we run strip -s on the object files the symbol table changes, but indices in that section do not. In non-visible behavior indices point to wrong symbols. The visible behavior indices point outside of Symbol table: "invalid symbol index".

This patch changes the format by using R_*_NONE relocations to indicate the from/to symbols. The Frequency (Weight) will still be in the .llvm.call-graph-profile, but symbol information will be in relocation section. In LLD information from both sections is used to reconstruct call graph profile. Relocations themselves will never be applied.

With this approach post processing tools that handle relocations correctly work for this section also. Tools can add/remove symbols and as long as they handle relocation sections with this approach information stays correct.

Doing a quick experiment with clang-13.
The size went up from 107KB to 322KB, aggregate of all the input sections. Size of clang-13 binary is ~118MB. For users of -fprofile-use/-fprofile-sample-use the size of object files will go up slightly, it will not impact final binary size.

Reviewed By: jhenderson, MaskRay

Differential Revision: https://reviews.llvm.org/D104080
The file was modifiedllvm/test/tools/yaml2obj/ELF/call-graph-profile-section.yaml
The file was modifiedllvm/test/Object/multiple-sections.yaml
The file was modifiedllvm/tools/llvm-readobj/ELFDumper.cpp
The file was modifiedlld/ELF/Driver.cpp
The file was modifiedllvm/lib/ObjectYAML/ELFEmitter.cpp
The file was modifiedlld/ELF/InputFiles.cpp
The file was modifiedllvm/lib/ObjectYAML/ELFYAML.cpp
The file was modifiedllvm/include/llvm/ObjectYAML/ELFYAML.h
The file was modifiedllvm/lib/MC/ELFObjectWriter.cpp
The file was modifiedllvm/test/tools/obj2yaml/ELF/call-graph-profile-section.yaml
The file was modifiedllvm/include/llvm/BinaryFormat/ELF.h
The file was modifiedlld/ELF/InputFiles.h
The file was modifiedllvm/test/tools/llvm-readobj/ELF/demangle.test
The file was modifiedllvm/tools/obj2yaml/elf2yaml.cpp
The file was modifiedllvm/include/llvm/Object/ELFTypes.h
The file was modifiedllvm/test/tools/llvm-readobj/ELF/call-graph-profile.test
The file was modifiedllvm/test/MC/ELF/cgprofile.s
The file was modifiedllvm/test/tools/yaml2obj/ELF/section-headers-exclude.yaml
The file was modifiedllvm/lib/MC/MCELFStreamer.cpp
The file was modifiedllvm/include/llvm/MC/MCELFStreamer.h
Commit 5d3436200147a999670f754288a03c4ac5a15aeb by david.spickett
[lldb][AArch64] Add MTE memory tag reading to lldb

This adds GDB client support for the qMemTags packet
which reads memory tags. Following the design
which was recently committed to GDB.

https://sourceware.org/gdb/current/onlinedocs/gdb/General-Query-Packets.html#General-Query-Packets
(look for qMemTags)

lldb commands will use the new Process methods
GetMemoryTagManager and ReadMemoryTags.

The former takes a range and checks that:
* The current process architecture has an architecture plugin
* That plugin provides a MemoryTagManager
* That the range of memory requested lies in a tagged range
  (it will expand it to granules for you)

If all that was true you get a MemoryTagManager you
can give to ReadMemoryTags.

This two step process is done to allow commands to get the
tag manager without having to read tags as well. For example
you might just want to remove a logical tag, or error early
if a range with tagged addresses is inverted.

Note that getting a MemoryTagManager doesn't mean that the process
or a specific memory range is tagged. Those are seperate checks.
Having a tag manager just means this architecture *could* have
a tagging feature enabled.

An architecture plugin has been added for AArch64 which
will return a MemoryTagManagerAArch64MTE, which was added in a
previous patch.

Reviewed By: omjavaid

Differential Revision: https://reviews.llvm.org/D95602
The file was modifiedlldb/source/Target/Process.cpp
The file was modifiedlldb/include/lldb/Target/Process.h
The file was addedlldb/source/Plugins/Architecture/AArch64/CMakeLists.txt
The file was modifiedlldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
The file was modifiedlldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.h
The file was modifiedlldb/unittests/Process/gdb-remote/GDBRemoteCommunicationClientTest.cpp
The file was modifiedlldb/include/lldb/Core/Architecture.h
The file was addedlldb/source/Plugins/Architecture/AArch64/ArchitectureAArch64.h
The file was modifiedlldb/source/Plugins/Architecture/CMakeLists.txt
The file was addedlldb/source/Plugins/Architecture/AArch64/ArchitectureAArch64.cpp
The file was modifiedlldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
The file was modifiedlldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.h
Commit 10b8eb482cb6dcc4a1c095a2bf1ddd8b85c41571 by zinenko
[mlir] remove repeated use of TypeToLLVM.cpp in cmake targets
The file was modifiedmlir/lib/Target/LLVMIR/CMakeLists.txt
Commit 31f9960c38529ce805edf9764535eb0ce188cadf by david.spickett
[lldb][AArch64] Add "memory tag read" command

This new command looks much like "memory read"
and mirrors its basic behaviour.

(lldb) memory tag read new_buf_ptr new_buf_ptr+32
Logical tag: 0x9
Allocation tags:
[0x900fffff7ffa000, 0x900fffff7ffa010): 0x9
[0x900fffff7ffa010, 0x900fffff7ffa020): 0x0

Important proprties:
* The end address is optional and defaults to reading
  1 tag if ommitted
* It is an error to try to read tags if the architecture
  or process doesn't support it, or if the range asked
  for is not tagged.
* It is an error to read an inverted range (end < begin)
  (logical tags are removed for this check so you can
  pass tagged addresses here)
* The range will be expanded to fit the tagging granule,
  so you can get more tags than simply (end-begin)/granule size.
  Whatever you get back will always cover the original range.

Reviewed By: omjavaid

Differential Revision: https://reviews.llvm.org/D97285
The file was addedlldb/source/Commands/CommandObjectMemoryTag.cpp
The file was addedlldb/test/API/functionalities/memory/tag/TestMemoryTag.py
The file was addedlldb/test/API/linux/aarch64/mte_tag_read/Makefile
The file was addedlldb/source/Commands/CommandObjectMemoryTag.h
The file was addedlldb/test/API/linux/aarch64/mte_tag_read/main.c
The file was modifiedlldb/source/Commands/CommandObjectMemory.cpp
The file was addedlldb/test/API/functionalities/memory/tag/Makefile
The file was addedlldb/test/API/functionalities/memory/tag/main.cpp
The file was modifiedlldb/source/Commands/CMakeLists.txt
The file was addedlldb/test/API/linux/aarch64/mte_tag_read/TestAArch64LinuxMTEMemoryTagRead.py
Commit 1ca4cf9b242b627a2414c377214998d180d4dcf6 by gcmn
Update Bazel build for 929189a499

Updates Bazel build files to match
https://github.com/llvm/llvm-project/commit/929189a499

Differential Revision: https://reviews.llvm.org/D104864
The file was modifiedutils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Commit 631362665c3b3271736fee070f6b553c099250d8 by anirudh_prasad
[AsmParser][SystemZ][z/OS] Support for emitting labels in upper case

- Currently, the emitting of labels in the parsePrimaryExpr function is case independent. It just takes the identifier and emits it.
- However, for HLASM the emitting of labels is case independent. We are emitting them in the upper case only, to enforce case independency. So we need to ensure that at the time of parsing the label we are emitting the upper case (in `parseAsHLASMLabel`), but also, when we are processing a PC-relative relocatable expression, we need to ensure we emit it in upper case (in `parsePrimaryExpr`)
- To achieve this a new MCAsmInfo attribute has been introduced which corresponding targets can override if needed.

Reviewed By: abhina.sreeskantharajan, uweigand

Differential Revision: https://reviews.llvm.org/D104715
The file was modifiedllvm/include/llvm/MC/MCAsmInfo.h
The file was modifiedllvm/lib/MC/MCParser/AsmParser.cpp
The file was modifiedllvm/unittests/MC/SystemZ/SystemZAsmLexerTest.cpp
The file was modifiedllvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCAsmInfo.cpp
Commit aac4de989ee98605f1ce918c8e541c9be0f52324 by phosek
[CMake] Don't LTO optimize targets on Darwin either

This is a follow up to D102732 which also expands the logic to Darwin.

Differential Revision: https://reviews.llvm.org/D104764
The file was modifiedllvm/cmake/modules/AddLLVM.cmake
The file was modifiedllvm/cmake/modules/HandleLLVMOptions.cmake
Commit 03f9e04bc35c674337ec04d629260b4a283c1f25 by craig.topper
[TargetLowering][ARM] Don't alter opaque constants in TargetLowering::ShrinkDemandedConstant.

We don't constant fold based on demanded bits elsewhere in
SimplifyDemandedBits, so I don't think we should shrink them either.

The affected ARM test changes because a constant become non-opaque
and eventually enabled some constant folding. This no longer happens.
I checked and InstCombine is able to simplify this test. I'm not sure exactly
what it was trying to test.

Reviewed By: lebedev.ri, dmgreen

Differential Revision: https://reviews.llvm.org/D104832
The file was modifiedllvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
The file was modifiedllvm/test/CodeGen/ARM/select-imm.ll
Commit e13c62a10371dea7d4cfd491bb2ef3b779e7526f by spatel
[InstSimplify][test] move tests that don't require InstCombine; NFC

These are existing/missing simplifications, so the tests
don't need the full power of InstCombine.
The file was modifiedllvm/test/Transforms/InstSimplify/vscale-inseltpoison.ll
The file was modifiedllvm/test/Transforms/InstSimplify/vscale.ll
The file was modifiedllvm/test/Transforms/InstCombine/vscale_extractelement-inseltpoison.ll
The file was modifiedllvm/test/Transforms/InstCombine/vscale_extractelement.ll
Commit 3ba090e5f69ae7bd6548dfdb4b7124d0470cfd48 by spatel
[InstSimplify][test] add test for extract of splat; NFC

This is shown in:
https://llvm.org/PR50817
The file was modifiedllvm/test/Transforms/InstSimplify/extract-element.ll
Commit 44985872b8a058272741703ee63bf7ca34212449 by gh
[MLIR][SCF] Inline single block ExecuteRegionOp

This commit adds a canonicalization pass which inlines any single block execute region

Differential Revision: https://reviews.llvm.org/D104865
The file was modifiedmlir/test/Dialect/SCF/canonicalize.mlir
The file was modifiedmlir/include/mlir/Dialect/SCF/SCFOps.td
The file was modifiedmlir/lib/Dialect/SCF/SCF.cpp
Commit e9a3637c0ca4772aeee55cd09d98a68b19e18621 by anna
Precommit tests for context senstive attribute dropping

Precommit tests from D104641.
The patch will fix the callsites by dropping the context-sensitive
attributes.

Reviewed-By: Self
The file was modifiedllvm/test/Transforms/LICM/call-hoisting.ll
The file was modifiedllvm/test/Transforms/SimplifyCFG/speculate-call.ll
The file was modifiedllvm/test/Transforms/SimplifyCFG/fold-branch-to-common-dest.ll
Commit 50db987d5936260a30a1df69e6abfcb4434692ec by spatel
[InstSimplify] move extract with undef index fold; NFC

This puts it closer to the other undef query check and
will avoid a potential ordering problem if we allow
folding non-constant-int indexes.
The file was modifiedllvm/lib/Analysis/InstructionSimplify.cpp
Commit 571c8c5263a79293aaadae07b11feb36726eaf53 by pablo.barrio
[AArch64][v8.3A] Avoid inserting implicit landing pads (PACI*SP)

PACI*SP have the advantage that they are in HINT space, meaning
they can be run successfully in hardware without PAuth support -
they will just behave as a NOP. However, PACI*SP are also implicit
landing pads (think of an extra BTI jc). Therefore, they allow
indirect jumps of all kinds into them, potentially inserting new
gadgets. This patch replaces PACI*SP by PACI* LR, SP when
compiling explicitly for hardware with full PAuth support. PACI*
is not in the HINT space, therefore it will fault when run in
hardware without PAuth support, but it is also not a landing pad,
making programs safer in newer HW.

Differential Revision: https://reviews.llvm.org/D101920
The file was modifiedllvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-sp-mod.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64InstrInfo.cpp
The file was modifiedllvm/test/CodeGen/AArch64/pacbti-module-attrs.ll
The file was modifiedllvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-v8-3.ll
The file was modifiedllvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-subtarget.ll
The file was modifiedllvm/test/CodeGen/AArch64/sign-return-address-cfi-negate-ra-state.ll
The file was modifiedllvm/test/CodeGen/AArch64/aarch64-signedreturnaddress.ll
The file was modifiedllvm/test/CodeGen/AArch64/sign-return-address.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64FrameLowering.cpp
The file was modifiedllvm/test/CodeGen/AArch64/pacbti-llvm-generated-funcs-2.ll
Commit 507df686aff631da454173d2d54cbb12c6f9bcf7 by lebedev.ri
[NFC][SimplifyCFG] Revisit tail-merge-resume.ll test

Add an already somewhat-common resume block
The file was modifiedllvm/test/Transforms/SimplifyCFG/tail-merge-resume.ll
Commit 34503987385b8e2a21ca4f9a29c9135c03b427e4 by zoecarver
[libcxx][ranges] Add contiguous_range.

Differential Revision: https://reviews.llvm.org/D104262
The file was addedlibcxx/test/std/ranges/range.req/range.refinements/contiguous_range.compile.pass.cpp
The file was modifiedlibcxx/test/std/containers/sequences/vector.bool/range_concept_conformance.compile.pass.cpp
The file was modifiedlibcxx/include/__ranges/concepts.h
The file was modifiedlibcxx/include/__ranges/ref_view.h
The file was modifiedlibcxx/include/ranges
The file was modifiedlibcxx/test/std/containers/sequences/vector/range_concept_conformance.compile.pass.cpp
The file was modifiedlibcxx/test/std/containers/sequences/array/range_concept_conformance.compile.pass.cpp
The file was modifiedlibcxx/test/std/strings/basic.string/range_concept_conformance.compile.pass.cpp
The file was modifiedlibcxx/test/std/ranges/range.req/range.refinements/subsumption.compile.pass.cpp
The file was modifiedlibcxx/test/std/containers/sequences/deque/range_concept_conformance.compile.pass.cpp
The file was modifiedlibcxx/test/std/strings/string.view/range_concept_conformance.compile.pass.cpp
The file was modifiedlibcxx/test/std/containers/views/range_concept_conformance.compile.pass.cpp
The file was modifiedlibcxx/test/std/re/re.results/range_concept_conformance.compile.pass.cpp
Commit 9824f86760bc711453ac8a51721c5ff7edd008e0 by zoecarver
[libcxx][nfc] Add one more test case for contiguous_range.

If the `data` member function is different enough, `ranges::data` won't pick it, so the range remains a contiguous_range.
The file was modifiedlibcxx/test/std/ranges/range.req/range.refinements/contiguous_range.compile.pass.cpp
Commit 652f4b5140e231b679564a86019307291f7bf7cc by joker.eph
Attempt to disable MLIR JIT tests on PowerPC to unbreak the bot

This is until we figure how to turn on the large code size model.
The file was modifiedmlir/test/Unit/lit.cfg.py
The file was modifiedmlir/test/mlir-cpu-runner/lit.local.cfg
The file was modifiedmlir/test/Unit/lit.site.cfg.py.in
Commit d87f159ab675153ef58eae138d6ca223c45f14c8 by cjdb
[libcxx][NFC] removes `swap`'s dependency on `swap_ranges`

Under the as-if rule, we can directly implement the array overload for
`std::swap`. By removing this circular dependency where `swap` is
implemented in terms of `swap_ranges` and `swap_ranges` is defined in
terms of `swap`, we can split them into their own headers. This will:

* limit the surface area in which Hyrum's law can bite us;
* force users to include the correct headers;
* make finding the definitions trivial (`swap` is a utility;
  `swap_ranges` is an algorithm).

Differential Revision: https://reviews.llvm.org/D104760
The file was modifiedlibcxx/include/type_traits
Commit 6adbc83ee9e46b476e0f75d5671c3a21f675a936 by cjdb
[libcxx][modularisation] moves <utility> content out of <type_traits>

Moves:

* `std::move`, `std::forward`, `std::declval`, and `std::swap` into
  `__utility/${FUNCTION_NAME}`.
* `std::swap_ranges` and `std::iter_swap` into
  `__algorithm/${FUNCTION_NAME}`

Differential Revision: https://reviews.llvm.org/D103734
The file was modifiedlibcxx/include/forward_list
The file was modifiedlibcxx/test/std/utilities/utility/utility.swap/swap_array.pass.cpp
The file was modifiedlibcxx/include/future
The file was addedlibcxx/include/__utility/forward.h
The file was addedlibcxx/include/__utility/swap.h
The file was modifiedlibcxx/include/any
The file was modifiedlibcxx/include/experimental/iterator
The file was modifiedlibcxx/include/__tree
The file was modifiedlibcxx/include/__split_buffer
The file was modifiedlibcxx/include/thread
The file was modifiedlibcxx/test/std/utilities/utility/utility.swap/swap.pass.cpp
The file was modifiedlibcxx/include/__algorithm/shuffle.h
The file was modifiedlibcxx/include/__memory/shared_ptr.h
The file was modifiedlibcxx/include/__iterator/concepts.h
The file was modifiedlibcxx/include/__algorithm/sort.h
The file was modifiedlibcxx/include/__memory/allocator_traits.h
The file was modifiedlibcxx/include/__ranges/access.h
The file was modifiedlibcxx/include/__memory/unique_ptr.h
The file was modifiedlibcxx/include/__algorithm/remove.h
The file was addedlibcxx/include/__algorithm/swap_ranges.h
The file was modifiedlibcxx/include/module.modulemap
The file was modifiedlibcxx/include/__ranges/empty.h
The file was modifiedlibcxx/include/map
The file was modifiedlibcxx/include/__algorithm/push_heap.h
The file was modifiedlibcxx/include/__memory/allocator.h
The file was modifiedlibcxx/include/__algorithm/partition.h
The file was modifiedlibcxx/include/__algorithm/pop_heap.h
The file was modifiedlibcxx/include/tuple
The file was modifiedlibcxx/include/__ranges/data.h
The file was addedlibcxx/include/__utility/__decay_copy.h
The file was modifiedlibcxx/include/functional
The file was modifiedlibcxx/include/__algorithm/partial_sort.h
The file was modifiedlibcxx/include/__memory/compressed_pair.h
The file was modifiedlibcxx/include/mutex
The file was modifiedlibcxx/include/__algorithm/unique.h
The file was modifiedlibcxx/include/__algorithm/stable_sort.h
The file was addedlibcxx/include/__algorithm/iter_swap.h
The file was modifiedlibcxx/include/variant
The file was modifiedlibcxx/include/__algorithm/stable_partition.h
The file was modifiedlibcxx/include/__ranges/size.h
The file was modifiedlibcxx/include/iterator
The file was modifiedlibcxx/include/exception
The file was modifiedlibcxx/test/std/utilities/utility/forward/forward.fail.cpp
The file was modifiedlibcxx/include/istream
The file was modifiedlibcxx/include/__memory/construct_at.h
The file was modifiedlibcxx/include/__algorithm/next_permutation.h
The file was modifiedlibcxx/include/__algorithm/prev_permutation.h
The file was modifiedlibcxx/include/__algorithm/sift_down.h
The file was modifiedlibcxx/include/__iterator/iter_move.h
The file was modifiedlibcxx/include/list
The file was modifiedlibcxx/test/support/poisoned_hash_helper.h
The file was modifiedlibcxx/include/__algorithm/inplace_merge.h
The file was modifiedlibcxx/include/__algorithm/reverse.h
The file was modifiedlibcxx/include/__algorithm/rotate.h
The file was modifiedlibcxx/include/algorithm
The file was modifiedlibcxx/include/__algorithm/move.h
The file was modifiedlibcxx/include/type_traits
The file was addedlibcxx/include/__utility/declval.h
The file was modifiedlibcxx/include/utility
The file was modifiedlibcxx/include/unordered_map
The file was addedlibcxx/include/__utility/move.h
The file was modifiedlibcxx/include/__algorithm/shift_right.h
The file was modifiedlibcxx/include/scoped_allocator
The file was modifiedlibcxx/include/stack
The file was modifiedlibcxx/include/__algorithm/nth_element.h
The file was modifiedlibcxx/include/unordered_set
The file was modifiedlibcxx/include/queue
The file was modifiedlibcxx/include/vector
The file was modifiedlibcxx/include/__ranges/all.h
The file was modifiedlibcxx/include/deque
The file was modifiedlibcxx/include/set
The file was modifiedlibcxx/include/CMakeLists.txt
The file was modifiedlibcxx/include/filesystem
Commit 6ca730e7cb0b3af37a3a45344d0df1bac984779f by llvmgnsyncbot
[gn build] Port 6adbc83ee9e4
The file was modifiedllvm/utils/gn/secondary/libcxx/include/BUILD.gn
Commit ba032a614a009c28eb1232efff7841c96eb828e0 by zoecarver
[libcxx][ranges] Enable borrowed range for drop view when T has borrowing enabled.
The file was modifiedlibcxx/test/std/ranges/range.adaptors/range.drop/types.h
The file was modifiedlibcxx/include/__ranges/drop_view.h
The file was modifiedlibcxx/test/std/ranges/range.adaptors/range.drop/general.pass.cpp
Commit 46afddec413f8dbdf9775073d9c3b8c83cd6b637 by zoecarver
[libcxx][nfc] Update the synopsis comment in <ranges> to include drop_view.
The file was modifiedlibcxx/include/ranges
Commit d0641826121d61cbf688dc8cd4bd368939292689 by lebedev.ri
[SimplifyCFG] Tail-merging all blocks with `resume` terminator

Similar to what we already do for `ret` terminators.
As noted by @rnk, clang seems to already generate a single `ret`/`resume`,
so this isn't likely to cause widespread changes.

Reviewed By: rnk

Differential Revision: https://reviews.llvm.org/D104849
The file was modifiedllvm/test/Transforms/SimplifyCFG/tail-merge-resume.ll
The file was modifiedllvm/lib/Transforms/Scalar/SimplifyCFGPass.cpp
Commit 3453f3dd46f5214e028cb33818b10c5d995cd858 by aakanksha555
[AMDGPU] Add gfx1035 target

Differential Revision: https://reviews.llvm.org/D104804
The file was modifiedclang/lib/Basic/Targets/AMDGPU.cpp
The file was modifiedllvm/lib/Target/AMDGPU/GCNProcessors.td
The file was modifiedllvm/test/MC/Disassembler/AMDGPU/gfx1030_dasm_new.txt
The file was modifiedllvm/test/Object/AMDGPU/elf-header-flags-mach.yaml
The file was modifiedllvm/test/tools/llvm-readobj/ELF/amdgpu-elf-headers.test
The file was modifiedclang/lib/Basic/Cuda.cpp
The file was modifiedclang/test/Driver/amdgpu-mcpu.cl
The file was modifiedllvm/include/llvm/Support/TargetParser.h
The file was modifiedllvm/docs/AMDGPUUsage.rst
The file was modifiedllvm/lib/Support/TargetParser.cpp
The file was modifiedllvm/test/tools/llvm-objdump/ELF/AMDGPU/subtarget.ll
The file was modifiedllvm/lib/ObjectYAML/ELFYAML.cpp
The file was modifiedclang/test/Driver/amdgpu-macros.cl
The file was modifiedllvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.cpp
The file was modifiedllvm/test/MC/Disassembler/AMDGPU/gfx1011_dasm_dlops.txt
The file was modifiedclang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/elf-header-flags-mach.ll
The file was modifiedopenmp/libomptarget/plugins/amdgpu/impl/get_elf_mach_gfx_name.cpp
The file was modifiedllvm/test/MC/AMDGPU/gfx1030_new.s
The file was modifiedclang/lib/Basic/Targets/NVPTX.cpp
The file was modifiedllvm/lib/Object/ELFObjectFile.cpp
The file was modifiedclang/include/clang/Basic/Cuda.h
The file was modifiedclang/test/CodeGenOpenCL/amdgpu-features.cl
The file was modifiedllvm/include/llvm/BinaryFormat/ELF.h
The file was modifiedclang/test/Misc/target-invalid-cpu-note.c
The file was modifiedllvm/test/MC/AMDGPU/gfx1030_err.s
The file was modifiedllvm/test/CodeGen/AMDGPU/directive-amdgcn-target.ll
The file was modifiedllvm/tools/llvm-readobj/ELFDumper.cpp
The file was modifiedllvm/test/MC/AMDGPU/gfx1011_dlops.s
Commit 4867641f3041f7b2530336edfaf6655f98d2dca2 by lebedev.ri
[NFC][Codegen] Autogenerate Thumb2/setjmp_longjmp.ll test
The file was modifiedllvm/test/CodeGen/Thumb2/setjmp_longjmp.ll
Commit 8db0dbbe2c0544c38f33cf64b4cdd5135d524b23 by Akira
[CodeGen] Don't create fake FunctionDecls when generating block/byref
copy/dispose helper functions

We found out that these fake functions would cause clang to crash if the
changes proposed in https://reviews.llvm.org/D98799 were made.

The original patch was reverted in f681fd927e883301658dcac9a78109ee0aba12a8
because debug locations were missing in the body of the block byref
helper functions. This patch fixes the bug by calling CreateArtificial
after the calls to StartFunction.

Differential Revision: https://reviews.llvm.org/D104082
The file was modifiedclang/test/CodeGenObjC/block-byref-debuginfo.m
The file was modifiedclang/test/CodeGenCXX/debug-info-blocks.cpp
The file was modifiedclang/lib/CodeGen/CGBlocks.cpp
The file was modifiedclang/test/CodeGenObjC/debug-info-block-helper.m
The file was modifiedclang/test/CodeGenObjC/debug-info-blocks.m
Commit b3ccf4fc02cdb12eb0929ad9f9dfdec39b785e6a by bjoern
[clang-format][NFC] Fix documentation

This amends 64cf5eba06bd4f81954253b1e7a10be6fe92403e.
The file was modifiedclang/include/clang/Format/Format.h
The file was modifiedclang/docs/ClangFormatStyleOptions.rst
Commit 1eda5453f2dcc9a9a4b4578fe74163c529974503 by paulsson
[BuildLibCalls/SimplifyLibCalls]  Fix attributes on created CallInst instructions.

- When emitting libcalls, do not only pass the calling convention from the
  function prototype but also the attributes.

- Do not pass attributes from e.g. libc memcpy to llvm.memcpy.

Review: Reid Kleckner, Eli Friedman, Arthur Eubanks

Differential Revision: https://reviews.llvm.org/D103992
The file was modifiedllvm/test/Transforms/InstCombine/memcmp-1.ll
The file was modifiedllvm/test/Transforms/InstCombine/printf-3.ll
The file was modifiedllvm/test/Transforms/InstCombine/stpcpy-1.ll
The file was modifiedllvm/test/Transforms/InstCombine/strndup.ll
The file was modifiedllvm/test/Transforms/InstCombine/strcspn-1.ll
The file was modifiedllvm/test/Transforms/InstCombine/strcpy-1.ll
The file was modifiedllvm/test/Transforms/InstCombine/memset_chk-1.ll
The file was modifiedllvm/test/Transforms/InstCombine/fprintf-1.ll
The file was modifiedllvm/test/Transforms/InstCombine/puts-1.ll
The file was modifiedllvm/test/Transforms/MergeICmps/X86/int64-and-ptr.ll
The file was modifiedllvm/test/Other/cgscc-libcall-update.ll
The file was modifiedllvm/test/Transforms/InstCombine/fdiv-cos-sin.ll
The file was modifiedllvm/test/Transforms/InstCombine/strncpy-1.ll
The file was modifiedllvm/test/Transforms/MergeICmps/X86/gep-references-bb.ll
The file was modifiedllvm/test/Transforms/InstCombine/strcmp-memcmp.ll
The file was modifiedllvm/test/Transforms/InstCombine/float-shrink-compare.ll
The file was modifiedllvm/test/Transforms/InstCombine/stpcpy_chk-1.ll
The file was modifiedllvm/test/Transforms/InstCombine/2010-05-30-memcpy-Struct.ll
The file was modifiedllvm/test/Transforms/InstCombine/exp2-1.ll
The file was modifiedllvm/test/Transforms/MergeICmps/X86/alias-merge-blocks.ll
The file was modifiedllvm/test/Transforms/InstCombine/strcpy_chk-1.ll
The file was modifiedllvm/test/Transforms/InstCombine/pow_fp_int.ll
The file was modifiedllvm/test/Transforms/InstCombine/fputs-1.ll
The file was modifiedllvm/test/Transforms/InstCombine/mempcpy.ll
The file was modifiedllvm/test/Transforms/InstCombine/simplify-libcalls.ll
The file was modifiedllvm/test/Transforms/MergeICmps/X86/multiple-blocks-does-work.ll
The file was modifiedllvm/test/Transforms/InstCombine/pow_fp_int16.ll
The file was modifiedllvm/test/Transforms/MergeICmps/X86/entry-block-shuffled.ll
The file was modifiedllvm/test/Transforms/InstCombine/fortify-folding.ll
The file was modifiedllvm/test/Transforms/InstCombine/sqrt.ll
The file was addedllvm/test/Transforms/InstCombine/libcall-param-attrs.ll
The file was modifiedllvm/test/Transforms/InstCombine/objsize.ll
The file was modifiedllvm/test/Transforms/InstCombine/strncpy_chk-1.ll
The file was modifiedllvm/test/Transforms/InstCombine/strcmp-1.ll
The file was modifiedllvm/test/Transforms/InstCombine/printf-2.ll
The file was modifiedllvm/test/Transforms/InstCombine/realloc.ll
The file was modifiedllvm/test/Transforms/MergeICmps/X86/split-block-does-work.ll
The file was modifiedllvm/test/Transforms/InstCombine/fputs-opt-size.ll
The file was modifiedllvm/test/Transforms/MergeICmps/X86/pair-int32-int32.ll
The file was modifiedllvm/test/Transforms/InstCombine/ARM/strcmp.ll
The file was modifiedllvm/test/Transforms/InstCombine/sprintf-1.ll
The file was modifiedllvm/test/Transforms/InstCombine/debug-line.ll
The file was modifiedllvm/test/Transforms/InstCombine/strchr-1.ll
The file was modifiedllvm/test/Transforms/InstCombine/fdiv-sin-cos.ll
The file was modifiedllvm/test/Transforms/InstCombine/strstr-1.ll
The file was modifiedllvm/test/Transforms/InstCombine/memset-1.ll
The file was modifiedllvm/test/Transforms/InstCombine/printf-1.ll
The file was modifiedllvm/test/CodeGen/X86/no-plt-libcalls.ll
The file was modifiedllvm/test/Transforms/MergeICmps/X86/pr41917.ll
The file was modifiedllvm/lib/Transforms/Utils/BuildLibCalls.cpp
The file was modifiedllvm/test/Transforms/InstCombine/strncat-2.ll
The file was modifiedllvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
The file was modifiedllvm/test/Transforms/InstCombine/fwrite-1.ll
Commit 8e0ff44bf896733f04c5cc9e68aee2b777860ddd by nikita.ppv
[InstCombine] Make varargs cast transform compatible with opaque ptrs

The whole transform can be dropped once we have fully transitioned
to opaque pointers (as it's purpose is to remove no-op pointer
casts). For now, make sure that it handles opaque pointers correctly.
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
The file was modifiedllvm/test/Transforms/InstCombine/opaque-ptr.ll
Commit 0464586ac515e8cfebe4c7615387fd625c8869f5 by nemanja.i.ibm
[PowerPC] Combine 64-bit bswap(load) without LDBRX

When targeting CPUs that don't have LDBRX, we end up producing code that is
very inefficient and large for this common idiom. This patch just
optimizes it two 32-bit LWBRX instructions along with a merge.

This fixes https://bugs.llvm.org/show_bug.cgi?id=49610

Differential revision: https://reviews.llvm.org/D104836
The file was modifiedllvm/test/CodeGen/PowerPC/bswap-load-store.ll
The file was addedllvm/test/CodeGen/PowerPC/ld-bswap64-no-ldbrx.ll
The file was modifiedllvm/lib/Target/PowerPC/PPCISelLowering.cpp
Commit a08fa8a508199c6463f5ee5d617e2f360f718067 by bjoern
[Clang-Format] Add ReferenceAlignment directive

This introduces ReferenceAlignment style option modeled around
PointerAlignment.
Style implementors can specify Left, Right, Middle or Pointer to
follow whatever the PointerAlignment option specifies.

Differential Revision: https://reviews.llvm.org/D104096
The file was modifiedclang/lib/Format/Format.cpp
The file was modifiedclang/docs/ClangFormatStyleOptions.rst
The file was modifiedclang/include/clang/Format/Format.h
The file was modifiedclang/lib/Format/TokenAnnotator.cpp
The file was modifiedclang/unittests/Format/FormatTest.cpp
The file was modifiedclang/lib/Format/TokenAnnotator.h
Commit 7110510ecacf9eecc56d452e9ed3bf47fdee16a5 by aeubanks
[WPD] Don't optimize calls more than once

WPD currently assumes that there is a one to one correspondence between
type test assume sequences and virtual calls. However, with
-fstrict-vtable-pointers this may not be true. This ends up causing
crashes when we try to optimize a virtual call more than once (
applyUniformRetValOpt()/applyUniqueRetValOpt()/applyVirtualConstProp()/applySingleImplDevirt()).

applySingleImplDevirt() actually didn't previous crash because it would
replace the devirtualized call with the same direct call. Adding an
assert that the call is indirect causes the corresponding test to crash
with the rest of the patch.

This makes Chrome successfully build with -fstrict-vtable-pointers + WPD.

Reviewed By: tejohnson

Differential Revision: https://reviews.llvm.org/D104798
The file was addedllvm/test/Transforms/WholeProgramDevirt/uniform-retval-multiple-assumes.ll
The file was addedllvm/test/Transforms/WholeProgramDevirt/unique-retval-multiple-assumes.ll
The file was modifiedllvm/lib/Transforms/IPO/WholeProgramDevirt.cpp
The file was addedllvm/test/Transforms/WholeProgramDevirt/devirt-single-impl-multiple-assumes.ll
The file was addedllvm/test/Transforms/WholeProgramDevirt/virtual-const-prop-multiple-assumes.ll
Commit 4c8174f54b4ec3c6dac8ad446567174442bf3c29 by aeubanks
[OpaquePtr] Introduce option to force all pointers to be opaque pointers

We don't want to start updating tests to use opaque pointers until we're
close to the opaque pointer transition. However, before the transition
we want to run tests as if pointers are opaque pointers to see if there
are any crashes.

At some point when we have a flag to only create opaque pointers in the
bitcode and textual IR readers, and when we have fixed all places that
try to read a pointee type, this flag will be useless. However, until
then, this can help us find issues more easily.

Since the cl::opt is read into LLVMContext, we need to make sure
LLVMContext is created after cl::ParseCommandLineOptions().

Previously ValueEnumerator would visit the value types of global values
via the pointer type, but with opaque pointers we have to manually visit
the value type.

Reviewed By: nikic, dexonsmith

Differential Revision: https://reviews.llvm.org/D103503
The file was modifiedllvm/lib/IR/Type.cpp
The file was modifiedllvm/lib/Bitcode/Writer/ValueEnumerator.cpp
The file was modifiedllvm/lib/IR/LLVMContextImpl.h
The file was addedllvm/test/Other/force-opaque-ptrs.ll
The file was modifiedllvm/lib/IR/LLVMContextImpl.cpp
The file was modifiedllvm/tools/llvm-as/llvm-as.cpp
The file was modifiedllvm/tools/llvm-dis/llvm-dis.cpp
The file was modifiedllvm/tools/opt/opt.cpp
Commit 5cb20ef8a235c2027489a196bba27630ca21a00b by nikita.ppv
[InstCombine] Make indexed compare fold opaque ptr compatible

Rather than relying on pointer type equality (which, for a change,
is silently incorrect with opaque pointers) check that the GEP
source element types match.
The file was modifiedllvm/test/Transforms/InstCombine/indexed-gep-compares.ll
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
Commit f26adaa28d55a174c7ba2f4d49f4f942a04da922 by code
[compiler-rt][test] fix zero_page_pc on arm64e

on arm64e, pointer auth would catch this access violation before asan.
sign the function pointer so pointer auth will ignore this violation and let asan catch it in this test case.

rdar://79652167

Reviewed By: delcypher

Differential Revision: https://reviews.llvm.org/D104828
The file was modifiedcompiler-rt/test/asan/TestCases/zero_page_pc.cpp
Commit e2d4b02404af13a600f27b67cad86682fd298efa by llvm-project
[Polly][ScopInliner] Indicate if the IR has changed.

Return true to indicate that the IR has changed if the nested pass
manager has changed it.

Fixes the ScopInliner tests in the LLVM_ENABLE_EXPENSIVE_CHECKS=ON
configuration.

Thanks to Alexandre Ganea for reporting.
The file was modifiedpolly/lib/Transform/ScopInliner.cpp
Commit 4a8503c8e04a5252193d58bb57a0111e7df05104 by jezng
[lld-macho] Align all cstrings to 16 bytes when deduplicating

We previously did this only for x86_64, but it turns out that
arm64 needs this too -- see PR50791.

Ultimately this is a hack, and we should avoid over-aligning strings
that don't need it. I'm just having a hard time figuring out how ld64 is
determining the right alignment.

No new test for this since we were already testing this behavior for
x86_64, and extending it to arm64 seems too trivial.

Reviewed By: #lld-macho, thakis

Differential Revision: https://reviews.llvm.org/D104835
The file was modifiedlld/MachO/SyntheticSections.cpp
Commit 29774016d421aa648bf29e9677a1e58df5ea88a8 by llvm
[LangRef] clarify the meaning of noimplicitfloat

Adds some more text to the documentation for the noimplicitfloat
function attribute. Hopefully, this makes it clearer what
qualifies an implicit vs. explicit float, without becoming overly
long or going into target-specific details.

Reviewed By: rnk, craig.topper

Differential Revision: https://reviews.llvm.org/D104061
The file was modifiedllvm/docs/LangRef.rst
Commit d09218a82e1a5dc082bff0b0c4f5cfbdf7736c7d by kparzysz
[Hexagon] Opaquify pointer usage in GEP commoning
The file was modifiedllvm/lib/Target/Hexagon/HexagonCommonGEP.cpp
Commit 3eed57e7ef7da5eda765ccc19fd26fb8dfcd8d41 by martin
[ADT] Rename StringRef case insensitive methods for clarity

Rename functions with the `xx_lower()` names to `xx_insensitive()`.
This was requested during the review of D104218.

Test names and variables in llvm/unittests/ADT/StringRefTest.cpp
that refer to "lower" are renamed to "insensitive" correspondingly.

Unused function aliases with the former method names are left
in place (without any deprecation attributes) for transition purposes.

All references within the monorepo will be changed (with essentially
mechanical changes), and then the old names will be removed in a
later commit.

Also remove the superfluous method names at the start of doxygen
comments, for the methods that are touched here. (There are more
occurrances of this left in other methods though.) Also remove
duplicate doxygen comments from the implementation file.

Differential Revision: https://reviews.llvm.org/D104819
The file was modifiedllvm/lib/Support/StringRef.cpp
The file was modifiedllvm/include/llvm/ADT/StringRef.h
The file was modifiedllvm/unittests/ADT/StringRefTest.cpp
Commit 42f74e824908f164f31e1d9e913dbd975d03fe4a by martin
[llvm] Rename StringRef _lower() method calls to _insensitive()

This is a mechanical change. This actually also renames the
similarly named methods in the SmallString class, however these
methods don't seem to be used outside of the llvm subproject, so
this doesn't break building of the rest of the monorepo.
The file was modifiedllvm/lib/MC/MCParser/MasmParser.cpp
The file was modifiedllvm/tools/llvm-rc/ResourceScriptParser.cpp
The file was modifiedllvm/lib/MC/MCParser/COFFMasmParser.cpp
The file was modifiedllvm/lib/Target/Lanai/AsmParser/LanaiAsmParser.cpp
The file was modifiedllvm/tools/llvm-rc/ResourceScriptCppFilter.cpp
The file was modifiedllvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
The file was modifiedllvm/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.cpp
The file was modifiedllvm/unittests/Support/CommandLineTest.cpp
The file was modifiedllvm/lib/Target/AArch64/AArch64MachineFunctionInfo.cpp
The file was modifiedllvm/lib/DebugInfo/PDB/Native/GSIStreamBuilder.cpp
The file was modifiedllvm/lib/Option/OptTable.cpp
The file was modifiedllvm/lib/Target/Sparc/AsmParser/SparcAsmParser.cpp
The file was modifiedllvm/lib/Support/VirtualFileSystem.cpp
The file was modifiedllvm/lib/Target/PowerPC/AsmParser/PPCAsmParser.cpp
The file was modifiedllvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
The file was modifiedllvm/tools/bugpoint/ToolRunner.cpp
The file was modifiedllvm/utils/TableGen/AsmMatcherEmitter.cpp
The file was modifiedllvm/tools/llvm-rc/ResourceScriptStmt.h
The file was modifiedllvm/lib/Target/PowerPC/PPCTargetTransformInfo.cpp
The file was modifiedllvm/lib/Target/Hexagon/AsmParser/HexagonAsmParser.cpp
The file was modifiedllvm/tools/llvm-rc/llvm-rc.cpp
The file was modifiedllvm/lib/ProfileData/InstrProfReader.cpp
The file was modifiedllvm/tools/llvm-objcopy/llvm-objcopy.cpp
The file was modifiedllvm/lib/Support/Windows/Path.inc
The file was modifiedllvm/tools/llvm-jitlink/llvm-jitlink.cpp
The file was modifiedllvm/tools/llvm-rc/ResourceFileWriter.cpp
The file was modifiedllvm/tools/llvm-cov/llvm-cov.cpp
The file was modifiedllvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
The file was modifiedllvm/include/llvm/ADT/StringSwitch.h
The file was modifiedllvm/tools/llvm-ar/llvm-ar.cpp
The file was modifiedllvm/unittests/ADT/SmallStringTest.cpp
The file was modifiedllvm/lib/ToolDrivers/llvm-dlltool/DlltoolDriver.cpp
The file was modifiedllvm/tools/llvm-pdbutil/DumpOutputStyle.cpp
The file was modifiedllvm/tools/llvm-rc/ResourceScriptToken.cpp
The file was modifiedllvm/include/llvm/Support/FormatProviders.h
The file was modifiedllvm/lib/Target/WebAssembly/AsmParser/WebAssemblyAsmParser.cpp
The file was modifiedllvm/lib/Target/Sparc/LeonPasses.cpp
The file was modifiedllvm/lib/Target/PowerPC/PPCISelLowering.cpp
The file was modifiedllvm/lib/FileCheck/FileCheck.cpp
The file was modifiedllvm/include/llvm/ADT/SmallString.h
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.cpp
The file was modifiedllvm/lib/MC/MCParser/AsmParser.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUSubtarget.cpp
The file was modifiedllvm/lib/Target/MSP430/AsmParser/MSP430AsmParser.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPULibCalls.cpp
The file was modifiedllvm/include/llvm/Support/VirtualFileSystem.h
The file was modifiedllvm/lib/Support/StringExtras.cpp
The file was modifiedllvm/tools/llvm-objdump/llvm-objdump.cpp
The file was modifiedllvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCDuplexInfo.cpp
The file was modifiedllvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
The file was modifiedllvm/lib/Target/ARM/ARMISelLowering.cpp
Commit e5c7c171e5db6af1e3dca1059df4287b0d147eaf by martin
[clang] Rename StringRef _lower() method calls to _insensitive()

This is mostly a mechanical change, but a testcase that contains
parts of the StringRef class (clang/test/Analysis/llvm-conventions.cpp)
isn't touched.
The file was modifiedclang/lib/Lex/PPDirectives.cpp
The file was modifiedclang/lib/StaticAnalyzer/Checkers/GCDAntipatternChecker.cpp
The file was modifiedclang/lib/Lex/PPMacroExpansion.cpp
The file was modifiedclang/lib/Analysis/CalledOnceCheck.cpp
The file was modifiedclang/lib/Driver/ToolChains/Hexagon.cpp
The file was modifiedclang/lib/Format/SortJavaScriptImports.cpp
The file was modifiedclang/lib/Tooling/Inclusions/HeaderIncludes.cpp
The file was modifiedclang/lib/Driver/ToolChains/Clang.cpp
The file was modifiedclang/lib/Driver/Driver.cpp
The file was modifiedclang/lib/Format/UsingDeclarationsSorter.cpp
The file was modifiedclang/lib/Basic/FileManager.cpp
The file was modifiedclang/lib/Driver/ToolChains/Fuchsia.cpp
The file was modifiedclang/lib/Driver/ToolChains/Gnu.cpp
The file was modifiedclang/lib/StaticAnalyzer/Checkers/Iterator.cpp
The file was modifiedclang/lib/CodeGen/TargetInfo.cpp
The file was modifiedclang/tools/driver/driver.cpp
The file was modifiedclang/lib/Sema/SemaChecking.cpp
The file was modifiedclang/lib/Analysis/RetainSummaryManager.cpp
The file was modifiedclang/lib/StaticAnalyzer/Checkers/ContainerModeling.cpp
The file was modifiedclang/lib/Driver/ToolChains/MSVC.cpp
The file was modifiedclang/lib/StaticAnalyzer/Checkers/CStringChecker.cpp
The file was modifiedclang/lib/Sema/SemaCodeComplete.cpp
The file was modifiedclang/lib/ASTMatchers/Dynamic/Marshallers.cpp
The file was modifiedclang/lib/Format/Format.cpp
The file was modifiedclang/lib/Tooling/InterpolatingCompilationDatabase.cpp
The file was modifiedclang/lib/Frontend/CompilerInvocation.cpp
The file was modifiedclang/lib/Sema/CodeCompleteConsumer.cpp
The file was modifiedclang/lib/Driver/ToolChains/Arch/RISCV.cpp
The file was modifiedclang/lib/Lex/HeaderMap.cpp
The file was modifiedclang/tools/clang-scan-deps/ClangScanDeps.cpp
The file was modifiedclang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp
The file was modifiedclang/tools/libclang/CIndexCodeCompletion.cpp
The file was modifiedclang/tools/clang-refactor/TestSupport.cpp
The file was modifiedclang/unittests/Tooling/CompilationDatabaseTest.cpp
The file was modifiedclang/lib/Driver/ToolChains/MinGW.cpp
Commit 86029e4c220b91be728f6ff6a17cad098821e657 by martin
[clang-tools-extra] Rename StringRef _lower() method calls to _insensitive()
The file was modifiedclang-tools-extra/clang-tidy/cppcoreguidelines/PreferMemberInitializerCheck.cpp
The file was modifiedclang-tools-extra/clangd/Quality.cpp
The file was modifiedclang-tools-extra/clangd/index/SymbolCollector.cpp
The file was modifiedclang-tools-extra/clang-tidy/ClangTidyCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/readability/UppercaseLiteralSuffixCheck.cpp
The file was modifiedclang-tools-extra/clangd/CompileCommands.cpp
The file was modifiedclang-tools-extra/clang-tidy/readability/InconsistentDeclarationParameterNameCheck.cpp
The file was modifiedclang-tools-extra/modularize/ModularizeUtilities.cpp
The file was modifiedclang-tools-extra/clang-tidy/misc/StaticAssertCheck.cpp
The file was modifiedclang-tools-extra/clangd/support/Path.cpp
The file was modifiedclang-tools-extra/clang-tidy/altera/KernelNameRestrictionCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/bugprone/ArgumentCommentCheck.cpp
The file was modifiedclang-tools-extra/clangd/InlayHints.cpp
The file was modifiedclang-tools-extra/clangd/ConfigYAML.cpp
The file was modifiedclang-tools-extra/clangd/HeaderSourceSwitch.cpp
The file was modifiedclang-tools-extra/clangd/CodeComplete.cpp
Commit 3c6f8ca7c9ac99f1606fd0fdd21487675bf3f715 by martin
[lld] Rename StringRef _lower() method calls to _insensitive()
The file was modifiedlld/tools/lld/lld.cpp
The file was modifiedlld/COFF/DriverUtils.cpp
The file was modifiedlld/Common/Args.cpp
The file was modifiedlld/MinGW/Driver.cpp
The file was modifiedlld/ELF/ScriptParser.cpp
The file was modifiedlld/ELF/Relocations.cpp
The file was modifiedlld/COFF/DebugTypes.cpp
The file was modifiedlld/COFF/Driver.cpp
The file was modifiedlld/lib/Driver/DarwinLdDriver.cpp
Commit e50f9c419a84d1e58c38aa660c445395ad8056e6 by martin
[lldb] Rename StringRef _lower() method calls to _insensitive()
The file was modifiedlldb/source/Plugins/Process/minidump/ProcessMinidump.cpp
The file was modifiedlldb/source/Interpreter/CommandObject.cpp
The file was modifiedlldb/source/Utility/ArchSpec.cpp
The file was modifiedlldb/source/Utility/Log.cpp
The file was modifiedlldb/source/Interpreter/CommandInterpreter.cpp
The file was modifiedlldb/source/Interpreter/OptionValueProperties.cpp
The file was modifiedlldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
The file was modifiedlldb/source/Interpreter/ScriptInterpreter.cpp
The file was modifiedlldb/source/Plugins/Process/Windows/Common/ProcessWindows.cpp
The file was modifiedlldb/source/Host/common/NativeRegisterContext.cpp
The file was modifiedlldb/source/Host/windows/ProcessLauncherWindows.cpp
The file was modifiedlldb/source/Target/Language.cpp
The file was modifiedlldb/source/Plugins/SymbolFile/PDB/SymbolFilePDB.cpp
The file was modifiedlldb/source/Commands/CommandObjectMultiword.cpp
The file was modifiedlldb/source/Interpreter/OptionArgParser.cpp
The file was modifiedlldb/source/Initialization/SystemInitializerCommon.cpp
The file was modifiedlldb/source/Plugins/SymbolFile/NativePDB/CompileUnitIndex.cpp
The file was modifiedlldb/source/Utility/ConstString.cpp
The file was modifiedlldb/source/Utility/FileSpec.cpp
The file was modifiedlldb/source/Target/RegisterContext.cpp
The file was modifiedlldb/source/Plugins/Language/ObjCPlusPlus/ObjCPlusPlusLanguage.cpp
The file was modifiedlldb/source/Plugins/SymbolFile/NativePDB/PdbFPOProgramToDWARFExpression.cpp
The file was modifiedlldb/source/Plugins/Language/ObjC/ObjCLanguage.cpp
Commit 9264728450c350a3e581e9914c4a26ddccdba0d1 by martin
[mlir] Rename StringRef _lower() method calls to _insensitive()
The file was modifiedmlir/test/lib/Dialect/Test/TestTypes.cpp
Commit 2e4a2b8430aca6f7aef8100a5ff81ca0328d03f9 by martin
[ADT] Complete the StringRef case insensitive method renaming

Remove the old name for the methods. These were only left behind to
ease the transition for downstreams.

Differential Revision: https://reviews.llvm.org/D104820
The file was modifiedllvm/include/llvm/ADT/StringRef.h
Commit 9ca0171a9ffdef5fdb1511d197a3fd72490362de by omair.javaid
[LLDB] Fix broken LLDB build due MemoryTagManager.h

Commit e0f2744a115c41e8d295b93dd74b39535c852390 broke LLDB build.
This patch fixes the build. Tested on Arm/AArch64 Linux.

Differential Revision: https://reviews.llvm.org/D97281
The file was modifiedlldb/include/lldb/Target/MemoryTagManager.h
Commit f1e2d5851bf869685971d5acb894b39a89ea2d49 by i
[OptTable] Rename PrintHelp to printHelp

To be consistent with other member functions and match the coding standard.
The file was modifiedclang/lib/Driver/Driver.cpp
The file was modifiedclang/tools/driver/cc1as_main.cpp
The file was modifiedllvm/tools/llvm-objdump/llvm-objdump.cpp
The file was modifiedllvm/tools/llvm-symbolizer/llvm-symbolizer.cpp
The file was modifiedllvm/include/llvm/Option/OptTable.h
The file was modifiedllvm/tools/llvm-lipo/llvm-lipo.cpp
The file was modifiedllvm/tools/llvm-mt/llvm-mt.cpp
The file was modifiedllvm/unittests/Option/OptionParsingTest.cpp
The file was modifiedlldb/tools/driver/Driver.cpp
The file was modifiedlldb/tools/lldb-server/lldb-gdbserver.cpp
The file was modifiedlldb/tools/lldb-vscode/lldb-vscode.cpp
The file was modifiedllvm/tools/llvm-ml/llvm-ml.cpp
The file was modifiedllvm/lib/ToolDrivers/llvm-lib/LibDriver.cpp
The file was modifiedclang/lib/FrontendTool/ExecuteCompilerInvocation.cpp
The file was modifiedllvm/tools/llvm-rc/llvm-rc.cpp
The file was modifiedllvm/lib/Option/OptTable.cpp
The file was modifiedlld/MinGW/Driver.cpp
The file was modifiedlld/ELF/DriverUtils.cpp
The file was modifiedflang/lib/FrontendTool/ExecuteCompilerInvocation.cpp
The file was modifiedlld/wasm/Driver.cpp
The file was modifiedlld/COFF/DriverUtils.cpp
The file was modifiedllvm/tools/llvm-cvtres/llvm-cvtres.cpp
The file was modifiedlld/lib/Driver/DarwinLdDriver.cpp
The file was modifiedllvm/tools/llvm-objcopy/ConfigManager.cpp
The file was modifiedllvm/lib/ToolDrivers/llvm-dlltool/DlltoolDriver.cpp
The file was modifiedllvm/tools/dsymutil/dsymutil.cpp
The file was modifiedlld/MachO/DriverUtils.cpp
Commit 3b4aad1186e8e8e6f6c7887cb5e8d9bfd7d3ce2f by omair.javaid
Fix typo in TestMemoryTag.py

TestMemoryTag.py should fail if underlying target doesnt support MTE.

Differential Revision: https://reviews.llvm.org/D97285
The file was modifiedlldb/test/API/functionalities/memory/tag/TestMemoryTag.py
Commit c4ca39e0f54ba81eefe8d48e25f7d71bbe49d952 by i
[ELF] Fix .rela.llvm.call-graph-profile detection after D104080

A SHT_SYMTAB section's sh_info is the number of local symbols.
sh_info may coincide with the section header index of SHT_LLVM_CALL_GRAPH_PROFILE.
The file was modifiedlld/ELF/InputFiles.cpp
Commit 473a3a773ea565612e836ae6c2093178c5a9eb72 by omair.javaid
Disable check_qmemtags unit tests

check_qmemtags tests are broken on Arm 32 bits. This patch disables
these tests.

Differential Revision: https://reviews.llvm.org/D95602
The file was modifiedlldb/unittests/Process/gdb-remote/GDBRemoteCommunicationClientTest.cpp
Commit 6413226dce060581dbc2ce805e9d3311d7245e22 by thomasraoux
[mlir][VectorToGPU] Add conversion for splat constant to MMA const matrix

Differential Revision: https://reviews.llvm.org/D104133
The file was modifiedmlir/lib/Conversion/VectorToGPU/VectorToGPU.cpp
The file was modifiedmlir/test/Conversion/VectorToGPU/vector-to-mma-ops.mlir
Commit 1a86559276411d01c8b5fc381c16d9265da4e54a by thomasraoux
[mlir][VectorToGPU] Add conversion for scf::For op with Matrix operands

Differential Revision: https://reviews.llvm.org/D104134
The file was modifiedmlir/test/Conversion/VectorToGPU/vector-to-mma-ops.mlir
The file was modifiedmlir/lib/Conversion/VectorToGPU/VectorToGPU.cpp
Commit 975af861f38fe2f11f98aeb990e9b6ee9dfee9ea by omair.javaid
Disable TestAArch64UnwindPAC.py for non PAC targets

TestAArch64UnwindPAC.py started failing on LLDB buildbot as underlying
hardware does not support PAC. This patch skips this test for targets
which do not support PAC feature.
The file was modifiedlldb/test/API/functionalities/unwind/aarch64_unwind_pac/TestAArch64UnwindPAC.py
Commit a1526af46466009ffbefe9dcb23f8b2944ca75a7 by Tony.Tye
[AMDGPU] Reserve AMDGPU ELF e_flags machine 0x43

Reviewed By: kzhuravl, rampitec

Differential Revision: https://reviews.llvm.org/D104872
The file was modifiedllvm/docs/AMDGPUUsage.rst
The file was modifiedllvm/include/llvm/BinaryFormat/ELF.h
Commit b2787945f9cd2b4705dedea079b4d532c27817f9 by Andrey.Churbanov
[OpenMP][NFC] libomp: fix wrong debug assertion.

Normalized bounds of chunk of iterations to steal from are inclusive,
so upper bound should not be decremented in expression to check.
Problem was in attempt to steal iterations 0:0, that caused assertion after
wrong decrement. Reported in comment to https://reviews.llvm.org/D103648.

Differential Revision: https://reviews.llvm.org/D104880
The file was modifiedopenmp/runtime/src/kmp_dispatch.cpp
Commit 744146f60bbf74872039871dee771d18f69bff89 by gusss
[MLIR][Sparse] Refactor lattice code into its own file

Moves iteration lattice/merger code into new SparseTensor/Utils directory. A follow-up CL will add lattice/merger unit tests.

Reviewed By: aartbik

Differential Revision: https://reviews.llvm.org/D104757
The file was modifiedmlir/lib/Dialect/SparseTensor/CMakeLists.txt
The file was addedmlir/include/mlir/Dialect/SparseTensor/Utils/Merger.h
The file was addedmlir/lib/Dialect/SparseTensor/Utils/CMakeLists.txt
The file was modifiedmlir/lib/Dialect/SparseTensor/Transforms/CMakeLists.txt
The file was modifiedmlir/lib/Dialect/SparseTensor/Transforms/Sparsification.cpp
The file was addedmlir/lib/Dialect/SparseTensor/Utils/Merger.cpp
Commit dcccb2f59401f309d75b9d80afed443464c50d9d by nemanja.i.ibm
[PowerPC] Fix bswap combine for big endian systems

Commit 0464586ac515e8cfebe4c7615387fd625c8869f5 added a combine
for a 64-bit load feeding a bswap but the implementation is only
correct for little endian systems.
This fixes it for big endian systems.
The file was modifiedllvm/test/CodeGen/PowerPC/ld-bswap64-no-ldbrx.ll
The file was modifiedllvm/test/CodeGen/PowerPC/bswap-load-store.ll
The file was modifiedllvm/lib/Target/PowerPC/PPCISelLowering.cpp
Commit f0dd6faaecc89cea35a4aed591604b6a1b17a422 by gcmn
Update Bazel build for 744146f60b

Updates Bazel build files to match
https://github.com/llvm/llvm-project/commit/744146f60b

Differential Revision: https://reviews.llvm.org/D104885
The file was modifiedutils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Commit ef906573a127cffef7cae75d5155c15a8a2a3a5e by nemanja.i.ibm
[PowerPC] Fix vec_add for 64-bit on pre-Power7 subtargets

The shift of the carry was actually incorrect.
The file was modifiedclang/test/CodeGen/builtins-ppc-vsx.c
The file was modifiedclang/lib/Headers/altivec.h
Commit d6a91f6c565179e9b2dac700f9a54e105f748a6d by omair.javaid
Revert "[Clang] XFAIL sanitize-coverage-old-pm.c on 32bit Armv8l"

This reverts commit c5028f3473ed50a7433fe278984cd1a755b338b9.
The file was modifiedclang/test/CodeGen/sanitize-coverage-old-pm.c
Commit a1034022888cadca5f2a4700f60beda4f7053c08 by leairmark
Change the flang reshape runtime routine interface to use a result
argument instead of a result result object.

Change the reshape flang unit test to use the new interface. Also, add an
order argument to exercise the order subscript code in the rehsape runtime
routine.

Differential Revision: https://reviews.llvm.org/D104586
The file was modifiedflang/runtime/transformational.cpp
The file was modifiedflang/runtime/transformational.h
The file was modifiedflang/unittests/Evaluate/reshape.cpp
Commit 69d5a6662115499198ebfa07a081e98a6ce4b915 by cjdb
[libcxx][modularisation] splits `<utility>` into self-contained headers

* moves `std::hash` and `std::unary_function` into `__functional`
* Everything else goes into `__utility/${NAME}.h`

Differential Revision: https://reviews.llvm.org/D104002
The file was modifiedlibcxx/test/std/utilities/utility/utility.underlying/to_underlying.pass.cpp
The file was modifiedlibcxx/include/__memory/unique_ptr.h
The file was modifiedlibcxx/include/deque
The file was addedlibcxx/include/__utility/rel_ops.h
The file was modifiedlibcxx/test/support/poisoned_hash_helper.h
The file was modifiedlibcxx/test/std/utilities/memory/util.smartptr/util.smartptr.hash/hash_shared_ptr.pass.cpp
The file was addedlibcxx/include/__functional/unary_function.h
The file was modifiedlibcxx/include/__tree
The file was modifiedlibcxx/test/libcxx/utilities/utility/pairs/pairs.pair/pair.tuple_element.fail.cpp
The file was addedlibcxx/include/__functional/hash.h
The file was modifiedlibcxx/include/CMakeLists.txt
The file was addedlibcxx/include/__functional/unwrap_ref.h
The file was modifiedlibcxx/include/tuple
The file was addedlibcxx/include/__utility/in_place.h
The file was addedlibcxx/include/__utility/piecewise_construct.h
The file was modifiedlibcxx/test/std/utilities/intseq/intseq.make/make_integer_seq.fail.cpp
The file was addedlibcxx/include/__utility/cmp.h
The file was modifiedlibcxx/test/std/utilities/type.index/type.index.hash/enabled_hash.pass.cpp
The file was modifiedlibcxx/test/std/utilities/utility/pairs/pair.astuple/tuple_element.fail.cpp
The file was addedlibcxx/include/__utility/exchange.h
The file was modifiedlibcxx/include/functional
The file was modifiedlibcxx/include/__functional_base
The file was addedlibcxx/include/__utility/integer_sequence.h
The file was modifiedlibcxx/include/span
The file was addedlibcxx/include/__utility/as_const.h
The file was addedlibcxx/include/__utility/pair.h
The file was modifiedlibcxx/test/std/utilities/memory/util.smartptr/util.smartptr.hash/hash_unique_ptr.pass.cpp
The file was modifiedlibcxx/include/module.modulemap
The file was modifiedlibcxx/include/utility
The file was modifiedlibcxx/test/std/utilities/memory/util.smartptr/util.smartptr.hash/enabled_hash.pass.cpp
Commit 67a8931440124da58f53126f4c296b503a7b382b by llvmgnsyncbot
[gn build] Port 69d5a6662115
The file was modifiedllvm/utils/gn/secondary/libcxx/include/BUILD.gn
Commit a4357411107e48e2580b06f4b4f518b2213951b8 by Vitaly Buka
[scudo] Clang-format tests
The file was modifiedcompiler-rt/lib/scudo/standalone/tests/wrappers_cpp_test.cpp
Commit a9f3ac9e3dbb72dee5c7223c1ff972492e010c35 by Vitaly Buka
Revert "[hwasan] print exact mismatch offset for short granules."

Breaks sanitizer-x86_64-linux-android and sanitizer-x86_64-linux-qemu bots.

This reverts commit 7e3f8b8affd0392c997564b5f34c61d6115a3516.
The file was modifiedcompiler-rt/lib/hwasan/hwasan_report.cpp
The file was modifiedcompiler-rt/test/hwasan/TestCases/heap-buffer-overflow-into.c
The file was modifiedcompiler-rt/test/hwasan/TestCases/heap-buffer-overflow.c
Commit e8cded57fbf7b2b81aefd569b95f38ae97948ef0 by omair.javaid
Unsupported sanitize-coverage-old-pm.c on 32 bit Arm

sanitize-coverage-old-pm.c is passing intermittently on different
arm v7 machines. This patch moves it to unsupported on all arm 32
targets reporting armv8l core.
The file was modifiedclang/test/CodeGen/sanitize-coverage-old-pm.c
Commit f225367305c82ce391bb470f735b19e924ff7372 by craig.topper
[RISCV] Add vget/vset intrinsics for inserting and extracting between different lmuls.

These allow getting a whole register from a larger lmul. Or
inserting a whole register into a larger lmul register. Fractional
lmuls are not supported as they would require a vslide.

Based on this update to the intrinsic doc
https://github.com/riscv/rvv-intrinsic-doc/pull/99

Reviewed By: HsiangKai

Differential Revision: https://reviews.llvm.org/D104822
The file was modifiedclang/lib/Sema/SemaChecking.cpp
The file was modifiedclang/include/clang/Basic/riscv_vector.td
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics/vget.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics/vset.c
Commit f3ef4f5bff26ac4196a15dad7773a03b9d6df21d by Jinsong Ji
[PowerPC] Add XL compat __compare_and_swap builtins

Prototype
int __compare_and_swap (volatile int* addr, int* old_val_addr, int
new_val);

int __compare_and_swaplp (volatile long* addr, long* old_val_addr, long
new_val);

Refer to
https://www.ibm.com/docs/en/xl-c-and-cpp-aix/16.1?topic=functions-compare-swap-compare-swaplp

Reviewed By: w2yehia

Differential Revision: https://reviews.llvm.org/D104837
The file was addedclang/test/CodeGen/builtins-ppc-xlcompat-cas.c
The file was modifiedclang/include/clang/Basic/BuiltinsPPC.def
The file was addedclang/test/CodeGen/builtins-ppc-xlcompat-cas-error.c
The file was modifiedclang/lib/Basic/Targets/PPC.cpp
The file was modifiedclang/lib/CodeGen/CGBuiltin.cpp
Commit b904574b3dbdf8e4bc9ebcdfa11144fae5c87aaa by lkail
[PowerPC] Move PPCBranchSelector as close to asm printer as possible

Currently, PPCBranchSelector is not immediately preceding asm printer pass. `-debug-pass=Structure` gives
```
      PowerPC Branch Selector
      Contiguously Lay Out Funclets
      StackMap Liveness Analysis
      Live DEBUG_VALUE analysis
      Lazy Machine Block Frequency Analysis
      Machine Optimization Remark Emitter
      Linux PPC Assembly Printer
```
After the patch
```
      Contiguously Lay Out Funclets
      StackMap Liveness Analysis
      Live DEBUG_VALUE analysis
      PowerPC Branch Selector
      Lazy Machine Block Frequency Analysis
      Machine Optimization Remark Emitter
      Linux PPC Assembly Printer
```

Reviewed By: nemanjai, #powerpc

Differential Revision: https://reviews.llvm.org/D104762
The file was modifiedllvm/test/CodeGen/PowerPC/O3-pipeline.ll
The file was modifiedllvm/lib/Target/PowerPC/PPCTargetMachine.cpp
Commit 8aa17d1eaeb48f8782661680d69c28f2458959ad by jezng
[lld-macho] Move ICF members from InputSection to ConcatInputSection

`icfEqClass` only makes sense on ConcatInputSections since (in contrast
to literal sections) they are deduplicated as an atomic unit.

Similarly, `hasPersonality` and `replacement` don't make sense on
literal sections.

This mirrors LLD-ELF, which stores `icfEqClass` only on non-mergeable
sections.

Reviewed By: #lld-macho, gkm

Differential Revision: https://reviews.llvm.org/D104670
The file was modifiedlld/MachO/InputSection.h
The file was modifiedlld/MachO/UnwindInfoSection.cpp
The file was modifiedlld/MachO/Writer.cpp
The file was modifiedlld/MachO/InputSection.cpp
The file was modifiedlld/MachO/ICF.cpp
Commit 1aa02b37e7dcbf9fb35662fde8c65ac9a277f6b9 by aeubanks
Revert "[BuildLibCalls/SimplifyLibCalls]  Fix attributes on created CallInst instructions."

This reverts commit 1eda5453f2dcc9a9a4b4578fe74163c529974503.

Causes https://crbug.com/1223647:
Incompatible argument and return types for 'returned' attribute
  tail call void @llvm.memset.p0i8.i64(i8* noalias noundef returned writeonly align 1 dereferenceable(255) %arraydecay, i8 0, i64 255, i1 false), !dbg !985
The file was modifiedllvm/test/Transforms/InstCombine/objsize.ll
The file was modifiedllvm/test/Transforms/InstCombine/float-shrink-compare.ll
The file was modifiedllvm/test/Transforms/MergeICmps/X86/multiple-blocks-does-work.ll
The file was modifiedllvm/test/CodeGen/X86/no-plt-libcalls.ll
The file was modifiedllvm/test/Transforms/InstCombine/strchr-1.ll
The file was modifiedllvm/test/Transforms/InstCombine/mempcpy.ll
The file was modifiedllvm/test/Transforms/MergeICmps/X86/entry-block-shuffled.ll
The file was modifiedllvm/test/Transforms/InstCombine/memset-1.ll
The file was modifiedllvm/test/Transforms/InstCombine/exp2-1.ll
The file was modifiedllvm/test/Transforms/InstCombine/strcmp-memcmp.ll
The file was removedllvm/test/Transforms/InstCombine/libcall-param-attrs.ll
The file was modifiedllvm/test/Transforms/InstCombine/strcpy_chk-1.ll
The file was modifiedllvm/test/Transforms/InstCombine/pow_fp_int.ll
The file was modifiedllvm/test/Transforms/InstCombine/stpcpy-1.ll
The file was modifiedllvm/test/Transforms/InstCombine/strncpy_chk-1.ll
The file was modifiedllvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
The file was modifiedllvm/test/Transforms/InstCombine/strcspn-1.ll
The file was modifiedllvm/test/Transforms/InstCombine/memset_chk-1.ll
The file was modifiedllvm/test/Transforms/InstCombine/strncpy-1.ll
The file was modifiedllvm/test/Transforms/MergeICmps/X86/int64-and-ptr.ll
The file was modifiedllvm/test/Transforms/InstCombine/debug-line.ll
The file was modifiedllvm/test/Transforms/InstCombine/puts-1.ll
The file was modifiedllvm/test/Transforms/InstCombine/simplify-libcalls.ll
The file was modifiedllvm/test/Transforms/InstCombine/strcpy-1.ll
The file was modifiedllvm/test/Transforms/InstCombine/memcmp-1.ll
The file was modifiedllvm/test/Transforms/MergeICmps/X86/alias-merge-blocks.ll
The file was modifiedllvm/test/Transforms/InstCombine/pow_fp_int16.ll
The file was modifiedllvm/test/Transforms/InstCombine/strstr-1.ll
The file was modifiedllvm/test/Transforms/InstCombine/fprintf-1.ll
The file was modifiedllvm/test/Transforms/InstCombine/sqrt.ll
The file was modifiedllvm/test/Transforms/InstCombine/ARM/strcmp.ll
The file was modifiedllvm/test/Transforms/InstCombine/printf-3.ll
The file was modifiedllvm/test/Transforms/InstCombine/fdiv-cos-sin.ll
The file was modifiedllvm/test/Transforms/InstCombine/fwrite-1.ll
The file was modifiedllvm/test/Transforms/InstCombine/strcmp-1.ll
The file was modifiedllvm/test/Transforms/MergeICmps/X86/pr41917.ll
The file was modifiedllvm/test/Transforms/MergeICmps/X86/split-block-does-work.ll
The file was modifiedllvm/test/Transforms/InstCombine/fortify-folding.ll
The file was modifiedllvm/test/Transforms/InstCombine/printf-1.ll
The file was modifiedllvm/test/Transforms/InstCombine/fdiv-sin-cos.ll
The file was modifiedllvm/test/Transforms/InstCombine/realloc.ll
The file was modifiedllvm/test/Transforms/InstCombine/sprintf-1.ll
The file was modifiedllvm/test/Transforms/InstCombine/stpcpy_chk-1.ll
The file was modifiedllvm/test/Transforms/MergeICmps/X86/gep-references-bb.ll
The file was modifiedllvm/test/Transforms/InstCombine/2010-05-30-memcpy-Struct.ll
The file was modifiedllvm/test/Other/cgscc-libcall-update.ll
The file was modifiedllvm/test/Transforms/InstCombine/strncat-2.ll
The file was modifiedllvm/test/Transforms/MergeICmps/X86/pair-int32-int32.ll
The file was modifiedllvm/test/Transforms/InstCombine/strndup.ll
The file was modifiedllvm/test/Transforms/InstCombine/printf-2.ll
The file was modifiedllvm/test/Transforms/InstCombine/fputs-1.ll
The file was modifiedllvm/lib/Transforms/Utils/BuildLibCalls.cpp
The file was modifiedllvm/test/Transforms/InstCombine/fputs-opt-size.ll
Commit ca3bdb57fa1ac98b711a735de048c12b5fdd8086 by i
[MC][ELF] Change SHT_LLVM_CALL_GRAPH_PROFILE relocations from SHT_RELA to SHT_REL

... even on targets preferring RELA. The section is only consumed by ld.lld
which can handle REL.

Follow-up to D104080 as I explained in the review. There are two advantages:

* The D104080 code only handles RELA, so arm/i386/mips32 etc may warn for -fprofile-use=/-fprofile-sample-use= usage.
* Decrease object file size for RELA targets

While here, change the relocation to relocate weights, instead of 0,1,2,3,..
I failed to catch the issue during review.
The file was modifiedlld/ELF/Driver.cpp
The file was modifiedllvm/lib/MC/MCELFStreamer.cpp
The file was modifiedllvm/lib/MC/ELFObjectWriter.cpp
The file was modifiedllvm/test/MC/ELF/cgprofile.s
The file was modifiedllvm/test/tools/llvm-readobj/ELF/demangle.test
The file was modifiedllvm/tools/llvm-readobj/ELFDumper.cpp
The file was modifiedlld/ELF/InputFiles.cpp
The file was modifiedllvm/test/tools/llvm-readobj/ELF/call-graph-profile.test
The file was modifiedlld/ELF/InputFiles.h