Changes

Summary

  1. [InstSimplify] add tests for FP rounding intrinsics; NFC (details)
  2. [InstSimplify] fold FP rounding intrinsic with rounded operand (details)
  3. [ELF] Move EhInputSection out of inputSections. NFC (details)
  4. [mlir] Reuse the code between `getMixed*s()` funcs in ViewLikeInterface.cpp. (details)
  5. Revert "[mlir] Reuse the code between `getMixed*s()` funcs in ViewLikeInterface.cpp." (details)
  6. Revert "Revert "[mlir] Reuse the code between `getMixed*s()` funcs in ViewLikeInterface.cpp."" (details)
  7. [mlir][DCA] Fix visiting call ops when run at function scopes (details)
  8. [libc][doc] Update implementation status of exp2f, sinhf, and coshf. (details)
  9. [ELF][test] Test identical CIE content with different personality (details)
  10. [mlir][tosa] Switch missed accessors to prefixed form (NFC) (details)
  11. [RISCV] Pre-RA expand pseudos pass (details)
  12. [ELF][test] Merge .eh_frame tests (details)
  13. [Bazel] Add JITLink/COFFOptions.td (llvmorg-16-init-398-g88181375a3db) (details)
  14. [ExecutionEngine] Ensure newlines at the end of files (NFC) (details)
  15. [Sema] Remove an unused forward declaration (NFC) (details)
  16. [BOLT] Use boolean literals (NFC) (details)
  17. [BOLT] Remove redundant const from return types (NFC) (details)
  18. [BOLT] Remove redundaunt string initialization (NFC) (details)
  19. [Hexagon] Remove unused declaration adjustForCalleeSavedRegsSpillCall (NFC) (details)
  20. Use llvm::any_of (NFC) (details)
  21. Use drop_begin (NFC) (details)
  22. [ELF] Split EhInputSection::pieces into cies and fdes (details)
  23. [ELF] Simplify EhInputSection::split. NFC (details)
  24. [mlir] Remove types from attributes (details)
  25. [clang-repl] XFAIL windows properly in simple-exception test case. (details)
  26. [lld-macho] Support EH frame pointer encodings that use sdata4 (details)
  27. [ELF] redirectSymbols: skip versioned symbol combine if config->versionDefinitions.size() == 2 (details)
  28. Introduce @llvm.threadlocal.address intrinsic to access TLS variable (details)
  29. [ELF] Remove EhFrameSection::addSection. NFC (details)
  30. Use @llvm.threadlocal.address intrinsic to access TLS variable (details)
  31. [NFC] Fill up the title underline in rst file (details)
  32. [AA] Do not track Must in ModRefInfo (details)
  33. [Examples] Fix SimplifyCFG example (details)
  34. [MSSA] Fix expensive checks build (details)
  35. [AA] Drop setModAndRef() function (NFC) (details)
  36. [libc][NFC] Mark a few methods of StringView to constexpr. (details)
  37. [NFC] Fix test failure in windows (details)
  38. [ARMParallelDSP] Remove unnecessary ModRef intersection (NFC) (details)
  39. [GlobalsAA] Remove unnecessary AAResultBase fallback (NFC) (details)
  40. [ELF] .eh_frame: remove config->wordsize padding (details)
  41. [mlir][Math] Add constant folder for ExpM1Op. (details)
  42. [test] Fix threadlocal_address.cpp after D129833 (details)
  43. [libc][NFC] Make the buffer size of the integer to string converter public. (details)
  44. [SimplifyCFG] Allow SimplifyCFG hoisting to skip over non-matching instructions (details)
  45. [cmake] Add LoongArch to config.guess (details)
  46. [cmake] Support native LoongArch builds (details)
  47. [libc][NFC] Mark a constructor of StringView to be constexpr. (details)
  48. [ARM] Simplify ArchGuard predicates in arm_neon.h. (details)
  49. Revert "[SimplifyCFG] Allow SimplifyCFG hoisting to skip over non-matching instructions" (details)
  50. [Clang] Remove unused parameter. NFC (details)
  51. [C++2b] [Modules] Handle HaveModules with C++2b (details)
  52. [ELF] EhInputSection::getParentOffset: fix out-of-bounds access for symbols relative to a non-empty .eh_frame (details)
  53. [clang] Update Clang version from 15 to 16 in scan-build.1. (details)
  54. [libc][NFC] Use STL case for array (details)
  55. Revert "[libc][NFC] Use STL case for array" (details)
  56. Reland [libc][NFC] Use STL case for array (details)
  57. [LV] Add additional tests with multiple chained recurrences. (details)
  58. Fix MLIR Python binding for arith.constant after argument has been changed to an interface (details)
  59. [libc][NFC] Use STL case for functional (details)
  60. [NFC] Use AllocaInst's getAddressSpace helper (details)
  61. [GlobalISel][DebugInfo] salvageDebugInfo analogue for gMIR (details)
  62. Remove empty AffineExpr stride canonicalization in makeCanonicalStridedLayoutExpr (details)
  63. [libc][NFC] Use STL case for limits (details)
  64. [libc][NFC] Use STL case for utility (details)
  65. [RISCV] Extend the Merge Base Offset pass to handle AUIPC+ADDI (details)
  66. [DAGCombiner] Extend visitAND to include EXTRACT_SUBVECTOR (details)
  67. Add support for lowering simd if clause to LLVM IR (details)
  68. [mlir][bazel] Fix bazel build files (details)
  69. [AMDGPU] gfx11 allow dlc for MUBUF atomics (details)
Commit ba295492318f10eb9b28e8583cdb39386779517c by spatel
[InstSimplify] add tests for FP rounding intrinsics; NFC

See issue #56775
The file was modifiedllvm/test/Transforms/InstSimplify/round-intrinsics.ll
Commit 02b3a358926e7bbcac9226cbecbfc3067c2ad61b by spatel
[InstSimplify] fold FP rounding intrinsic with rounded operand

issue #56775

I rearranged the Thumb2 codegen test to avoid simplifying the chain
of rounding instructions. I'm assuming the intent of the test is
to verify lowering of each of those intrinsics.
The file was modifiedllvm/test/CodeGen/Thumb2/mve-laneinterleaving.ll
The file was modifiedllvm/test/Transforms/InstSimplify/round-intrinsics.ll
The file was modifiedllvm/lib/Analysis/InstructionSimplify.cpp
Commit c09d3235997a0d1a816e0210e0611be31a0e9415 by i
[ELF] Move EhInputSection out of inputSections. NFC

inputSections temporarily contains EhInputSection objects mainly for
combineEhSections. Place EhInputSection objects into a new vector
ehInputSections instead of inputSections.
The file was modifiedlld/ELF/LinkerScript.cpp
The file was modifiedlld/ELF/SyntheticSections.cpp
The file was modifiedlld/ELF/Driver.cpp
The file was modifiedlld/ELF/InputSection.cpp
The file was modifiedlld/ELF/MarkLive.cpp
The file was modifiedlld/ELF/InputSection.h
The file was modifiedlld/ELF/Writer.cpp
Commit e8c2877565149587fd66fbee591b7d44eecd667d by pifon
[mlir] Reuse the code between `getMixed*s()` funcs in ViewLikeInterface.cpp.

Differential Revision: https://reviews.llvm.org/D130706
The file was modifiedmlir/lib/Dialect/Utils/StaticValueUtils.cpp
The file was modifiedmlir/include/mlir/Dialect/Utils/StaticValueUtils.h
The file was modifiedmlir/lib/Interfaces/ViewLikeInterface.cpp
The file was modifiedmlir/include/mlir/Interfaces/ViewLikeInterface.td
Commit e78d7637fbb08ec2c2e59939c015faadd47e32e7 by pifon
Revert "[mlir] Reuse the code between `getMixed*s()` funcs in ViewLikeInterface.cpp."

This reverts commit e8c2877565149587fd66fbee591b7d44eecd667d.
The file was modifiedmlir/lib/Dialect/Utils/StaticValueUtils.cpp
The file was modifiedmlir/lib/Interfaces/ViewLikeInterface.cpp
The file was modifiedmlir/include/mlir/Dialect/Utils/StaticValueUtils.h
The file was modifiedmlir/include/mlir/Interfaces/ViewLikeInterface.td
Commit 68b0aaad56a5fd216c97e8861c013eafc2cc653c by pifon
Revert "Revert "[mlir] Reuse the code between `getMixed*s()` funcs in ViewLikeInterface.cpp.""

This reverts commit e78d7637fbb08ec2c2e59939c015faadd47e32e7.

Differential Revision: https://reviews.llvm.org/D130706
The file was modifiedmlir/include/mlir/Interfaces/ViewLikeInterface.h
The file was modifiedmlir/include/mlir/Interfaces/ViewLikeInterface.td
The file was modifiedmlir/lib/Interfaces/ViewLikeInterface.cpp
Commit 62fe67f9eb02cd5add1f70514fdcd1b324b14028 by jeff
[mlir][DCA] Fix visiting call ops when run at function scopes

When dead-code analysis is run at the scope of a function, call ops to
other functions at the same level were being marked as unreachable,
since the analysis optimistically assumes the call op to have no known
predecessors and that all predecessors are known, but the callee would
never get visited.

This patch fixes the bug by checking if a referenced function is above
the top-level op of the analysis, and is thus considered an external
callable.

Fixes #56830

Reviewed By: zero9178

Differential Revision: https://reviews.llvm.org/D130829
The file was modifiedmlir/include/mlir/Analysis/DataFlow/DeadCodeAnalysis.h
The file was modifiedmlir/lib/Analysis/DataFlow/DeadCodeAnalysis.cpp
The file was modifiedmlir/test/Transforms/sccp-callgraph.mlir
Commit 17df74214c97bab8546d24c84a6aa7054b1449e1 by lntue
[libc][doc] Update implementation status of exp2f, sinhf, and coshf.
The file was modifiedlibc/docs/math.rst
Commit a9c5d09c5e8d8ccbd90229cc64193c78cf558143 by i
[ELF][test] Test identical CIE content with different personality

If we change
CieRecord *&rec = cieMap[{cie.data(), personality}];
to
CieRecord *&rec = cieMap[{cie.data(), nullptr}];

The new test can catch the failure.
The file was modifiedlld/test/ELF/eh-frame-multilpe-cie.s
Commit 883fcccadaa08e0dbf5cbef7a38f00d520c305a8 by jpienaar
[mlir][tosa] Switch missed accessors to prefixed form (NFC)
The file was modifiedmlir/lib/Dialect/Tosa/IR/TosaCanonicalizations.cpp
Commit 260a64106854986a981e49ed87ee740460a23eb5 by luismarques
[RISCV] Pre-RA expand pseudos pass

Expand load address pseudo-instructions earlier (pre-ra) to allow follow-up
patches to fold the addi of PseudoLLA instructions into the immediate
operand of load/store instructions.

Differential Revision: https://reviews.llvm.org/D123264
The file was modifiedllvm/lib/Target/RISCV/RISCVMCInstLower.cpp
The file was modifiedllvm/test/CodeGen/RISCV/codemodel-lowering.ll
The file was modifiedllvm/test/CodeGen/RISCV/pic-models.ll
The file was modifiedllvm/test/CodeGen/RISCV/tls-models.ll
The file was modifiedllvm/include/llvm/CodeGen/MachineInstr.h
The file was modifiedllvm/lib/Target/RISCV/RISCV.h
The file was modifiedllvm/test/CodeGen/RISCV/machinelicm-address-pseudos.ll
The file was modifiedllvm/test/CodeGen/RISCV/elf-preemption.ll
The file was modifiedllvm/test/CodeGen/RISCV/mir-target-flags.ll
The file was modifiedllvm/lib/Target/RISCV/RISCVExpandPseudoInsts.cpp
The file was modifiedllvm/test/CodeGen/RISCV/fold-addi-loadstore.ll
The file was modifiedllvm/test/CodeGen/RISCV/O3-pipeline.ll
The file was modifiedllvm/lib/CodeGen/MachineInstr.cpp
The file was modifiedllvm/lib/Target/RISCV/RISCVTargetMachine.cpp
The file was modifiedllvm/test/CodeGen/RISCV/jumptable.ll
Commit 7c158b9ed172dda92e8a761a3eeb560b6ac3c3bd by i
[ELF][test] Merge .eh_frame tests
The file was removedlld/test/ELF/eh-frame-multilpe-cie.s
The file was addedlld/test/ELF/eh-frame-multiple-cie.s
The file was removedlld/test/ELF/eh-align-cie.s
Commit a0943a2e19d965d4e850a2da36bab4694b6270c0 by geek4civic
[Bazel] Add JITLink/COFFOptions.td (llvmorg-16-init-398-g88181375a3db)
The file was modifiedutils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Commit 71638b8be7668e100d6b1ffbad8cbc1fa50282b9 by kazu
[ExecutionEngine] Ensure newlines at the end of files (NFC)
The file was modifiedllvm/lib/ExecutionEngine/JITLink/COFFLinkGraphBuilder.cpp
The file was modifiedllvm/lib/ExecutionEngine/JITLink/COFFDirectiveParser.h
Commit ed2993051994546771a1d8e8256baa960609ee11 by kazu
[Sema] Remove an unused forward declaration (NFC)
The file was modifiedclang/include/clang/Sema/RISCVIntrinsicManager.h
Commit 1bf531a5d0533ef6549683adbd15675f2510a4ab by kazu
[BOLT] Use boolean literals (NFC)

Identified with modernize-use-bool-literals.
The file was modifiedbolt/lib/Passes/ReorderFunctions.cpp
The file was modifiedbolt/lib/Profile/DataReader.cpp
The file was modifiedbolt/lib/Rewrite/DWARFRewriter.cpp
Commit f24ddf6d41ca5f290ab5e4aa4aa0361c170de246 by kazu
[BOLT] Remove redundant const from return types (NFC)

Identified with readability-const-return-type.
The file was modifiedbolt/include/bolt/Core/BinaryFunction.h
Commit ce3b687b88e5b33a47546274d2471dffceda9a6c by kazu
[BOLT] Remove redundaunt string initialization (NFC)

Identified with readability-redundant-string-init.
The file was modifiedbolt/lib/Profile/YAMLProfileWriter.cpp
The file was modifiedbolt/lib/Rewrite/DWARFRewriter.cpp
Commit d11103f9a02473c3d6afaf955ca9f7fd17ebe83f by kazu
[Hexagon] Remove unused declaration adjustForCalleeSavedRegsSpillCall (NFC)

The function definition was removed on Apr 23, 2015 in commit
876a19d8554510e6689b0a990e5e62af81506d80, but the declaration has
remained since.
The file was modifiedllvm/lib/Target/Hexagon/HexagonFrameLowering.h
Commit 71336d03f127e7b1264bcb0914330e071d9273ff by kazu
Use llvm::any_of (NFC)
The file was modifiedclang-tools-extra/clang-tidy/modernize/MakeSmartPtrCheck.cpp
The file was modifiedclang/lib/Format/FormatTokenLexer.cpp
The file was modifiedclang-tools-extra/clangd/AST.cpp
Commit bf6021709a4385e277e5e02eb7e1389a072b41f0 by kazu
Use drop_begin (NFC)
The file was modifiedbolt/lib/Passes/Inliner.cpp
The file was modifiedllvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
The file was modifiedllvm/lib/MC/MCAsmStreamer.cpp
The file was modifiedllvm/lib/Transforms/Scalar/LoopDistribute.cpp
The file was modifiedllvm/lib/LineEditor/LineEditor.cpp
The file was modifiedllvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
The file was modifiedllvm/lib/Analysis/MustExecute.cpp
The file was modifiedllvm/lib/Target/X86/X86MCInstLower.cpp
Commit 3e9adff456213951376f6fff9349ffe71136f2b5 by i
[ELF] Split EhInputSection::pieces into cies and fdes

This simplifies code, removes a read32 (for id==0 check), and makes it feasible
to combine some operations in EhInputSection::split and EhFrameSection::addRecords.

Mostly NFC, but fixes "Relocation not in any piece" assertion failure in an
erroneous case when a relocation offset precedes all CIE/FDE pices.
The file was modifiedlld/ELF/Relocations.cpp
The file was modifiedlld/ELF/InputSection.h
The file was modifiedlld/ELF/MarkLive.cpp
The file was modifiedlld/ELF/InputSection.cpp
The file was modifiedlld/ELF/SyntheticSections.cpp
Commit af1328ef452b9eaa4e9f0bc115aeda8f40c4bbff by i
[ELF] Simplify EhInputSection::split. NFC

* Inline getReloc
* Fold the UINT32_MAX length check into the section size check.
  This transformation is valid because we don't support .eh_frame input sections
  larger than 32-bit (unrealistic even for large code models).
The file was modifiedlld/ELF/InputSection.cpp
Commit e1795322844ca45ecbcdca8669929a46c666127e by jeff
[mlir] Remove types from attributes

This patch removes the `type` field from `Attribute` along with the
`Attribute::getType` accessor.

Going forward, this means that attributes in MLIR will no longer have
types as a first-class concept. This patch lays the groundwork to
incrementally remove or refactor code that relies on generic attributes
being typed. The immediate impact will be on attributes that rely on
`Attribute` containing a type, such as `IntegerAttr`,
`DenseElementsAttr`, and `ml_program::ExternAttr`, which will now need
to define a type parameter on their storage classes. This will save
memory as all other attribute kinds will no longer contain a type.

Moreover, it will not be possible to generically query the type of an
attribute directly. This patch provides an attribute interface
`TypedAttr` that implements only one method, `getType`, which can be
used to generically query the types of attributes that implement the
interface. This interface can be used to retain the concept of a "typed
attribute". The ODS-generated accessor for a `type` parameter
automatically implements this method.

Next steps will be to refactor the assembly formats of certain operations
that rely on `parseAttribute(type)` and `printAttributeWithoutType` to
remove special handling of type elision until `type` can be removed from
the dialect parsing hook entirely; and incrementally remove uses of
`TypedAttr`.

Reviewed By: lattner, rriddle, jpienaar

Differential Revision: https://reviews.llvm.org/D130092
The file was modifiedmlir/test/mlir-tblgen/attrdefs.td
The file was modifiedmlir/include/mlir/Dialect/CommonFolders.h
The file was modifiedmlir/include/mlir/Dialect/MLProgram/IR/MLProgramAttributes.td
The file was modifiedmlir/test/Dialect/SPIRV/IR/structure-ops.mlir
The file was modifiedmlir/lib/Dialect/Complex/IR/ComplexOps.cpp
The file was modifiedmlir/lib/Target/SPIRV/Serialization/Serializer.cpp
The file was modifiedmlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
The file was modifiedmlir/lib/Dialect/SPIRV/IR/SPIRVOps.cpp
The file was modifiedmlir/include/mlir/Dialect/EmitC/IR/EmitC.td
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/ElementwiseOpFusion.cpp
The file was addedmlir/include/mlir/IR/BuiltinTypeInterfaces.h
The file was modifiedmlir/lib/IR/TypeUtilities.cpp
The file was modifiedmlir/include/mlir/Dialect/Arithmetic/IR/ArithmeticOps.td
The file was modifiedmlir/include/mlir/IR/BuiltinAttributeInterfaces.h
The file was modifiedmlir/test/lib/Dialect/Test/TestAttrDefs.td
The file was modifiedmlir/lib/Dialect/MemRef/IR/MemRefOps.cpp
The file was modifiedmlir/lib/CAPI/IR/IR.cpp
The file was modifiedmlir/include/mlir/Dialect/SPIRV/IR/SPIRVStructureOps.td
The file was modifiedmlir/include/mlir/IR/Attributes.h
The file was modifiedmlir/include/mlir/Dialect/Complex/IR/ComplexAttributes.td
The file was modifiedmlir/lib/IR/AsmPrinter.cpp
The file was modifiedmlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
The file was modifiedmlir/lib/Rewrite/ByteCode.cpp
The file was modifiedmlir/lib/Conversion/VectorToGPU/VectorToGPU.cpp
The file was modifiedmlir/lib/Dialect/SPIRV/IR/SPIRVCanonicalization.cpp
The file was modifiedmlir/tools/mlir-tblgen/OpDefinitionsGen.cpp
The file was modifiedmlir/lib/Dialect/Arithmetic/IR/ArithmeticOps.cpp
The file was modifiedmlir/include/mlir/IR/BuiltinAttributeInterfaces.td
The file was modifiedmlir/lib/Conversion/ArithmeticToSPIRV/ArithmeticToSPIRV.cpp
The file was modifiedmlir/test/mlir-tblgen/attr-or-type-format.td
The file was modifiedmlir/tools/mlir-tblgen/AttrOrTypeFormatGen.cpp
The file was modifiedmlir/test/Dialect/LLVMIR/invalid.mlir
The file was modifiedmlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
The file was modifiedmlir/tools/mlir-tblgen/AttrOrTypeDefGen.cpp
The file was modifiedmlir/include/mlir/IR/BuiltinAttributes.td
The file was modifiedmlir/lib/Target/Cpp/TranslateToCpp.cpp
The file was modifiedmlir/test/IR/file-metadata-resources.mlir
The file was modifiedmlir/lib/TableGen/AttrOrTypeDef.cpp
The file was modifiedmlir/include/mlir/IR/AttributeSupport.h
The file was modifiedmlir/unittests/IR/AttributeTest.cpp
The file was modifiedmlir/lib/IR/AttributeDetail.h
The file was modifiedmlir/include/mlir/IR/BuiltinTypes.h
The file was modifiedmlir/include/mlir/IR/AttrTypeBase.td
The file was modifiedmlir/include/mlir/IR/BuiltinAttributes.h
The file was modifiedmlir/lib/Dialect/Vector/IR/VectorOps.cpp
The file was modifiedmlir/docs/AttributesAndTypes.md
The file was modifiedmlir/lib/IR/BuiltinAttributeInterfaces.cpp
The file was modifiedmlir/lib/IR/MLIRContext.cpp
The file was modifiedmlir/include/mlir/Dialect/MLProgram/IR/MLProgramAttributes.h
The file was modifiedmlir/include/mlir/Dialect/EmitC/IR/EmitCAttributes.td
The file was modifiedmlir/test/lib/Dialect/Test/TestOps.td
The file was modifiedmlir/test/lib/Dialect/Test/TestAttributes.cpp
The file was modifiedmlir/lib/IR/BuiltinAttributes.cpp
The file was modifiedmlir/lib/Dialect/EmitC/IR/EmitC.cpp
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Transforms.cpp
The file was modifiedmlir/test/mlir-tblgen/op-result.td
The file was modifiedmlir/lib/AsmParser/DialectSymbolParser.cpp
Commit 773d51ce3bedd091539aa86a5e5fc15a9174ff7b by ksunhokim123
[clang-repl] XFAIL windows properly in simple-exception test case.

We don't have proper exception support in LLJIT on windows yet. We have to xfail windows machine, but the previous check missed out some targets.
The file was modifiedclang/test/Interpreter/simple-exception.cpp
Commit 6c9f6812523a706c11a12e6cb4119b0cf67bbb21 by jezng
[lld-macho] Support EH frame pointer encodings that use sdata4

Previously we only supporting using the system pointer size (aka the
`absptr` encoding) because `llvm-mc`'s CFI directives always generate EH
frames with that encoding. But libffi uses 4-byte-encoded, hand-rolled
EH frames, so this patch adds support for it.

Fixes #56576.

Reviewed By: #lld-macho, oontvoo

Differential Revision: https://reviews.llvm.org/D130804
The file was modifiedlld/MachO/InputFiles.cpp
The file was modifiedlld/MachO/EhFrame.h
The file was modifiedlld/MachO/EhFrame.cpp
The file was addedlld/test/MachO/eh-frame-sdata4.s
Commit b3452f8f1302e3f1a0f0db5c1d3723e7953e7f9d by i
[ELF] redirectSymbols: skip versioned symbol combine if config->versionDefinitions.size() == 2
The file was modifiedlld/ELF/Driver.cpp
Commit 9701053517100045ca9fb0fd81233314ab08f600 by yedeng.yd
Introduce @llvm.threadlocal.address intrinsic to access TLS variable

This belongs to a series of patches which try to solve the thread
identification problem in coroutines. See
https://discourse.llvm.org/t/address-thread-identification-problems-with-coroutine/62015
for a full background.

The problem consists of two concrete problems: TLS variable and readnone
functions. This patch tries to convert the TLS problem to readnone
problem by converting the access of TLS variable to an intrinsic which
is marked as readnone.

The readnone problem would be addressed in following patches.

Reviewed By: nikic, jyknight, nhaehnle, ychen

Differential Revision: https://reviews.llvm.org/D125291
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
The file was modifiedllvm/include/llvm/IR/IRBuilder.h
The file was modifiedllvm/include/llvm/Analysis/TargetTransformInfoImpl.h
The file was addedllvm/test/CodeGen/X86/threadlocal_address.ll
The file was modifiedllvm/include/llvm/IR/Intrinsics.td
The file was modifiedllvm/lib/IR/IRBuilder.cpp
The file was modifiedllvm/docs/LangRef.rst
Commit 81ed005c4cf8e74d803a99c322eca0b681ff00f4 by i
[ELF] Remove EhFrameSection::addSection. NFC
The file was modifiedlld/ELF/SyntheticSections.cpp
The file was modifiedlld/ELF/SyntheticSections.h
Commit bacdf80f42b46044262e97e98398d1bd0b75900d by yedeng.yd
Use @llvm.threadlocal.address intrinsic to access TLS variable

This is successor for D125291. This revision would try to use
@llvm.threadlocal.address in clang to access TLS variable. The reason
why the OpenMP tests contains a lot of change is that they uses
utils/update_cc_test_checks.py to update their tests.

Reviewed By: nikic

Differential Revision: https://reviews.llvm.org/D129833
The file was modifiedclang/test/OpenMP/for_reduction_task_codegen.cpp
The file was modifiedclang/lib/CodeGen/ItaniumCXXABI.cpp
The file was modifiedclang/test/CodeGenCXX/microsoft-abi-thread-safe-statics.cpp
The file was modifiedclang/test/CodeGenCXX/cxx11-thread-local-reference.cpp
The file was modifiedclang/test/OpenMP/sections_reduction_task_codegen.cpp
The file was modifiedclang/test/CodeGenCXX/cxx11-thread-local-instantiated.cpp
The file was modifiedclang/test/OpenMP/target_parallel_reduction_task_codegen.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_copyin_codegen.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_reduction_task_codegen.cpp
The file was modifiedclang/test/Modules/initializers.cpp
The file was modifiedclang/test/OpenMP/target_parallel_for_reduction_task_codegen.cpp
The file was modifiedclang/test/CodeGenCXX/cxx1y-variable-template.cpp
The file was modifiedclang/test/OpenMP/taskloop_reduction_codegen.cpp
The file was modifiedclang/test/OpenMP/distribute_parallel_for_reduction_task_codegen.cpp
The file was modifiedclang/test/CodeGenCXX/cxx2a-thread-local-constinit.cpp
The file was modifiedclang/test/OpenMP/parallel_copyin_codegen.cpp
The file was modifiedclang/lib/CodeGen/CGExpr.cpp
The file was modifiedclang/test/OpenMP/parallel_master_codegen.cpp
The file was modifiedclang/test/OpenMP/reduction_implicit_map.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_parallel_for_reduction_task_codegen.cpp
The file was modifiedclang/test/OpenMP/parallel_sections_reduction_task_codegen.cpp
The file was modifiedclang/test/OpenMP/parallel_master_reduction_task_codegen.cpp
The file was modifiedclang/test/OpenMP/parallel_reduction_task_codegen.cpp
The file was modifiedclang/test/CodeGenCXX/pr18635.cpp
The file was modifiedclang/test/OpenMP/parallel_for_reduction_task_codegen.cpp
The file was modifiedclang/test/OpenMP/threadprivate_codegen.cpp
The file was addedclang/test/CodeGenCXX/threadlocal_address.cpp
The file was modifiedclang/test/CodeGenCXX/cxx11-thread-local.cpp
Commit 967f95fb074deadfb1109cec5f42d83db7eff00b by yedeng.yd
[NFC] Fill up the title underline in rst file

Fill up the title underline in rst file to avoid the CI error.
The file was modifiedllvm/docs/LangRef.rst
Commit f96ea53e892e0dfc1ee778868c1ed33616b95a82 by npopov
[AA] Do not track Must in ModRefInfo

getModRefInfo() queries currently track whether the result is a
MustAlias on a best-effort basis. The only user of this functionality
is the optimized memory access type in MemorySSA -- which in turn
has no users. Given that this functionality has not found a user
since it was introduced five years ago (in D38862), I think we
should drop it again.

The context is that I'm working to separate FunctionModRefBehavior
to track mod/ref for different location kinds (like argmem or
inaccessiblemem) separately, and the fact that ModRefInfo also has
an unrelated Must flag makes this quite awkward, especially as this
means that NoModRef is not a zero value. If we want to retain the
functionality, I would probably split getModRefInfo() results into
a part that just contains the ModRef information, and a separate
part containing a (best-effort) AliasResult.

Differential Revision: https://reviews.llvm.org/D130713
The file was modifiedllvm/test/Analysis/MemorySSA/phi-translation.ll
The file was modifiedllvm/lib/Analysis/AliasAnalysisEvaluator.cpp
The file was modifiedllvm/lib/Analysis/MemoryDependenceAnalysis.cpp
The file was modifiedllvm/test/Analysis/MemorySSA/scalable-vec.ll
The file was modifiedllvm/lib/Analysis/MemorySSA.cpp
The file was modifiedllvm/test/Analysis/BasicAA/libfuncs.ll
The file was modifiedllvm/unittests/Analysis/MemorySSATest.cpp
The file was modifiedllvm/test/Analysis/BasicAA/cs-cs.ll
The file was modifiedllvm/lib/Analysis/AliasAnalysis.cpp
The file was modifiedllvm/test/Analysis/BasicAA/atomic-memory-intrinsics.ll
The file was modifiedllvm/test/Analysis/MemorySSA/basicaa-memcpy.ll
The file was modifiedllvm/test/Analysis/MemorySSA/call-bitcast.ll
The file was modifiedllvm/test/Analysis/MemorySSA/optimize-use.ll
The file was modifiedllvm/include/llvm/Analysis/MemorySSA.h
The file was modifiedllvm/include/llvm/Analysis/AliasAnalysisEvaluator.h
The file was modifiedllvm/lib/Analysis/BasicAliasAnalysis.cpp
The file was modifiedllvm/lib/Analysis/GlobalsModRef.cpp
The file was modifiedllvm/test/Analysis/BasicAA/args-rets-allocas-loads.ll
The file was modifiedllvm/test/Analysis/BasicAA/call-attrs.ll
The file was modifiedllvm/include/llvm/Analysis/AliasAnalysis.h
The file was modifiedllvm/test/Analysis/MemorySSA/print-walker.ll
Commit 62ec8e94b832725cfd257f79cff3685a3cd3bf8c by npopov
[Examples] Fix SimplifyCFG example

After fffabd53482f34f96ab9273486538f587e3d91fc, the v2 and v3
versions produce poison instead of undef. Also adjust the v1
version, as well as the test expectations, to make the example
pass again.
The file was modifiedllvm/examples/IRTransforms/SimplifyCFG.cpp
The file was modifiedllvm/test/Examples/IRTransforms/SimplifyCFG/tut-simplify-cfg2-dead-block-order.ll
Commit 34683c3e35bcf02e5325e03e2eba1aa8646a12c7 by npopov
[MSSA] Fix expensive checks build
The file was modifiedllvm/lib/Analysis/MemorySSA.cpp
Commit 5b1d10bda60a1737c5c2785d9ec54806047fe49d by npopov
[AA] Drop setModAndRef() function (NFC)

Without the "must" state, this function is pointless, because we
can just directly create a ModRef instead.
The file was modifiedllvm/include/llvm/Analysis/AliasAnalysis.h
The file was modifiedllvm/lib/Analysis/AliasAnalysis.cpp
Commit d52e8708ae51d6a98c15a9c793ddf389ea50d370 by sivachandra
[libc][NFC] Mark a few methods of StringView to constexpr.
The file was modifiedlibc/src/__support/CPP/StringView.h
Commit 39dd8dcf208d24a8004f46ec0f3e912514a346b6 by yedeng.yd
[NFC] Fix test failure in windows
The file was modifiedclang/test/CodeGenCXX/threadlocal_address.cpp
Commit a21c245307d21d592d2179398161fe7054fd1330 by npopov
[ARMParallelDSP] Remove unnecessary ModRef intersection (NFC)

Intersecting with ModRef is a no-op, as these are the only two
possible values.
The file was modifiedllvm/lib/Target/ARM/ARMParallelDSP.cpp
Commit 4ec22ba9c88655fdf676008d6755ec71185099be by npopov
[GlobalsAA] Remove unnecessary AAResultBase fallback (NFC)

This is unnecessary, as AA result chaining is implemented at a
higher level now.
The file was modifiedllvm/lib/Analysis/GlobalsModRef.cpp
Commit b2559f2f5ca950e917253b156bfd08ede5577cd5 by i
[ELF] .eh_frame: remove config->wordsize padding

Linux Standard Base Core Specification says that CIE/FDE is padded to an
addressing unit size boundary, but in practice GNU assembler/LLVM integrated
assembler pad FDE/CIE to 4 and the last FDE to 8 on 64-bit systems.

In addition, GNU ld doesn't pad to 8, so let's drop excess padding, too.
If the assembler provides aligned pieces, the output will be aligned.

Noticed .eh_frame size reduction for 3 executables: 0.3% (chrome), 4.7% (clang),
7.6% (an internal program).
The file was modifiedlld/test/ELF/eh-frame-merge.s
The file was modifiedlld/test/ELF/eh-frame-negative-pcrel-sdata4.s
The file was modifiedlld/test/ELF/eh-frame-hdr-icf-fde.s
The file was modifiedlld/test/ELF/eh-frame-padding-no-rosegment.s
The file was modifiedlld/test/ELF/eh-frame-value-format7.s
The file was modifiedlld/test/ELF/partition-synthetic-sections.s
The file was modifiedlld/test/ELF/eh-frame-negative-pcrel-sdata2.s
The file was modifiedlld/test/ELF/gdb-index-gc-sections.s
The file was modifiedlld/test/ELF/map-file.s
The file was modifiedlld/ELF/SyntheticSections.cpp
The file was modifiedlld/test/ELF/eh-frame-hdr.s
The file was modifiedlld/test/ELF/eh-frame-multiple-cie.s
The file was modifiedlld/test/ELF/eh-frame-negative-pcrel-sdata8.s
Commit 16cb6ce554b7ed7b6f4df216ea4efcd782b00187 by jacquesguan
[mlir][Math] Add constant folder for ExpM1Op.

This patch adds constant folder for ExpM1Op which only supports single and double precision floating-point.

Differential Revision: https://reviews.llvm.org/D130567
The file was modifiedmlir/include/mlir/Dialect/Math/IR/MathOps.td
The file was modifiedmlir/lib/Dialect/Math/IR/MathOps.cpp
The file was modifiedmlir/test/Dialect/Math/canonicalize.mlir
Commit dc900eeaf2af0d459c69224b2d023d8d2287944a by i
[test] Fix threadlocal_address.cpp after D129833

Older Darwin does not support thread_local:

error: thread-local storage is not supported for the current target
  thread_local int j = 0;
The file was modifiedclang/test/CodeGenCXX/threadlocal_address.cpp
Commit f1d274b5c6811f3855cee4b44ba18de8818774cf by sivachandra
[libc][NFC] Make the buffer size of the integer to string converter public.

This allows users of the IntegerToString class to size their buffers
appropriately at compile time.
The file was modifiedlibc/src/__support/integer_to_string.h
Commit 7b0f6378e211e881c574748090a86beeab264ab3 by momchil.velikov
[SimplifyCFG] Allow SimplifyCFG hoisting to skip over non-matching instructions

SimplifyCFG does some common code hoisting, which is limited to hoisting a
sequence of identical instruction in identical order and stops at the first
non-identical instruction.

This patch allows hoisting instruction pairs over same-length sequences of
non-matching instructions. The linear asymptotic complexity of the algorithm
stays the same, there's an extra parameter `simplifycfg-hoist-common-skip-limit`
serving to limit compilation time and/or the size of the hoisted live ranges.

The patch improves SPECv6/525.x264_r by about 10%.

Reviewed By: dmgreen

Differential Revision: https://reviews.llvm.org/D129370
The file was addedllvm/test/Transforms/SimplifyCFG/hoist-common-skip-limit.ll
The file was modifiedllvm/lib/Transforms/Utils/SimplifyCFG.cpp
The file was addedllvm/test/Transforms/SimplifyCFG/hoist-common-skip.ll
Commit e48a0df3fcfd2a58f957a86ae5f11a6bb5fa5d85 by luweining
[cmake] Add LoongArch to config.guess

Necessary for native builds on LoongArch. Only Linux is added for now,
matching upstream config.git changes.

Unfortunately, the upstream config.guess is GPLv3+ since 2012, and
LLVM is without autoconf support for a long time, so the script's
licensing exception no longer works and a bump could not be trivially
done.

This is the same as the [upstream commit adding LoongArch](https://git.savannah.gnu.org/gitweb/?p=config.git;a=commitdiff;h=c8ddc8472f8efcadafc1ef53ca1d863415fddd5f),
but rewritten to match the 2011 style that our script is holding on
to.

Differential Revision: https://reviews.llvm.org/D130820
The file was modifiedllvm/cmake/config.guess
Commit 313ce7217e650f3c5c404dcd70c729e003599a49 by luweining
[cmake] Support native LoongArch builds

Differential Revision: https://reviews.llvm.org/D130821
The file was modifiedllvm/cmake/config-ix.cmake
Commit 89e5c20ca97838bf8efbb8c0e114dda1b8037b7d by sivachandra
[libc][NFC] Mark a constructor of StringView to be constexpr.
The file was modifiedlibc/src/__support/CPP/StringView.h
Commit ef9df0dc000c2c294398ab6fe13533d967dc29cd by david.green
[ARM] Simplify ArchGuard predicates in arm_neon.h.

__ARM_ARCH >= 8 is implied by defined(__aarch64__), so we don't need to
guard against both together.
The file was modifiedclang/include/clang/Basic/arm_neon.td
Commit 7314ad7a0661579e19eeec20c91e49f51f8c8d5e by npopov
Revert "[SimplifyCFG] Allow SimplifyCFG hoisting to skip over non-matching instructions"

This reverts commit 7b0f6378e211e881c574748090a86beeab264ab3.

As commented on the review, this patch has a correctness issue
regarding the modelling of memory effects.
The file was removedllvm/test/Transforms/SimplifyCFG/hoist-common-skip.ll
The file was modifiedllvm/lib/Transforms/Utils/SimplifyCFG.cpp
The file was removedllvm/test/Transforms/SimplifyCFG/hoist-common-skip-limit.ll
Commit 2bb7c54621f31a957302a4deb3d25b752acb07bd by sepavloff
[Clang] Remove unused parameter. NFC

BinaryOperator::getFPFeatures get parameter, which is not used. Similar
methods of other AST nodes do not have any parameter.
The file was modifiedclang/lib/AST/ASTImporter.cpp
The file was modifiedclang/lib/Sema/TreeTransform.h
The file was modifiedclang/include/clang/AST/Expr.h
The file was modifiedclang/lib/Sema/SemaExprCXX.cpp
Commit 834a878367f549c58313200ce2c3a0da1a29d842 by yedeng.yd
[C++2b] [Modules] Handle HaveModules with C++2b

Closing https://github.com/llvm/llvm-project/issues/56803. The root
cause for this bug is that we lack a good method to detect the language
mdoe when parsing the command line. There is a FIXME too. Dut to we lack
a good solution now, keep the workaround.
The file was modifiedclang/lib/Driver/ToolChains/Clang.cpp
The file was addedclang/test/Driver/modules-fprebuilt-mdoule-path.cpp
Commit d0cf7b2015ebd76ec2957ff808aec2b1201ebc9d by i
[ELF] EhInputSection::getParentOffset: fix out-of-bounds access for symbols relative to a non-empty .eh_frame

This has unclear semantics and can be considered invalid. Return an arbitrary value.
The file was modifiedlld/ELF/InputSection.cpp
The file was modifiedlld/test/ELF/eh-frame-marker.s
Commit 892e6e2200d90e1b3140dc7feda6f46318688441 by fred
[clang] Update Clang version from 15 to 16 in scan-build.1.

Similar to D110763.
The file was modifiedclang/tools/scan-build/man/scan-build.1
Commit 7add0e5fdc5c7cb6f59f60cd436bf161cf9f9eb7 by gchatelet
[libc][NFC] Use STL case for array

Migrating all private STL code to the standard STL case but keeping it under the CPP namespace to avoid confusion.

Differential Revision: https://reviews.llvm.org/D130773
The file was modifiedlibc/test/src/math/sincosf_test.cpp
The file was modifiedlibc/test/src/string/memory_utils/utils_test.cpp
The file was modifiedlibc/test/src/__support/CPP/arrayref_test.cpp
The file was modifiedlibc/test/src/stdlib/atexit_test.cpp
The file was modifiedlibc/test/src/string/bzero_test.cpp
The file was modifiedlibc/test/src/string/memcpy_test.cpp
The file was modifiedlibc/test/src/string/memory_utils/algorithm_test.cpp
The file was modifiedlibc/test/src/string/memory_utils/elements_test.cpp
The file was modifiedlibc/test/src/math/sdcomp26094.h
The file was modifiedlibc/src/__support/CPP/UInt.h
The file was removedlibc/src/__support/CPP/Array.h
The file was modifiedlibc/test/src/math/cosf_test.cpp
The file was modifiedlibc/test/src/math/sinf_test.cpp
The file was addedlibc/src/__support/CPP/array.h
The file was modifiedlibc/src/__support/CPP/CMakeLists.txt
The file was modifiedlibc/test/src/string/memory_utils/backend_test.cpp
The file was modifiedlibc/test/src/string/memmove_test.cpp
The file was modifiedlibc/test/src/string/memset_test.cpp
The file was modifiedlibc/test/src/string/memory_utils/memory_access_test.cpp
The file was modifiedlibc/src/__support/CPP/ArrayRef.h
The file was modifiedutils/bazel/llvm-project-overlay/libc/BUILD.bazel
Commit de00bd573e94e759300531723a8cf28ac7d26e2f by gchatelet
Revert "[libc][NFC] Use STL case for array"

This reverts commit 7add0e5fdc5c7cb6f59f60cd436bf161cf9f9eb7.
The file was removedlibc/src/__support/CPP/array.h
The file was modifiedlibc/test/src/stdlib/atexit_test.cpp
The file was modifiedlibc/test/src/math/sincosf_test.cpp
The file was modifiedutils/bazel/llvm-project-overlay/libc/BUILD.bazel
The file was modifiedlibc/src/__support/CPP/CMakeLists.txt
The file was modifiedlibc/test/src/string/memory_utils/utils_test.cpp
The file was modifiedlibc/test/src/math/cosf_test.cpp
The file was modifiedlibc/test/src/string/bzero_test.cpp
The file was modifiedlibc/test/src/string/memmove_test.cpp
The file was modifiedlibc/src/__support/CPP/UInt.h
The file was modifiedlibc/test/src/string/memory_utils/algorithm_test.cpp
The file was modifiedlibc/test/src/string/memory_utils/backend_test.cpp
The file was modifiedlibc/test/src/string/memory_utils/memory_access_test.cpp
The file was modifiedlibc/test/src/math/sdcomp26094.h
The file was modifiedlibc/test/src/__support/CPP/arrayref_test.cpp
The file was modifiedlibc/test/src/string/memcpy_test.cpp
The file was modifiedlibc/test/src/math/sinf_test.cpp
The file was modifiedlibc/test/src/string/memory_utils/elements_test.cpp
The file was addedlibc/src/__support/CPP/Array.h
The file was modifiedlibc/src/__support/CPP/ArrayRef.h
The file was modifiedlibc/test/src/string/memset_test.cpp
Commit d3d498fbf639a63a3eaead1409833c1b281fb46c by gchatelet
Reland [libc][NFC] Use STL case for array

This is a reland of https://reviews.llvm.org/D130773
The file was modifiedlibc/test/src/string/memory_utils/algorithm_test.cpp
The file was modifiedlibc/test/src/__support/CPP/arrayref_test.cpp
The file was modifiedlibc/test/src/string/memory_utils/utils_test.cpp
The file was modifiedlibc/test/src/string/bzero_test.cpp
The file was modifiedlibc/test/src/math/coshf_test.cpp
The file was modifiedlibc/test/src/math/sincosf_test.cpp
The file was modifiedlibc/test/src/string/memory_utils/backend_test.cpp
The file was modifiedlibc/test/src/math/sinf_test.cpp
The file was modifiedlibc/test/src/math/sinhf_test.cpp
The file was modifiedlibc/src/__support/CPP/UInt.h
The file was addedlibc/src/__support/CPP/array.h
The file was modifiedlibc/test/src/math/cosf_test.cpp
The file was modifiedlibc/test/src/string/memcpy_test.cpp
The file was modifiedlibc/src/__support/CPP/ArrayRef.h
The file was modifiedlibc/test/src/string/memmove_test.cpp
The file was modifiedlibc/test/src/string/memset_test.cpp
The file was modifiedutils/bazel/llvm-project-overlay/libc/BUILD.bazel
The file was modifiedlibc/test/src/math/sdcomp26094.h
The file was modifiedlibc/test/src/string/memory_utils/elements_test.cpp
The file was modifiedlibc/test/src/string/memory_utils/memory_access_test.cpp
The file was modifiedlibc/src/__support/CPP/CMakeLists.txt
The file was modifiedlibc/test/src/stdlib/atexit_test.cpp
The file was removedlibc/src/__support/CPP/Array.h
Commit 6e1ba62d0dd27686aa7779a122e04ac5abc6cecf by flo
[LV] Add additional tests with multiple chained recurrences.

Adds more extra tests for D119661.

Also update the test to use opaque pointers.
The file was modifiedllvm/test/Transforms/LoopVectorize/first-order-recurrence-chains.ll
Commit ec5def5e20f6ae9fe8cc30e5ee152d4b239e1e95 by joker.eph
Fix MLIR Python binding for arith.constant after argument has been changed to an interface

e1795322844c removed the Type field from attributes and
arith::ConstantOp argument is now a TypedAttrInterface which isn't
supported by the python generator.
This patch temporarily restore the functionality for arith.constant but
won't generalize: we need to work on the generator instead.

Differential Revision: https://reviews.llvm.org/D130878
The file was addedmlir/test/python/dialects/arith_dialect.py
The file was modifiedmlir/python/mlir/dialects/_arith_ops_ext.py
Commit 3f3bbd737074497f4abe3f9d7785399b04f62168 by gchatelet
[libc][NFC] Use STL case for functional

Migrating all private STL code to the standard STL case but keeping it under the CPP namespace to avoid confusion.

Differential Revision: https://reviews.llvm.org/D130760
The file was modifiedlibc/src/__support/CPP/CMakeLists.txt
The file was addedlibc/src/__support/CPP/functional.h
The file was modifiedutils/bazel/llvm-project-overlay/libc/BUILD.bazel
The file was modifiedlibc/test/src/__support/OSUtil/linux/x86_64/syscall_test.cpp
The file was removedlibc/src/__support/CPP/Functional.h
Commit 9bf2d8cbbe0e42a772d572e09f636e34dde357d6 by asb
[NFC] Use AllocaInst's getAddressSpace helper
The file was modifiedllvm/lib/IR/Instructions.cpp
The file was modifiedllvm/lib/Transforms/Scalar/SROA.cpp
The file was modifiedllvm/lib/IR/AsmWriter.cpp
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyFrameLowering.cpp
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp
The file was modifiedllvm/lib/Transforms/Utils/MemoryTaggingSupport.cpp
Commit facb3ac385c3c5fc6775ea320ed2fcfeb2f595f6 by kbessonova
[GlobalISel][DebugInfo] salvageDebugInfo analogue for gMIR

Salvage debug info of instruction that is about to be deleted as dead in
Combiner pass. Currently supported instructions are COPY and G_TRUNC.

It allows to salvage debug info of some dead arguments of functions, by putting
DWARF expression corresponding to the instruction being deleted into related
DBG_VALUE instruction.

Here is an example of missing variables location https://godbolt.org/z/K48osb9dK.
We see that arguments x, y of function foo are not available in debugger, and
corresponding DBG_VALUE instructions have undefined register operand instead of
variables locaton after Aarch64PreLegalizerCombiner pass. The reason is that
registers where variables are located are removed as dead (with instruction
G_TRUNC). We can use salvageDebugInfo analogue for gMIR to preserve debug
locations of dead variables.

Statistics of llvm object files built with vs without this commit on -O2
optimization level (CMAKE_BUILD_TYPE=RelWithDebInfo, -fglobal-isel) on Aarch64 (macOS):

Number of variables with 100% of parent scope covered by DW_AT_location has been increased by 7,9%.
Number of variables with 0% coverage of parent scope has been decreased by 1,2%.
Number of variables processed by location statistics has been increased by 2,9%.
Average PC ranges coverage has been increased by 1,8 percentage points.

Coverage can be improved by supporting more instructions, or by calling
salvageDebugInfo for instructions that are deleted during Combiner rules exection.

Reviewed By: aprantl

Differential Revision: https://reviews.llvm.org/D129909
The file was modifiedllvm/lib/CodeGen/GlobalISel/Combiner.cpp
The file was modifiedllvm/test/DebugInfo/AArch64/debug-reg-bank.ll
The file was modifiedllvm/include/llvm/CodeGen/CodeGenCommonISel.h
The file was modifiedllvm/lib/CodeGen/CodeGenCommonISel.cpp
The file was modifiedllvm/include/llvm/CodeGen/GlobalISel/Utils.h
The file was addedllvm/test/CodeGen/AArch64/GlobalISel/salvage-debug-info-dead.mir
The file was modifiedllvm/test/DebugInfo/X86/debug-reg-bank.ll
The file was modifiedllvm/lib/CodeGen/GlobalISel/Utils.cpp
Commit 984d1bf8c0b9aec2ab7e2ddd1917641ed10f5428 by tpopp
Remove empty AffineExpr stride canonicalization in makeCanonicalStridedLayoutExpr

The "optimization" would replace the AffineMap for an empty shape with a 0 to represent its indexing (stride * dimension) logic. Meanwhile other pieces of core logic (such as getStridesAndOffset and makeStridedLinearLayoutMap) require strides for all dimensions to ensure no aliasing can occur which would occur if the shape was not empty. For now, this optimization is removed as different pieces of core types disagree on this, so the optimization should be caller supplied or should be consistent throughout the infrastructure.

Differential Revision: https://reviews.llvm.org/D130772
The file was modifiedmlir/test/Conversion/MemRefToLLVM/memref-to-llvm.mlir
The file was modifiedmlir/lib/IR/BuiltinTypes.cpp
Commit 91eb0b6584e06f898ad1994962a0bc73937c7f49 by gchatelet
[libc][NFC] Use STL case for limits

Migrating all private STL code to the standard STL case but keeping it under the CPP namespace to avoid confusion.

Differential Revision: https://reviews.llvm.org/D130762
The file was removedlibc/src/__support/CPP/Limits.h
The file was modifiedlibc/src/__support/CPP/CMakeLists.txt
The file was modifiedlibc/test/src/__support/CPP/limits_test.cpp
The file was modifiedlibc/src/__support/str_to_float.h
The file was modifiedlibc/src/stdio/printf_core/write_int_converter.h
The file was addedlibc/src/__support/CPP/limits.h
The file was modifiedlibc/src/__support/str_to_integer.h
The file was modifiedlibc/src/__support/FPUtil/generic/FMod.h
The file was modifiedutils/bazel/llvm-project-overlay/libc/BUILD.bazel
The file was modifiedlibc/src/stdio/printf_core/converter_utils.h
Commit 49eb58063f2422fb0cd067c05d3c184b42243630 by gchatelet
[libc][NFC] Use STL case for utility

Migrating all private STL code to the standard STL case but keeping it under the CPP namespace to avoid confusion.

Differential Revision: https://reviews.llvm.org/D130771
The file was modifiedutils/bazel/llvm-project-overlay/libc/BUILD.bazel
The file was removedlibc/src/__support/CPP/Utility.h
The file was modifiedlibc/test/src/stdlib/atexit_test.cpp
The file was addedlibc/src/__support/CPP/utility.h
The file was modifiedlibc/src/__support/CPP/CMakeLists.txt
The file was modifiedlibc/test/src/__support/CPP/integer_sequence_test.cpp
Commit 0bc177b6f54bbd0b03c4f2378039b676463ff7b9 by luismarques
[RISCV] Extend the Merge Base Offset pass to handle AUIPC+ADDI

Builds upon D123264, adding support for merging the low part of the LLA
address into the load/store instruction offsets.

Differential Revision: https://reviews.llvm.org/D123265
The file was modifiedllvm/test/CodeGen/RISCV/codemodel-lowering.ll
The file was modifiedllvm/lib/Target/RISCV/RISCVMergeBaseOffset.cpp
The file was modifiedllvm/test/CodeGen/RISCV/fold-addi-loadstore.ll
The file was modifiedllvm/test/CodeGen/RISCV/machinelicm-address-pseudos.ll
Commit 41119a0f520d07a438f7434f17ce63cc3a942d1b by david.sherwood
[DAGCombiner] Extend visitAND to include EXTRACT_SUBVECTOR

Eliminate an AND by redefining an anyext|sext|zext.

     (and (extract_subvector (anyext|sext|zext v) _) iN_mask)
  => (extract_subvector (zeroext_iN v))

Differential Revision: https://reviews.llvm.org/D130782
The file was modifiedllvm/test/CodeGen/AArch64/vector-fcvt.ll
The file was modifiedllvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
The file was addedllvm/test/CodeGen/AArch64/extract-subvec-combine.ll
The file was modifiedllvm/include/llvm/CodeGen/ISDOpcodes.h
Commit d90b7bf2c53d0315a13a81904862929252bb6824 by dominik.adamski
Add support for lowering simd if clause to LLVM IR

Scope of changes:
  1) Added new function to generate loop versioning
  2) Added support for if clause to applySimd function
  2) Added tests which confirm that lowering is successful

If ifCond is specified, then collapsed loop is duplicated and if branch
is added. Duplicated loop is executed if simd ifCond is evaluated to false.

Reviewed By: Meinersbur

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

Signed-off-by: Dominik Adamski <dominik.adamski@amd.com>
The file was modifiedllvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
The file was modifiedmlir/test/Target/LLVMIR/openmp-llvm.mlir
The file was modifiedmlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
The file was modifiedllvm/unittests/Frontend/OpenMPIRBuilderTest.cpp
The file was modifiedclang/lib/CodeGen/CGStmtOpenMP.cpp
The file was modifiedllvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
Commit 0e5ac92ce2adf284c0f2b0a7d2f166c0338e2336 by herhut
[mlir][bazel] Fix bazel build files

This adds a missing dependency on builtin dialect td files.

Differential Revision: https://reviews.llvm.org/D130890
The file was modifiedutils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Commit e8d260753e7ebd2d03141d21bafc952790747a8f by petar.avramovic
[AMDGPU] gfx11 allow dlc for MUBUF atomics

Add MC support for dlc in gfx11 MUBUF atomic instructions.

Differential Revision: https://reviews.llvm.org/D129075
The file was modifiedllvm/lib/Target/AMDGPU/BUFInstructions.td
The file was modifiedllvm/test/MC/Disassembler/AMDGPU/mubuf_dasm_gfx11.txt
The file was modifiedllvm/test/MC/AMDGPU/gfx11_mubuf.s