Changes

Summary

  1. [lldb] Remove reproducer stage from the matrix bot (details)
  2. [lldb] Split LLDB and debug info tests into separate stages (details)
Commit 0eada6070937d83bfd605256ada46d55ec2a7868 by Jonas Devlieghere
[lldb] Remove reproducer stage from the matrix bot
The file was modifiedzorg/jenkins/jobs/jobs/lldb-cmake-matrix (diff)
Commit 0e47068994035233fda521824304bda2f325179f by Jonas Devlieghere
[lldb] Split LLDB and debug info tests into separate stages
The file was modifiedzorg/jenkins/monorepo_build.py (diff)
The file was modifiedzorg/jenkins/jobs/jobs/lldb-cmake (diff)

Summary

  1. Revert "[ODS/AsmParser] Don't pass MLIRContext with DialectAsmParser." (details)
  2. [AsmParser] move AsmParser::getContext to IR library. (details)
  3. [ODS/AsmParser] Don't pass MLIRContext with DialectAsmParser. (details)
  4. AsmParser::getContext() - there can be only one.  This should unbreak the build. (details)
  5. [clang] Update Clang version from 13 to 14 in scan-build.1. (details)
  6. [llvm-profgen] Refactor and better diagnostics (details)
  7. [llvm-porfgen] Allow perf data as input (details)
  8. [llvm-profgen] Fix alignment in preferred based calculation (details)
  9. [clangd] Reland D110386 (details)
  10. [AA] Teach BasicAA to recognize basic GEP range information. (details)
  11. [mlir][python] provide access to function argument/result attributes (details)
  12. [mlir][python] provide bindings for the SCF dialect (details)
  13. [format] [docs] Fix typos and clarify QualifierAlignment/QualifierOrder documentation. (details)
  14. Investigate failure in rGdd13f45e04366cc4f648b57ec87d20a5569e27c3 (details)
  15. [flang][docs] Remove the new driver sync-up calls (details)
  16. Fix the build after d084c42bdfac4a5879bdabe645b14cf72f7685a7 (details)
  17. [fir] Update fir.array_update, fir.array_fetch and fir.array_merge_store (details)
  18. [LiveIntervals] Remove unused subreg ranges in repairIntervalsInRange (details)
  19. [fir] Update fir.extract_value and fir.insert_value ops (details)
  20. Second Recommit "[AArch64] Split bitmask immediate of bitwise AND operation" (details)
  21. [gn build] Port 13f3c39f3658 (details)
  22. [fir] Update fir.allocmem op (details)
  23. [fir] Update fir.alloca op (details)
  24. [fir][NFC] Move parser/printer/builder to cpp file (details)
  25. Revert "[clangd] Reland D110386" (details)
  26. [NFC] Cleanup the overload of ASTImporter::import() (details)
  27. [fir] Update fir.field_index op (details)
  28. [PowerPC] Truncate element index for vec_insert in altivec.h (details)
  29. [AArch64][GlobalISel] Re-generate some tests for D110802. (details)
  30. [NFC][Costmodel][LV][X86] Add test coverage for f32 interleaved load/store stride=2 (details)
  31. [mlir] Remove unused namespace alias. (details)
  32. [clangd] Land D110386 again (details)
  33. [libc] move benchmark function registration to a different file (details)
  34. [CodeView] Recognize Fortran95 as Fortran instead of MASM (details)
  35. [ARM] Add more MVE intrinsics to sink splats to (details)
  36. [mlir][python] provide bindings for ops from the sparse_tensor dialect (details)
  37. [fir][NFC] Update and move fir.freemem and fir.store (details)
  38. [fir][NFC] Move fir.shape verifier to cpp file (details)
  39. [BPI] Keep BPI available in loop passes through LoopStandardAnalysisResults (details)
  40. [fir][NFC] Move parser/printer for fir.global_len (details)
  41. [NFC] Improve file-level documentation for Sequence.h (details)
  42. [NFC][X86][LV] Add costmodel test coverage for interleaved i64/f64 load/store stride=2 (details)
  43. [NFC][X86][Codegen] Add test coverage for interleaved i64 load/store stride=2 (details)
  44. [LoopPredication] Remove unused variable (details)
  45. [clangd] Update comment after dea48079b90d40f2087435b778544dffb0ab1793 (details)
  46. [fir][NFC] Removed unused declaration from td file (details)
  47. [libc++] Add a testing configuration specific to Apple's libc++ (details)
  48. [fir] Update fir.alloca op (details)
  49. [x86] add test for 3 fcmps and logic; NFC (details)
  50. [NFC] [hwasan] Remove unneeded member. (details)
  51. [NFC][AMDGPU] Improve cost model tests coverage. (details)
  52. [llvm] Migrate from arg_operands to args (NFC) (details)
  53. [fir][NFC] Rename lenParams to typeparams in builders (details)
  54. [libc++][NFC] Remove stray whitespace (details)
  55. Improve the effectiveness of BDCE's debug info salvaging (details)
  56. [mlir] Remove old "tc" linalg ods generator. (details)
  57. [CostModel] Update default cost model for sadd/ssub overflow to match TargetLowering (details)
  58. Instantiate fewer templates in PassManager::addPass() (details)
  59. [BasicAA] Use ExtendedValue in VariableGEPIndex (NFC) (details)
  60. Manually create unique_ptr in various pass adaptors (details)
  61. [AMDGPU] move hasAGPRs/hasVGPRs into header (details)
  62. [lldb] Remove support for replaying the test suite from a reproducer (details)
  63. [mlir][linalg] Fix incorrect bound calculation for tiling conv (details)
  64. [flang] Front-end and runtime support for CALL EXIT and ABORT (details)
  65. Revert "[libc++][libc++abi] Add tests for vendor-specific properties" (details)
  66. [libc++abi][NFCI] Consistently group new_handler, unexpected_handler and terminate_handler (details)
  67. [clang] Remove duplication in types::getCompilationPhases() (details)
  68. [clang] do not emit note for bad conversion when destination type qualifiers are not compatibly include source type qualifiers (details)
  69. [clang] Make crash reproducer work with clang-cl (details)
  70. [flang] Fix test regression from SQRT folding (details)
  71. [clang] Don't modify OptRemark if the argument is not relevant (details)
  72. [mlir][sparse] Correcting a few typos (details)
  73. [BasicAA] Move more extension logic into ExtendedValue (NFC) (details)
  74. Reland "[clang-cl] Accept `#pragma warning(disable : N)` for some N" (details)
  75. [InstCombine] add tests for shift-trunc-shift; NFC (details)
  76. [InstCombine] restrict shift-trunc-shift fold to opposite direction shifts (details)
  77. [flang] Fold FINDLOC() (details)
  78. [GlobalISel] Extend G_SELECT of known condition combine to vectors. (details)
  79. [PowerPC] Improved codegen related to xscvdpsxws/xscvdpuxws (details)
  80. [MC] Make MCDwarfLineStr class public (details)
  81. [gn build] Port 050edef8538e (details)
  82. [DFSan] Optimize code for writing to shadow. Move SetShadow to namespace. (details)
  83. Revert "Recommit "[SCEV] Look through single value PHIs." (take 2)" (details)
  84. [AIX] Rename binder option for PGO support (details)
  85. [mlir][Linalg] Refactor comprehensive bufferize for external uses - NFC (details)
  86. [cora async] Cleanup undefined llvm.coro.async.resume (details)
  87. [libomptarget] Apply D110029 to amdgpu (details)
  88. [openmp] Add addrspacecast to getOrCreateIdent (details)
  89. [compiler-rt] Add -fno-omit-frame-pointer check to builtins (details)
  90. [CMake] Remove the LLD LTO check for Darwin (details)
  91. [flang][NFC] Fix header comments in some runtime headers (details)
  92. [openmp][docs] Describe how the internal components are found (details)
  93. [flang] Take into account SubprogramDetails in GetInterfaceSymbol (details)
  94. [RISCV] Remove Zbproposedc extension (details)
  95. [flang][NFC] Add debug dump method to evaluate::Expr and semantics::Symbol (details)
  96. [GlobalISel] Extend CombinerHelper::matchConstantOp() to match constant splat vectors. (details)
  97. [MC] Fix buildbots with shared lib builds (details)
  98. [MemProf] Record accesses for all words touched in mem intrinsic (details)
  99. [SCEV] Modernize code style of isSCEVExprNeverPoison [NFC] (details)
  100. [libcxx][test] Use python specified by build rather than system default python (details)
  101. [test] Add tests covering a missing opt in SCEV's isSCEVExprNeverPoison (details)
  102. BPF: implement isLegalAddressingMode() properly (details)
  103. [NFC][sanitizer] Add const into method (details)
  104. add tsan shared library (details)
  105. [NFC] Restore magic and magicu to a globally visible location (details)
  106. [gn build] Port 3077bc90de8d (details)
  107. [NFC][sanitizer] Lazy init in StackDepotReverseMap (details)
  108. [NFC][lsan] Expand use StackDepotReverseMap (details)
  109. [NFC][asan] Remove redundant functions (details)
  110. [PowerPC] Fix lharx and lbarx builtin signatures (details)
  111. Expose `DIBuilder::finalizeSubprogram()` through the LLVM C API (details)
  112. [MemProf] Loosen matching of profile data to avoid bot flakes (details)
Commit 3310e0020cf1bc4c17acf9d404274325007af326 by joker.eph
Revert "[ODS/AsmParser] Don't pass MLIRContext with DialectAsmParser."

This reverts commit 4b32f8bac40dcd1535bfe95757c3de0911bf6d1a.

Seems like the build is broken with -DDBUILD_SHARED_LIBS=ON
The file was modifiedmlir/lib/Dialect/EmitC/IR/EmitC.cpp
The file was modifiedmlir/lib/Dialect/LLVMIR/IR/LLVMTypeSyntax.cpp
The file was modifiedmlir/lib/Dialect/SPIRV/IR/SPIRVOps.cpp
The file was modifiedmlir/lib/Dialect/LLVMIR/IR/ROCDLDialect.cpp
The file was modifiedmlir/unittests/Interfaces/DataLayoutInterfacesTest.cpp
The file was modifiedmlir/lib/Dialect/DLTI/DLTI.cpp
The file was modifiedmlir/lib/Parser/Parser.cpp
The file was modifiedmlir/include/mlir/IR/OpImplementation.h
The file was modifiedmlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp
The file was modifiedmlir/tools/mlir-tblgen/OpFormatGen.cpp
The file was modifiedmlir/test/lib/Dialect/Test/TestDialect.cpp
The file was modifiedmlir/lib/Dialect/MemRef/IR/MemRefOps.cpp
The file was modifiedmlir/test/lib/Dialect/Test/TestAttributes.cpp
The file was modifiedflang/lib/Optimizer/Dialect/FIRType.cpp
The file was modifiedmlir/lib/Dialect/ArmSVE/IR/ArmSVEDialect.cpp
The file was modifiedmlir/tools/mlir-tblgen/AttrOrTypeDefGen.cpp
The file was modifiedmlir/lib/Dialect/Affine/IR/AffineOps.cpp
The file was modifiedmlir/test/mlir-tblgen/typedefs.td
The file was modifiedmlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
The file was modifiedmlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
The file was modifiedmlir/test/lib/Dialect/Test/TestTypes.cpp
The file was modifiedmlir/lib/Dialect/Vector/VectorOps.cpp
The file was modifiedmlir/lib/Dialect/SparseTensor/IR/SparseTensorDialect.cpp
The file was modifiedmlir/lib/Dialect/Async/IR/Async.cpp
The file was modifiedmlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
The file was modifiedmlir/lib/Dialect/PDL/IR/PDLTypes.cpp
The file was modifiedmlir/test/mlir-tblgen/attrdefs.td
Commit 33f43153248a286f7749d2a838259fb3431ca929 by clattner
[AsmParser] move AsmParser::getContext to IR library.

This is (perhaps unintuitively) where the other AsmParser method
implementations are, which means that dialects don't generally need
to depend on MLIRParser directly.  This should fix a build failure
building .so files on the mlir-nvidia builder.
The file was modifiedmlir/lib/IR/AsmPrinter.cpp
Commit fb093c83147e591991ffece79752ed80d3ff960a by joker.eph
[ODS/AsmParser] Don't pass MLIRContext with DialectAsmParser.

The former is redundant because the later carries it as part of
its builder.  Add a getContext() helper method to DialectAsmParser
to make this more convenient, and stop passing the context around
explicitly.  This simplifies ODS generated parser hooks for attrs
and types.

This resolves PR51985

Recommit 4b32f8bac4 after fixing a dependency.

Differential Revision: https://reviews.llvm.org/D110796
The file was modifiedmlir/include/mlir/IR/OpImplementation.h
The file was modifiedmlir/lib/Dialect/ArmSVE/IR/ArmSVEDialect.cpp
The file was modifiedmlir/lib/Dialect/LLVMIR/IR/LLVMTypeSyntax.cpp
The file was modifiedmlir/lib/Dialect/LLVMIR/IR/ROCDLDialect.cpp
The file was modifiedmlir/lib/Parser/Parser.cpp
The file was modifiedmlir/test/lib/Dialect/Test/TestDialect.cpp
The file was modifiedmlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp
The file was modifiedmlir/test/mlir-tblgen/typedefs.td
The file was modifiedmlir/tools/mlir-tblgen/AttrOrTypeDefGen.cpp
The file was modifiedmlir/lib/Dialect/EmitC/IR/EmitC.cpp
The file was modifiedmlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
The file was modifiedmlir/lib/Dialect/Vector/VectorOps.cpp
The file was modifiedmlir/lib/Dialect/Async/IR/Async.cpp
The file was modifiedmlir/test/lib/Dialect/Test/TestTypes.cpp
The file was modifiedflang/lib/Optimizer/Dialect/FIRType.cpp
The file was modifiedmlir/lib/Dialect/PDL/IR/PDLTypes.cpp
The file was modifiedmlir/test/mlir-tblgen/attrdefs.td
The file was modifiedmlir/lib/Dialect/MemRef/IR/MemRefOps.cpp
The file was modifiedmlir/tools/mlir-tblgen/OpFormatGen.cpp
The file was modifiedmlir/lib/Dialect/SPIRV/IR/SPIRVOps.cpp
The file was modifiedmlir/lib/Dialect/DLTI/DLTI.cpp
The file was modifiedmlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
The file was modifiedmlir/lib/Dialect/SparseTensor/IR/SparseTensorDialect.cpp
The file was modifiedmlir/lib/Dialect/Affine/IR/AffineOps.cpp
The file was modifiedmlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
The file was modifiedmlir/test/lib/Dialect/Test/TestAttributes.cpp
The file was modifiedmlir/unittests/Interfaces/DataLayoutInterfacesTest.cpp
Commit d104db531ee6d821d94ffd4bb48fa3929ab01235 by clattner
AsmParser::getContext() - there can be only one.  This should unbreak the build.
The file was modifiedmlir/lib/Parser/Parser.cpp
Commit 97a0ba475d105838bd9bb7ed8506f599210995c7 by shivam98.tkg
[clang] Update Clang version from 13 to 14 in scan-build.1.

Reviewed By: NoQ

Differential Revision: https://reviews.llvm.org/D110763
The file was modifiedclang/tools/scan-build/man/scan-build.1
Commit 941191aae4abaf88b176bec8cfe1c841a5832642 by aktoon
[llvm-profgen] Refactor and better diagnostics

This change contains diagnostics improvments, refactoring and preparation for consuming perf data directly.

Diagnostics:
- We now have more detailed diagnostics when no mmap is found.
- We also print warning for abnormal transition to external code.

Refactoring:
- Simplify input perf trace processing to only allow a single input file. This is because 1) using multiple input perf trace (perf script) is error prone because we may miss key mmap events. 2) the functionality is not really being used anyways.
- Make more functions private for Readers, move non-trivial definitions out of header. Cleanup some inconsistency.
- Prepare for consuming perf data as input directly.

Differential Revision: https://reviews.llvm.org/D110729
The file was modifiedllvm/tools/llvm-profgen/PerfReader.cpp
The file was modifiedllvm/tools/llvm-profgen/PerfReader.h
The file was modifiedllvm/tools/llvm-profgen/llvm-profgen.cpp
Commit 1f0bc617bdd11a4f3b0d820603b0089f81aca79b by aktoon
[llvm-porfgen] Allow perf data as input

This change enables llvm-profgen to take raw perf data as alternative input format. Sometimes we need to retrieve evenets for processes with matching binary. Using perf data as input allows us to retrieve process Ids from mmap events for matching binary, then filter by process id during perf script generation.

Differential Revision: https://reviews.llvm.org/D110793
The file was modifiedllvm/tools/llvm-profgen/llvm-profgen.cpp
The file was modifiedllvm/tools/llvm-profgen/PerfReader.h
The file was modifiedllvm/tools/llvm-profgen/PerfReader.cpp
Commit 47d66355ef9039a15b7265945e3deb331d7f9e05 by aktoon
[llvm-profgen] Fix alignment in preferred based calculation

We used the segment alignment in elf header to assume the loader alignment. However this is incorrect because loader alignment is always the same as page size. If segment needs to be aligned at load time, linker will set aligned address as virtual address in elf header.

Differential Revision: https://reviews.llvm.org/D110795
The file was modifiedllvm/tools/llvm-profgen/ProfiledBinary.cpp
Commit dd13f45e04366cc4f648b57ec87d20a5569e27c3 by kbobyrev
[clangd] Reland D110386

D110711 will fix the bug on Windows side and allows me to reland this
patch.

Also land e50771181b7e0d96b30ee33049dc05172125b927 on top of it.
The file was modifiedclang-tools-extra/clangd/Headers.cpp
The file was modifiedclang-tools-extra/clangd/unittests/ParsedASTTests.cpp
The file was modifiedclang-tools-extra/clangd/unittests/HeadersTests.cpp
The file was modifiedclang-tools-extra/clangd/Headers.h
The file was modifiedclang-tools-extra/clangd/CodeComplete.cpp
Commit 455b60ccfbfdbb5d2b652666050544c31e6673b1 by courbet
[AA] Teach BasicAA to recognize basic GEP range information.

The information can be implicit (from `ValueTracking`) or explicit.

This implements the backend part of the following RFC
https://groups.google.com/g/llvm-dev/c/T9o51zB1JY.

We still need to settle on how to best represent the information in the
IR, but this is a separate discussion.

Differential Revision: https://reviews.llvm.org/D109746
The file was modifiedllvm/test/Analysis/BasicAA/sequential-gep.ll
The file was modifiedllvm/lib/Analysis/BasicAliasAnalysis.cpp
The file was modifiedllvm/test/Analysis/BasicAA/assume-index-positive.ll
The file was addedllvm/test/Analysis/BasicAA/range.ll
Commit afeda4b9ed881fb3f1b4340b8afa9963656013dc by zinenko
[mlir][python] provide access to function argument/result attributes

Without this change, these attributes can only be accessed through the generic
operation attribute dictionary provided the caller knows the special operation
attribute names used for this purpose. Add some Python wrapping to support this
use case.

Also provide access to function arguments usable inside the function along with
a couple of quality-of-life improvements in using block arguments (function
arguments being the arguments of its entry block).

Reviewed By: stellaraccident

Differential Revision: https://reviews.llvm.org/D110758
The file was modifiedmlir/test/python/ir/operation.py
The file was modifiedmlir/lib/Bindings/Python/PybindUtils.h
The file was modifiedmlir/test/python/dialects/builtin.py
The file was modifiedmlir/lib/Bindings/Python/IRCore.cpp
The file was modifiedmlir/python/mlir/dialects/_builtin_ops_ext.py
Commit 8c1b785ce110b754c2112906021a929ddd32f587 by zinenko
[mlir][python] provide bindings for the SCF dialect

This is an important core dialect that has not been exposed previously. Set up
the default bindings generation and provide a nicer wrapper for the `for` loop
with access to the loop configuration and body.

Depends On D110758

Reviewed By: stellaraccident

Differential Revision: https://reviews.llvm.org/D110759
The file was addedmlir/test/python/dialects/scf.py
The file was addedmlir/python/mlir/dialects/scf.py
The file was modifiedmlir/python/CMakeLists.txt
The file was addedmlir/python/mlir/dialects/_scf_ops_ext.py
The file was addedmlir/python/mlir/dialects/SCFOps.td
Commit 2c60cfc05f6fb32f128688c4cfffb09a978d539f by marek.kurdej+llvm.org
[format] [docs] Fix typos and clarify QualifierAlignment/QualifierOrder documentation.
The file was modifiedclang/lib/Format/QualifierAlignmentFixer.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
Commit d084c42bdfac4a5879bdabe645b14cf72f7685a7 by kbobyrev
Investigate failure in rGdd13f45e04366cc4f648b57ec87d20a5569e27c3

https://lab.llvm.org/buildbot/#/builders/123/builds/6406/steps/8/logs/stdio
The file was modifiedclang-tools-extra/clangd/Headers.h
The file was modifiedclang-tools-extra/clangd/unittests/ParsedASTTests.cpp
The file was modifiedclang-tools-extra/clangd/Headers.cpp
The file was modifiedclang-tools-extra/clangd/unittests/HeadersTests.cpp
Commit 3ccb473df3f9480232cc08b47e47508d7afb48e3 by andrzej.warzynski
[flang][docs] Remove the new driver sync-up calls
The file was modifiedflang/docs/GettingInvolved.md
Commit 87817bc523daba1d2bd0492144a5d6adba8a649c by kbobyrev
Fix the build after d084c42bdfac4a5879bdabe645b14cf72f7685a7
The file was modifiedclang-tools-extra/clangd/Headers.h
Commit 34d6c1822eebe2c69c850e14d48e986a5b68cbd6 by clementval
[fir] Update fir.array_update, fir.array_fetch and fir.array_merge_store

Add typeparams to fir.array_update, fir.array_fetch and
fir.array_merge_store operations. Add optional slice operands to
fir.array_merge_store op.
Move verifiers to cpp file.

Reviewed By: kiranchandramohan

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

Co-authored-by: Valentin Clement <clementval@gmail.com>
The file was modifiedflang/test/Fir/invalid.fir
The file was modifiedflang/test/Fir/fir-ops.fir
The file was modifiedflang/include/flang/Optimizer/Dialect/FIROps.td
The file was addedflang/include/flang/Optimizer/Support/Utils.h
The file was modifiedflang/include/flang/Optimizer/Dialect/FIRType.h
The file was modifiedflang/lib/Optimizer/Dialect/FIROps.cpp
Commit 156d7d2df748fa12f1a2b3de502c12035ff8b3d6 by jay.foad
[LiveIntervals] Remove unused subreg ranges in repairIntervalsInRange

If the old instructions mentioned a subreg that the new instructions do
not, remove the subrange for that subreg.

For example, in TwoAddressInstructionPass::eliminateRegSequence, if a
use operand in the REG_SEQUENCE has the undef flag then we don't
generate a copy for it so after the elimination there should be no live
interval at all for the corresponding subreg of the def.

This is a small step towards switching TwoAddressInstructionPass over
from LiveVariables to LiveIntervals. Currently this path is only tested
if you explicitly enable -early-live-intervals.

Differential Revision: https://reviews.llvm.org/D110542
The file was modifiedllvm/lib/CodeGen/LiveIntervals.cpp
The file was modifiedllvm/test/CodeGen/Thumb2/mve-sext-masked-load.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/dead-lane.mir
Commit c8f03a7fe80212b35b150910f5b73bfa5d272053 by clementval
[fir] Update fir.extract_value and fir.insert_value ops

Move coor operand from variadic values to ArrayAttr.
Update assembly format.

This patch is part of the upstreaming effort from fir-dev branch.

Reviewed By: kiranchandramohan

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

Co-authored-by: Jean Perier <jperier@nvidia.com>
Co-authored-by: Valentin Clement <clementval@gmail.com>
The file was modifiedflang/test/Fir/fir-ops.fir
The file was modifiedflang/include/flang/Optimizer/Dialect/FIROps.td
The file was modifiedflang/lib/Optimizer/Dialect/FIROps.cpp
Commit 13f3c39f3658fa28cb008eb56a58d8e34697cd5d by jingu.kang
Second Recommit "[AArch64] Split bitmask immediate of bitwise AND operation"

This reverts the revert commit c07f7099690e8607d119227db1f80ee21eff3a3b with
bug fixes.

Differential Revision: https://reviews.llvm.org/D109963
The file was modifiedllvm/lib/Target/AArch64/CMakeLists.txt
The file was modifiedllvm/lib/Target/AArch64/MCTargetDesc/AArch64AddressingModes.h
The file was modifiedllvm/test/CodeGen/AArch64/O3-pipeline.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64.h
The file was modifiedllvm/lib/Target/AArch64/AArch64TargetMachine.cpp
The file was addedllvm/lib/Target/AArch64/AArch64MIPeepholeOpt.cpp
The file was addedllvm/test/CodeGen/AArch64/aarch64-split-and-bitmask-immediate.ll
The file was modifiedllvm/test/CodeGen/AArch64/unfold-masked-merge-scalar-constmask-innerouter.ll
Commit 4db00342e566debacf1c048fe6968fdbe0b7683d by llvmgnsyncbot
[gn build] Port 13f3c39f3658
The file was modifiedllvm/utils/gn/secondary/llvm/lib/Target/AArch64/BUILD.gn
Commit 1f69dc08454725d95e9dbf6e299afc91e44506f5 by clementval
[fir] Update fir.allocmem op

Updatet the fir.allocmem operation.

This patch is part of the upstreaming effort from fir-dev branch.

Reviewed By: schweitz

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

Co-authored-by: Eric Schweitz <eschweitz@nvidia.com>
The file was modifiedflang/lib/Optimizer/Dialect/FIROps.cpp
The file was modifiedflang/include/flang/Optimizer/Dialect/FIROps.td
Commit 8014b28dcfa17532bdff31358c1c5aa00e76452e by clementval
[fir] Update fir.alloca op

Update the fir.alloca operation.

This patch is part of the upstreaming effort from fir-dev branch.

Reviewed By: mehdi_amini

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

Co-authored-by: Jean Perier <jperier@nvidia.com>
Co-authored-by: Valentin Clement <clementval@gmail.com>
The file was modifiedflang/lib/Optimizer/Dialect/FIROps.cpp
The file was modifiedflang/include/flang/Optimizer/Dialect/FIROps.td
Commit 633f70f76ec66956282087dbaf0ab4086a9ffd4f by clementval
[fir][NFC] Move parser/printer/builder to cpp file

Move the parsers, printers and builders from the TableGen file
to the .cpp file. Remaining parsers, printers and builders will be
moved when we update the operations.

This patch is part of the upstreaming effort from fir-dev branch.

Reviewed By: schweitz

Differential Revision: https://reviews.llvm.org/D110626
The file was modifiedflang/lib/Optimizer/Dialect/FIROps.cpp
The file was modifiedflang/include/flang/Optimizer/Dialect/FIROps.td
Commit 230a6edb49c31e2c96613f5b7deefd4f4faf9a6d by kbobyrev
Revert "[clangd] Reland D110386"

This reverts commits

- dd13f45e04366cc4f648b57ec87d20a5569e27c3
- d084c42bdfac4a5879bdabe645b14cf72f7685a7
- 87817bc523daba1d2bd0492144a5d6adba8a649c
The file was modifiedclang-tools-extra/clangd/Headers.h
The file was modifiedclang-tools-extra/clangd/Headers.cpp
The file was modifiedclang-tools-extra/clangd/unittests/HeadersTests.cpp
The file was modifiedclang-tools-extra/clangd/unittests/ParsedASTTests.cpp
The file was modifiedclang-tools-extra/clangd/CodeComplete.cpp
Commit e5e0e00831ba093639edbd443b6e05b3118f8930 by balazs.benics
[NFC] Cleanup the overload of ASTImporter::import()

This patch aims to address the comment of a previous review:
https://reviews.llvm.org/D109237#inline-1040678

The original problem was the following:
  `T` is substituted by `clang::Type`

  Expected<T *> import(T *From) {
    auto ToOrErr = Importer.Import(From);
    //             ^^^^^^^^^^^^^^^^^^^^^
    if (!ToOrErr)
      return ToOrErr.takeError();
    return cast_or_null<T>(*ToOrErr);
    //     ^^^^^^^^^^^^^^^^^^^^^^^^^
  }

`Importer.Import()` operates on `const Type *`, thus returns `const Type *`.
Later, at the return statement, we will try to construct an `Expected<Type*>`
from a `const Type *`, which failed with a miserable error message.

In all other cases `importer.Import()` results in a non-const version,
so everything works out just fine, but for `clang::type`s, we should
really return a const version.

So, in case of `T` is a subclass of `clang::Type`, it will return a
`Exprected<const T*>` instead.

Reviewed By: martong

Differential Revision: https://reviews.llvm.org/D109269
The file was modifiedclang/lib/AST/ASTImporter.cpp
Commit 220f314f94abfd201930ed9d491ce55695df2908 by clementval
[fir] Update fir.field_index op

Move the parser, printer, verifier and builder out of the .td file.
Rename lenparams to typeparams to be in sync with fir-dev.

This patch is part of the upstreaming effort from fir-dev branch.

Reviewed By: rovka

Differential Revision: https://reviews.llvm.org/D110690
The file was modifiedflang/lib/Optimizer/Dialect/FIROps.cpp
The file was modifiedflang/include/flang/Optimizer/Dialect/FIROps.td
Commit fad14a17a490b1825b0c7c40ace7e83c91af4b8a by nemanja.i.ibm
[PowerPC] Truncate element index for vec_insert in altivec.h

When a user specifies an out-of-range index for vec_insert, we
just produce IR that has undefined behaviour even though the
documentation states that modulo arithmetic is used. This patch
just truncates the value to a valid index.
The file was modifiedclang/lib/Headers/altivec.h
Commit 2e7deee376aaf24344c16e968d216b5673552a76 by Amara Emerson
[AArch64][GlobalISel] Re-generate some tests for D110802.
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/prelegalizercombiner-trivial-arith.mir
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/combine-mul.mir
Commit 6776bcfeb6a1fb33ad3bdc663b364e8adb126041 by lebedev.ri
[NFC][Costmodel][LV][X86] Add test coverage for f32 interleaved load/store stride=2
The file was addedllvm/test/Analysis/CostModel/X86/interleaved-load-f32-stride-2.ll
The file was addedllvm/test/Analysis/CostModel/X86/interleaved-store-f32-stride-2.ll
Commit 68e56bd320d70470c39ec921bd23dae6836770d7 by akuegel
[mlir] Remove unused namespace alias.
The file was modifiedmlir/lib/Bindings/Python/Conversions/Conversions.cpp
Commit dea48079b90d40f2087435b778544dffb0ab1793 by kbobyrev
[clangd] Land D110386 again

This time, use llvm::sys::fs::UniqueID instead of unstable
FileEntry::getName(), this should solve the problems on Windows and
elsewhere.
The file was modifiedclang-tools-extra/clangd/CodeComplete.cpp
The file was modifiedclang-tools-extra/clangd/Headers.h
The file was modifiedclang-tools-extra/clangd/unittests/ParsedASTTests.cpp
The file was modifiedclang-tools-extra/clangd/Headers.cpp
The file was modifiedclang-tools-extra/clangd/unittests/HeadersTests.cpp
Commit adc18ad6ac67658a237ffb345623f4cf78b9c3c8 by gchatelet
[libc] move benchmark function registration to a different file
The file was addedlibc/benchmarks/LibcFunctionPrototypes.h
The file was modifiedlibc/benchmarks/LibcMemoryGoogleBenchmarkMain.cpp
The file was modifiedlibc/benchmarks/CMakeLists.txt
The file was modifiedlibc/benchmarks/LibcMemoryBenchmark.h
The file was addedlibc/benchmarks/LibcDefaultImplementations.cpp
Commit bafd8b1add1e0871a4cc568bd40bf6bbfc175762 by brock.wyma
[CodeView] Recognize Fortran95 as Fortran instead of MASM

Map Fortran95 sources to Fortran so the CodeView language is not emitted as
MASM.

Differential Revision: https://reviews.llvm.org/D110330
The file was modifiedllvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp
The file was addedllvm/test/DebugInfo/COFF/language.ll
Commit f9aa8623fe6d3b44e8a2b5b148c7fddaee71427b by david.green
[ARM] Add more MVE intrinsics to sink splats to

This adds a few more unpredicated intrinsics to sink splats to, in order
to create more qr instruction variants. Notably this includes
saddsat/uaddsat but also some of the unpredicated mve intrinsics.

Differential Revision: https://reviews.llvm.org/D110333
The file was modifiedllvm/lib/Target/ARM/ARMISelLowering.cpp
The file was modifiedllvm/test/CodeGen/Thumb2/mve-qrintr.ll
Commit 93a6b49d38af236a964492ac6de71d71e93a89a6 by zinenko
[mlir][python] provide bindings for ops from the sparse_tensor dialect

Previously, the dialect was exposed for linking and pass management purposes,
but we did not generate op classes for it. Generate them.

Reviewed By: nicolasvasilache

Differential Revision: https://reviews.llvm.org/D110819
The file was modifiedmlir/python/CMakeLists.txt
The file was addedmlir/python/mlir/dialects/SparseTensorOps.td
The file was modifiedmlir/python/mlir/dialects/sparse_tensor.py
Commit ccc0f62d1bc96e56d816f9cd7a987666fbd36b5b by clementval
[fir][NFC] Update and move fir.freemem and fir.store

Move fir.freemem and fir.store to the Memory SSA operations sections.
Move parser, printer and verifier of fir.store to the .cpp file.

This patch is part of the upstreaming effort from fir-dev branch.

Co-authored-by: Jean Perier <jperier@nvidia.com>
Co-authored-by: Eric Schweitz <eschweitz@nvidia.com>

Reviewed By: jeanPerier

Differential Revision: https://reviews.llvm.org/D110816
The file was modifiedflang/lib/Optimizer/Dialect/FIROps.cpp
The file was modifiedflang/include/flang/Optimizer/Dialect/FIROps.td
Commit afb30fcdf672d0d8dcdfe04d9d235b950112b622 by clementval
[fir][NFC] Move fir.shape verifier to cpp file

Move verifier code to the .cpp file.

Follow up to https://reviews.llvm.org/D110626.

This patch is part of the upstreaming effort from fir-dev branch.

Reviewed By: jeanPerier

Differential Revision: https://reviews.llvm.org/D110826
The file was modifiedflang/include/flang/Optimizer/Dialect/FIROps.td
The file was modifiedflang/lib/Optimizer/Dialect/FIROps.cpp
Commit 452714f8f8037ff37f9358317651d1652e231db2 by anna
[BPI] Keep BPI available in loop passes through LoopStandardAnalysisResults

This is analogous to D86156 (which preserves "lossy" BFI in loop
passes). Lossy means that the analysis preserved may not be up to date
with regards to new blocks that are added in loop passes, but BPI will
not contain stale pointers to basic blocks that are deleted by the loop
passes.

This is achieved through BasicBlockCallbackVH in BPI, which calls
eraseBlock that updates the data structures in BPI whenever a basic
block is deleted.

This patch does not have any changes in the upstream pipeline, since
none of the loop passes in the pipeline use BPI currently.
However, since BPI wasn't previously preserved in loop passes, the loop
predication pass was invoking BPI *on the entire
function* every time it ran in an LPM.  This caused massive compile time
in our downstream LPM invocation which contained loop predication.

See updated test with an invocation of a loop-pipeline containing loop
predication and -debug-pass turned ON.

Reviewed-By: asbirlea, modimo
Differential Revision: https://reviews.llvm.org/D110438
The file was modifiedllvm/lib/Transforms/Utils/LoopVersioning.cpp
The file was modifiedllvm/lib/Transforms/Vectorize/LoopVectorize.cpp
The file was modifiedllvm/test/Transforms/LoopPredication/preserve-bpi.ll
The file was modifiedllvm/lib/Transforms/Scalar/LoopDistribute.cpp
The file was modifiedllvm/lib/Transforms/Scalar/LoopLoadElimination.cpp
The file was modifiedllvm/include/llvm/Analysis/LoopAnalysisManager.h
The file was modifiedllvm/include/llvm/Transforms/Scalar/LoopPassManager.h
The file was modifiedllvm/lib/Transforms/Scalar/LoopPassManager.cpp
The file was modifiedllvm/lib/Transforms/Scalar/LoopPredication.cpp
The file was modifiedllvm/lib/Passes/PassBuilder.cpp
Commit a6fc555202ac1bd77d9c6c9325d797ae7d83b30d by clementval
[fir][NFC] Move parser/printer for fir.global_len

Move parser and printer to the .cpp file.

Follow up to https://reviews.llvm.org/D110626.

This patch is part of the upstreaming effort from fir-dev branch.

Reviewed By: jeanPerier

Differential Revision: https://reviews.llvm.org/D110828
The file was modifiedflang/include/flang/Optimizer/Dialect/FIROps.td
The file was modifiedflang/lib/Optimizer/Dialect/FIROps.cpp
Commit 7bb47a046fe023c09cca2500e39eba5f440fbb99 by kubak
[NFC] Improve file-level documentation for Sequence.h

Add usage samples.

This was extracted from a bigger patch: https://reviews.llvm.org/D107378.

Reviewed By: aaron.ballman, gchatelet

Differential Revision: https://reviews.llvm.org/D110760
The file was modifiedllvm/include/llvm/ADT/Sequence.h
Commit 6be397eb3545ac21aaf1dc2353f608825e0c7aa3 by lebedev.ri
[NFC][X86][LV] Add costmodel test coverage for interleaved i64/f64 load/store stride=2
The file was addedllvm/test/Analysis/CostModel/X86/interleaved-load-i64-stride-2.ll
The file was addedllvm/test/Analysis/CostModel/X86/interleaved-store-i64-stride-2.ll
The file was addedllvm/test/Analysis/CostModel/X86/interleaved-load-f64-stride-2.ll
The file was addedllvm/test/Analysis/CostModel/X86/interleaved-store-f64-stride-2.ll
Commit 3bd02ec97704058a984b0db65a5d104830d2b1f6 by lebedev.ri
[NFC][X86][Codegen] Add test coverage for interleaved i64 load/store stride=2
The file was addedllvm/test/CodeGen/X86/vector-interleaved-store-i64-stride-2.ll
The file was addedllvm/test/CodeGen/X86/vector-interleaved-load-i64-stride-2.ll
Commit 6f2d01376d2da4e73e0dc5d339f6e5b1646a9c25 by anna
[LoopPredication] Remove unused variable

After rG452714f8f8037ff37f9358317651d1652e231db2, the Function `F` retrieved in LoopPredication is not used.
Remove this unused variable to stop some buildbots (ASAN, clang-ppc) from failing.
The file was modifiedllvm/lib/Transforms/Scalar/LoopPredication.cpp
Commit 38ec2292f0c2f25062705607b92502c0f9de3678 by kbobyrev
[clangd] Update comment after dea48079b90d40f2087435b778544dffb0ab1793
The file was modifiedclang-tools-extra/clangd/Headers.h
Commit 0781461959e2159f15fece225fe2a2efb48fe3b3 by clementval
[fir][NFC] Removed unused declaration from td file

Remove unused code from FIROps.td file after latest
patches.

Reviewed By: kiranchandramohan

Differential Revision: https://reviews.llvm.org/D110814
The file was modifiedflang/include/flang/Optimizer/Dialect/FIROps.td
Commit c15bbdeafffb4a19f511671d1781a64bba638400 by Louis Dionne
[libc++] Add a testing configuration specific to Apple's libc++

Apple's libc++ has a few differences with the LLVM libc++, and it is
necessary to use a custom configuration file to test it properly.

Differential Revision: https://reviews.llvm.org/D110777
The file was addedlibcxx/test/configs/apple-libc++-shared.cfg.in
The file was modifiedlibcxx/utils/ci/apple-install-libcxx.sh
The file was modifiedlibcxx/utils/ci/run-buildbot
Commit 4cab4f6b1c089fe51d50b4b4d931976db64fecce by clementval
[fir] Update fir.alloca op

Add pinned attributes and speicifc builders.

The pinned attribute helps mark those allocas in OpenMP regions that should not
be hoisted out by an alloca hoisting pass.

This patch is part of the upstreaming effort from fir-dev branch.

Coming from PR: https://github.com/flang-compiler/f18-llvm-project/pull/1065

Reviewed By: kiranchandramohan

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

Co-authored-by: Valentin Clement <clementval@gmail.com>
The file was modifiedflang/include/flang/Optimizer/Dialect/FIROps.td
The file was modifiedflang/lib/Optimizer/Dialect/FIROps.cpp
Commit 97948620b1ace5dd6a637d5995266ceed6c54826 by spatel
[x86] add test for 3 fcmps and logic; NFC

This is a more complex pattern than we handled with the
initial patch for PR51245:
D110342 / 09e71c367af3

We could extend the logic matching to allow a setcc as
one operand and an extract of vector setcc (or even an
arbitrary bool?) as the other.
The file was modifiedllvm/test/CodeGen/X86/fcmp-logic.ll
Commit 9c8d8fc98fe7105af8bf4e8d709e706d4327969e by fmayer
[NFC] [hwasan] Remove unneeded member.

Reviewed By: hctim

Differential Revision: https://reviews.llvm.org/D110791
The file was modifiedllvm/include/llvm/Transforms/Instrumentation/AddressSanitizerCommon.h
Commit cf362ff4cab3a3bef5f32f0445526823998eb72f by daniil.fukalov
[NFC][AMDGPU] Improve cost model tests coverage.
The file was modifiedllvm/test/Analysis/CostModel/AMDGPU/mul.ll
The file was modifiedllvm/test/Analysis/CostModel/AMDGPU/fadd.ll
The file was modifiedllvm/test/Analysis/CostModel/AMDGPU/fmul.ll
The file was modifiedllvm/test/Analysis/CostModel/AMDGPU/addrspacecast.ll
The file was modifiedllvm/test/Analysis/CostModel/AMDGPU/logicalop.ll
The file was modifiedllvm/test/Analysis/CostModel/AMDGPU/insertelement.ll
The file was modifiedllvm/test/Analysis/CostModel/AMDGPU/fdiv.ll
The file was modifiedllvm/test/Analysis/CostModel/AMDGPU/extractelement.ll
The file was modifiedllvm/test/Analysis/CostModel/AMDGPU/fused_costs.ll
The file was modifiedllvm/test/Analysis/CostModel/AMDGPU/bit-ops.ll
The file was modifiedllvm/test/Analysis/CostModel/AMDGPU/shifts.ll
The file was modifiedllvm/test/Analysis/CostModel/AMDGPU/fsub.ll
The file was modifiedllvm/test/Analysis/CostModel/AMDGPU/add-sub.ll
The file was modifiedllvm/test/Analysis/CostModel/AMDGPU/fneg.ll
The file was modifiedllvm/test/Analysis/CostModel/AMDGPU/fma.ll
The file was modifiedllvm/test/Analysis/CostModel/AMDGPU/fabs.ll
The file was modifiedllvm/test/Analysis/CostModel/AMDGPU/shufflevector.ll
Commit f631173d80cace522c89c566f13cc447741745e4 by kazu
[llvm] Migrate from arg_operands to args (NFC)

Note that arg_operands is considered a legacy name.  See
llvm/include/llvm/IR/InstrTypes.h for details.
The file was modifiedllvm/lib/Transforms/Vectorize/LoopVectorize.cpp
The file was modifiedllvm/lib/Transforms/Utils/InlineFunction.cpp
The file was modifiedllvm/lib/CodeGen/CodeGenPrepare.cpp
The file was modifiedllvm/lib/Analysis/ValueTracking.cpp
The file was modifiedllvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
The file was modifiedllvm/lib/IR/AutoUpgrade.cpp
The file was modifiedllvm/lib/Transforms/Scalar/LICM.cpp
The file was modifiedllvm/lib/CodeGen/ReplaceWithVeclib.cpp
The file was modifiedllvm/lib/Target/AArch64/AArch64FastISel.cpp
The file was modifiedllvm/lib/Transforms/Scalar/ScalarizeMaskedMemIntrin.cpp
The file was modifiedllvm/unittests/IR/InstructionsTest.cpp
The file was modifiedllvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
The file was modifiedllvm/lib/Transforms/Utils/InjectTLIMappings.cpp
The file was modifiedllvm/lib/Transforms/Scalar/TailRecursionElimination.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
The file was modifiedllvm/lib/Target/NVPTX/NVPTXTargetTransformInfo.cpp
The file was modifiedllvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
Commit 7362cc5ef50b5ebcbb11380ab13a179902c7b8be by clementval
[fir][NFC] Rename lenParams to typeparams in builders

Fine tuning after couple of upstreamed patches.
Rename the lenParams varaiables in buidlers to typeparams.

This patch is part of the upstreaming effort from fir-dev branch.

Reviewed By: kiranchandramohan

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

Co-authored-by: Valentin Clement <clementval@gmail.com>
The file was modifiedflang/include/flang/Optimizer/Dialect/FIROps.td
Commit 981b12fe89f1a8e01445d05e5f6145e420a1c76d by Louis Dionne
[libc++][NFC] Remove stray whitespace
The file was modifiedlibcxx/utils/libcxx/test/format.py
Commit 9232ca4712cf3f3a99a8cd095165241daf0ddc4e by Adrian Prantl
Improve the effectiveness of BDCE's debug info salvaging

This patch improves the effectiveness of BDCE's debug info salvaging
by processing the instructions in reverse order and delaying
dropAllReferences until after debug info salvaging. This allows
salvaging of entire chains of deleted instructions!

Previously we would remove all references from an instruction, which
would make it impossible to use that instruction to salvage a later
instruction in the instruction stream, because its operands were
already removed.

This reapplies the previous patch with a fix for a use-after-free.

Differential Revision: https://reviews.llvm.org/D110568
The file was modifiedllvm/test/Transforms/Util/salvage-debuginfo.ll
The file was modifiedllvm/lib/Transforms/Scalar/BDCE.cpp
Commit 267bb194f3cedd88db0e7a5ea86169d669948e74 by stellaraccident
[mlir] Remove old "tc" linalg ods generator.

* This could have been removed some time ago as it only had one op left in it, which is redundant with the new approach.
* `matmul_i8_i8_i32` (the remaining op) can be trivially replaced by `matmul`, which natively supports mixed precision.

Differential Revision: https://reviews.llvm.org/D110792
The file was modifiedmlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
The file was modifiedmlir/test/Dialect/Linalg/vectorization.mlir
The file was removedmlir/tools/mlir-linalg-ods-gen/mlir-linalg-ods-gen.cpp
The file was modifiedmlir/test/CMakeLists.txt
The file was modifiedmlir/test/lib/Dialect/Linalg/TestLinalgTransforms.cpp
The file was modifiedmlir/include/mlir/Dialect/Linalg/IR/LinalgStructuredOps.td
The file was modifiedmlir/test/Dialect/Linalg/tile-and-pad-tensors.mlir
The file was modifiedmlir/test/lit.cfg.py
The file was removedmlir/test/Integration/Dialect/Linalg/CPU/benchmark_matmul_i8_i8_i32.mlir
The file was removedmlir/include/mlir/Dialect/Linalg/IR/LinalgNamedStructuredOpsSpec.tc
The file was removedmlir/test/mlir-linalg-ods-gen/test-linalg-ods-gen.tc
The file was modifiedutils/bazel/llvm-project-overlay/mlir/BUILD.bazel
The file was modifiedmlir/include/mlir/Dialect/Linalg/IR/CMakeLists.txt
The file was modifiedmlir/tools/mlir-linalg-ods-gen/CMakeLists.txt
Commit 765348298c52bcff7c33d766cda954c3371a700f by craig.topper
[CostModel] Update default cost model for sadd/ssub overflow to match TargetLowering

The expansion for these was updated in https://reviews.llvm.org/D47927 but the cost model was not adjusted.

I believe the cost model was also incorrect for the old expansion.
The expansion prior to D47927 used 3 icmps using LHS, RHS, and Result
to calculate theirs signs. Then 2 icmps to compare the signs. Followed
by an And. The previous cost model was using 3 icmps and 2 selects.
Digging back through git blame, those 2 selects in the cost model used to
be 2 icmps, but were changed in https://reviews.llvm.org/D90681

Differential Revision: https://reviews.llvm.org/D110739
The file was modifiedllvm/test/Analysis/CostModel/AArch64/arith-ssat.ll
The file was modifiedllvm/test/Analysis/CostModel/ARM/arith-overflow.ll
The file was modifiedllvm/include/llvm/CodeGen/BasicTTIImpl.h
The file was modifiedllvm/test/Analysis/CostModel/X86/arith-ssat.ll
The file was modifiedllvm/test/Analysis/CostModel/ARM/arith-ssat.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/AArch64/intrinsiccost.ll
The file was modifiedllvm/test/Analysis/CostModel/X86/arith-overflow.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/ARM/mve-saddsatcost.ll
Commit fc7604a2c0791d81ca097e935d19784b80bd016d by aeubanks
Instantiate fewer templates in PassManager::addPass()

We create many instantiations of PassManager::addPass() in
PassBuilder.cpp.  vector::emplace_back() and make_unique() are both
templated and would have many instantiations based on the number of
times we instantiate addPass().  Now we directly construct the
unique_ptr with the type as the actual unique_ptr type in the vector we
are adding it to, so we only have one unique_ptr constructor
instantiation across all addPass() instantiations and only the
non-templated push_back().

This makes PassBuilder.cpp slightly faster to build.

Reviewed By: rnk

Differential Revision: https://reviews.llvm.org/D110775
The file was modifiedllvm/include/llvm/Transforms/Scalar/LoopPassManager.h
The file was modifiedllvm/include/llvm/IR/PassManager.h
Commit ea02f9caffb6364613b1f49312a5dafb04ead48d by nikita.ppv
[BasicAA] Use ExtendedValue in VariableGEPIndex (NFC)

Use the ExtendedValue structure which is used for LinearExpression
in VariableGEPIndex as well.
The file was modifiedllvm/lib/Analysis/BasicAliasAnalysis.cpp
Commit d372e92baf96cb0913aa361ecbc53a38a5f29ae1 by aeubanks
Manually create unique_ptr in various pass adaptors

This avoids creating tons of make_unique template instantiations. And we
only create a unique_ptr of the actual pass concept type, rather than
creating a unique_ptr of the pass model subclass then casting it to the
pass concept type.

This reduces the work spent compiling PassBuilder.cpp from 83M -> 73M
instructions according to perf stat.

Reviewed By: rnk

Differential Revision: https://reviews.llvm.org/D110784
The file was modifiedllvm/include/llvm/Analysis/CGSCCPassManager.h
The file was modifiedllvm/include/llvm/IR/PassManager.h
The file was modifiedllvm/include/llvm/Transforms/Scalar/LoopPassManager.h
Commit 244aa7f7358da791a231ffd4efd849f166050c4b by Stanislav.Mekhanoshin
[AMDGPU] move hasAGPRs/hasVGPRs into header

It is now very simple and can go right into the header
allowing optimizer to combine callers, such as isVGPRClass
and similar.

It does not need anything from the TRI itself anymore, so
make it static class member along with the callers.

Differential Revision: https://reviews.llvm.org/D110762
The file was modifiedllvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
The file was modifiedllvm/lib/Target/AMDGPU/SIRegisterInfo.h
Commit b505ed9d313653782b81bbc97979c98edb205558 by Jonas Devlieghere
[lldb] Remove support for replaying the test suite from a reproducer

This patch removes the infrastructure to replay the test suite from a
reproducer, as well as the modifications made to the individual tests.
The file was modifiedlldb/test/API/functionalities/gdb_remote_client/TestProcessConnect.py
The file was modifiedlldb/test/API/functionalities/gdb_remote_client/TestIOSSimulator.py
The file was modifiedlldb/test/API/lang/cpp/thread_local/TestThreadLocal.py
The file was modifiedlldb/test/API/python_api/process/TestProcessAPI.py
The file was modifiedlldb/test/API/lang/objc/foundation/TestRuntimeTypes.py
The file was modifiedlldb/test/API/python_api/hello_world/TestHelloWorld.py
The file was modifiedlldb/test/API/tools/lldb-server/TestAppleSimulatorOSType.py
The file was modifiedlldb/test/API/functionalities/postmortem/minidump-new/TestMiniDumpUUID.py
The file was modifiedlldb/test/API/commands/log/basic/TestLogging.py
The file was modifiedlldb/test/API/commands/settings/quoting/TestQuoting.py
The file was modifiedlldb/test/API/functionalities/gdb_remote_client/TestGDBRemoteClient.py
The file was modifiedlldb/test/API/functionalities/reproducers/attach/TestReproducerAttach.py
The file was modifiedlldb/test/API/python_api/disassemble-raw-data/TestDisassemble_VST1_64.py
The file was modifiedlldb/test/API/python_api/process/read-mem-cstring/TestReadMemCString.py
The file was modifiedlldb/test/API/macosx/thread-names/TestInterruptThreadNames.py
The file was modifiedlldb/test/API/types/AbstractBase.py
The file was modifiedlldb/test/API/commands/process/attach/TestProcessAttach.py
The file was modifiedlldb/test/API/commands/session/save/TestSessionSave.py
The file was modifiedlldb/test/API/python_api/watchpoint/TestSetWatchpoint.py
The file was modifiedlldb/test/API/python_api/process/io/TestProcessIO.py
The file was modifiedlldb/packages/Python/lldbsuite/test/configuration.py
The file was modifiedlldb/test/API/commands/process/attach/attach_denied/TestAttachDenied.py
The file was modifiedlldb/test/API/functionalities/breakpoint/step_over_breakpoint/TestStepOverBreakpoint.py
The file was modifiedlldb/test/API/functionalities/memory/read/TestMemoryRead.py
The file was modifiedlldb/test/API/lang/cpp/member-and-local-vars-with-same-name/TestMembersAndLocalsWithSameName.py
The file was modifiedlldb/test/API/lang/objc/foundation/TestSymbolTable.py
The file was modifiedlldb/test/API/functionalities/gdb_remote_client/TestRestartBug.py
The file was modifiedlldb/test/API/python_api/target/TestTargetAPI.py
The file was modifiedlldb/test/API/functionalities/step_scripted/TestStepScripted.py
The file was modifiedlldb/test/API/macosx/simulator/TestSimulatorPlatform.py
The file was modifiedlldb/test/API/iohandler/resize/TestIOHandlerResizeNoEditline.py
The file was modifiedlldb/test/API/python_api/symbol-context/TestSymbolContext.py
The file was modifiedlldb/test/API/commands/expression/unwind_expression/TestUnwindExpression.py
The file was modifiedlldb/test/API/functionalities/breakpoint/objc/TestObjCBreakpoints.py
The file was modifiedlldb/test/API/macosx/version_zero/TestGetVersionZeroVersion.py
The file was modifiedlldb/test/API/commands/settings/TestSettings.py
The file was modifiedlldb/packages/Python/lldbsuite/test/dotest_args.py
The file was modifiedlldb/test/API/macosx/find-dsym/bundle-with-dot-in-filename/TestBundleWithDotInFilename.py
The file was modifiedlldb/test/API/functionalities/postmortem/minidump-new/TestMiniDumpNew.py
The file was modifiedlldb/test/API/lang/objc/modules-hash-mismatch/TestClangModulesHashMismatch.py
The file was modifiedlldb/test/API/python_api/default-constructor/TestDefaultConstructorForAPIObjects.py
The file was modifiedlldb/test/API/functionalities/breakpoint/breakpoint_command/TestBreakpointCommandsFromPython.py
The file was modifiedlldb/test/API/commands/platform/process/list/TestProcessList.py
The file was modifiedlldb/test/API/commands/watchpoints/watchpoint_commands/command/TestWatchpointCommandPython.py
The file was modifiedlldb/test/API/functionalities/conditional_break/TestConditionalBreak.py
The file was modifiedlldb/test/API/commands/expression/timeout/TestCallWithTimeout.py
The file was modifiedlldb/test/API/lang/cpp/accelerator-table/TestCPPAccelerator.py
The file was modifiedlldb/test/API/python_api/file_handle/TestFileHandle.py
The file was modifiedlldb/test/API/commands/process/launch/TestProcessLaunch.py
The file was modifiedlldb/test/API/commands/target/basic/TestTargetCommand.py
The file was modifiedlldb/test/API/functionalities/jitloader_gdb/TestJITLoaderGDB.py
The file was modifiedlldb/test/API/functionalities/breakpoint/serialize/TestBreakpointSerialization.py
The file was modifiedlldb/test/API/lldbtest.py
The file was modifiedlldb/test/API/functionalities/gdb_remote_client/TestJLink6Armv7RegisterDefinition.py
The file was modifiedlldb/test/API/commands/expression/issue_11588/Test11588.py
The file was modifiedlldb/test/API/macosx/dyld-trie-symbols/TestDyldTrieSymbols.py
The file was modifiedlldb/test/API/python_api/disassemble-raw-data/TestDisassembleRawData.py
The file was modifiedlldb/test/API/macosx/function-starts/TestFunctionStarts.py
The file was modifiedlldb/test/API/commands/command/script/TestCommandScript.py
The file was modifiedlldb/test/API/functionalities/load_unload/TestLoadUnload.py
The file was modifiedlldb/test/API/functionalities/deleted-executable/TestDeletedExecutable.py
The file was modifiedlldb/test/API/lang/objc/modules-update/TestClangModulesUpdate.py
The file was modifiedlldb/test/API/functionalities/load_using_paths/TestLoadUsingPaths.py
The file was modifiedlldb/test/API/lang/objc/print-obj/TestPrintObj.py
The file was modifiedlldb/test/API/functionalities/thread/exit_during_expression/TestExitDuringExpression.py
The file was modifiedlldb/test/API/commands/expression/no-deadlock/TestExprDoesntBlock.py
The file was modifiedlldb/test/API/functionalities/postmortem/elf-core/TestLinuxCore.py
The file was modifiedlldb/test/API/lang/objc/modules/TestObjCModules.py
The file was modifiedlldb/packages/Python/lldbsuite/test/lldbtest.py
The file was modifiedlldb/test/API/macosx/find-dsym/deep-bundle/TestDeepBundle.py
The file was modifiedlldb/test/API/api/log/TestAPILog.py
The file was modifiedlldb/test/API/commands/expression/expr-in-syscall/TestExpressionInSyscall.py
The file was modifiedlldb/test/API/functionalities/gdb_remote_client/TestGDBRemoteLoad.py
The file was modifiedlldb/test/API/functionalities/breakpoint/scripted_bkpt/TestScriptedResolver.py
The file was modifiedlldb/test/API/functionalities/breakpoint/breakpoint_command/TestBreakpointCommand.py
The file was modifiedlldb/test/API/functionalities/completion/TestCompletion.py
The file was modifiedlldb/test/API/commands/process/attach-resume/TestAttachResume.py
The file was modifiedlldb/test/API/python_api/value/change_values/TestChangeValueAPI.py
The file was modifiedlldb/test/API/source-manager/TestSourceManager.py
The file was modifiedlldb/test/API/functionalities/gdb_remote_client/TestWriteMemory.py
The file was modifiedlldb/test/API/lit.cfg.py
The file was modifiedlldb/test/API/macosx/profile_vrs_detach/TestDetachVrsProfile.py
The file was modifiedlldb/packages/Python/lldbsuite/test/dotest.py
The file was modifiedlldb/test/API/macosx/posix_spawn/TestLaunchProcessPosixSpawn.py
The file was modifiedlldb/test/API/python_api/sbdata/TestSBData.py
The file was modifiedlldb/test/API/functionalities/inferior-changed/TestInferiorChanged.py
The file was modifiedlldb/packages/Python/lldbsuite/test/decorators.py
The file was modifiedlldb/test/API/functionalities/postmortem/netbsd-core/TestNetBSDCore.py
The file was modifiedlldb/test/API/functionalities/reproducers/fs-case-sensitivity/TestReproducerFSCaseSensitivity.py
The file was modifiedlldb/test/API/lit.site.cfg.py.in
The file was modifiedlldb/test/API/macosx/macCatalyst/TestMacCatalyst.py
The file was modifiedlldb/test/API/lang/c/modules/TestCModules.py
The file was modifiedlldb/test/API/functionalities/process_group/TestChangeProcessGroup.py
The file was modifiedlldb/test/API/lang/objc/hidden-ivars/TestHiddenIvars.py
The file was modifiedlldb/test/API/functionalities/signal/TestSendSignal.py
The file was modifiedlldb/test/API/functionalities/breakpoint/breakpoint_set_restart/TestBreakpointSetRestart.py
The file was modifiedlldb/test/API/macosx/macCatalystAppMacOSFramework/TestMacCatalystAppWithMacOSFramework.py
The file was modifiedlldb/test/API/python_api/interpreter/TestRunCommandInterpreterAPI.py
Commit cb2e6518000c7e1c5c2244592457afe4a97827e7 by antiagainst
[mlir][linalg] Fix incorrect bound calculation for tiling conv

For convolution, the input window dimension's access affine map
is of the form `(d0 * s0 + d1)`, where `d0`/`d1` is the output/
filter window dimension, and `s0` is the stride.

When tiling, https://reviews.llvm.org/D109267 changed how the
way dimensions are acquired. Instead of directly querying using
`*.dim` ops on the original convolution op, we now get it by
applying the access affine map to the loop upper bounds. This
is fine for dimensions having single-dimension affine maps,
like matmul, but not for convolution input. It will cause
incorrect compuation and out of bound. A concrete example, say
we have 1x225x225x3 (NHWC) input, 3x3x3x32 (HWCF) filter, and
1x112x112x3 (NHWC) output with stride 2, (112 * 2 + 3) would be
227, which is different from the correct input window dimension
size 225.

Instead, we should first calculate the max indices for each loop,
and apply the affine map to them, and then plus one to get the
dimension size. Note this makes no difference for matmul-like
ops given they will have `d0 - 1 + 1` effectively.

Reviewed By: nicolasvasilache

Differential Revision: https://reviews.llvm.org/D110849
The file was modifiedmlir/lib/Dialect/Linalg/Utils/Utils.cpp
The file was modifiedmlir/test/Dialect/Linalg/tile-and-fuse-tensors.mlir
The file was modifiedmlir/test/Dialect/Linalg/tile-and-fuse-on-tensors.mlir
The file was modifiedmlir/test/Dialect/Linalg/tile-simple-conv.mlir
The file was modifiedmlir/test/Dialect/Linalg/tile-conv.mlir
Commit faa1842875f1dcd241c6b0feab7d684eb97fefc4 by pklausler
[flang] Front-end and runtime support for CALL EXIT and ABORT

Support the extension intrinsic subroutines EXIT([status]) and ABORT()
in the intrinsic table and runtime support library.  Lowering remains
to be done.

Differential Revision: https://reviews.llvm.org/D110741
The file was modifiedflang/docs/Extensions.md
The file was modifiedflang/include/flang/Runtime/stop.h
The file was modifiedflang/lib/Evaluate/intrinsics.cpp
The file was modifiedflang/runtime/stop.cpp
The file was modifiedflang/unittests/Runtime/RuntimeCrashTest.cpp
Commit 138dc27186bed4565584387fc49d88b235a1e2ed by haowei
Revert "[libc++][libc++abi] Add tests for vendor-specific properties"

This reverts commit 9892d1644f62cf8f5133ee0d2ebafb56f6500cc1, which
causes clang test failures in libcxx tests.
The file was modifiedlibcxx/test/std/utilities/function.objects/func.search/func.search.bmh/pred.pass.cpp
The file was modifiedlibcxx/test/std/utilities/function.objects/func.search/func.search.bm/hash.pred.pass.cpp
The file was modifiedlibcxx/test/std/utilities/function.objects/func.search/func.search.bm/default.pass.cpp
The file was modifiedlibcxxabi/test/lit.site.cfg.in
The file was modifiedlibcxx/utils/libcxx/test/config.py
The file was removedlibcxxabi/test/vendor/apple/system-install-properties.sh.cpp
The file was modifiedlibcxx/test/configs/legacy.cfg.in
The file was modifiedlibcxx/test/std/utilities/charconv/charconv.from.chars/integral.bool.fail.cpp
The file was modifiedlibcxx/test/std/utilities/charconv/charconv.to.chars/integral.bool.fail.cpp
The file was modifiedlibcxx/test/std/utilities/charconv/charconv.to.chars/integral.pass.cpp
The file was modifiedlibcxx/test/configs/llvm-libc++-shared.cfg.in
The file was modifiedlibcxx/test/std/strings/c.strings/cuchar.pass.cpp
The file was modifiedlibcxx/test/std/utilities/function.objects/func.search/func.search.bmh/hash.pred.pass.cpp
The file was modifiedlibcxx/test/std/utilities/function.objects/func.search/func.search.bm/pred.pass.cpp
The file was modifiedlibcxx/test/configs/llvm-libc++-static.cfg.in
The file was modifiedlibcxx/test/std/utilities/charconv/charconv.from.chars/integral.pass.cpp
The file was modifiedlibcxx/utils/libcxx/test/params.py
The file was modifiedlibcxx/test/std/utilities/function.objects/func.search/func.search.bm/hash.pass.cpp
The file was removedlibcxx/test/libcxx/vendor/apple/system-install-properties.sh.cpp
The file was modifiedlibcxx/test/std/utilities/function.objects/func.search/func.search.bmh/default.pass.cpp
The file was modifiedlibcxx/test/std/utilities/function.objects/func.search/func.search.bmh/hash.pass.cpp
The file was modifiedlibcxx/cmake/caches/Apple.cmake
The file was modifiedlibcxx/test/std/utilities/charconv/charconv.from.chars/integral.roundtrip.pass.cpp
Commit 6714e1ce3b5ec02af2f9ab878bd10d273f02aa7e by Louis Dionne
[libc++abi][NFCI] Consistently group new_handler, unexpected_handler and terminate_handler

Previously, the definitions of __cxa_terminate_handler and __cxa_unexpected_handler
(and their set_xxx_handler functions) were grouped together, but the
definition of __cxa_new_handler wasn't. This commit simply moves those
to the same file to treat all handlers consistently.
The file was modifiedlibcxxabi/src/cxa_default_handlers.cpp
The file was modifiedlibcxxabi/src/cxa_handlers.cpp
Commit fa32fd3bf7c070e62487e5ccba00557d57b2ee5c by thakis
[clang] Remove duplication in types::getCompilationPhases()

Call Driver::getFinalPhase() instead of duplicating it.

https://reviews.llvm.org/D65993 added the duplication, then
02e35832c301e maded it more obviously a copy of getFinalPhase().

The only difference is that getCompilationPhases() used to use
LastPhase / IfsMerge where getFinalPhase() used Link. Adapt
getFinalPhase() to return IfsMerge when needed.

No intentional behavior change.

Differential Revision: https://reviews.llvm.org/D110770
The file was modifiedclang/lib/Driver/Driver.cpp
The file was modifiedclang/include/clang/Driver/Types.h
The file was modifiedclang/lib/Driver/Types.cpp
The file was modifiedclang/include/clang/Driver/Phases.h
The file was modifiedclang/include/clang/Driver/Driver.h
Commit dbaa40833693e79a8fcbea6435eb3b0becfd67ad by zequanwu
[clang] do not emit note for bad conversion when destination type qualifiers are not compatibly include source type qualifiers

llvm.org/PR52014

Differential Revision: https://reviews.llvm.org/D110780
The file was modifiedclang/test/SemaCXX/pointer-forward-declared-class-conversion.cpp
The file was modifiedclang/lib/Sema/SemaInit.cpp
Commit 8dfbe9b0aeb6d45975d453dfed828068c63c225e by thakis
[clang] Make crash reproducer work with clang-cl

When clang crashes, it writes a standalone source file and shell script
to reproduce the crash.

The Driver used to set `Mode = CPPMode` in generateCompilationDiagnostics()
to force preprocessing mode. This has the side effect of making
IsCLMode() return false, which in turn meant Clang::AddClangCLArgs()
didn't get called when creating the standalone source file, which meant
the stand-alone file was preprocessed with the gcc driver's defaults
In particular, exceptions default to on with the gcc driver, but to
off with the cl driver. The .sh script did use the original command
line, so in the reproducer for a clang-cl crash, the standalone source
file could contain exception-using code after preprocessing that the
compiler invocation in the shell script would then complain about.

This patch removes the `Mode = CPPMode;` line and instead additionally
checks for `CCGenDiagnostics` in most places that check `CCCIsCPP().
This also matches the strategy Clang::ConstructJob() uses to add
-frewrite-includes for creating the standalone source file for a crash
report.

Fixes PR52007.

Differential Revision: https://reviews.llvm.org/D110783
The file was removedclang/test/Driver/crash-report-clang-cl.c
The file was removedclang/test/Driver/crash-report.c
The file was modifiedclang/lib/Driver/Driver.cpp
The file was addedclang/test/Driver/crash-report.cpp
The file was addedclang/test/Driver/crash-report-clang-cl.cpp
Commit 691814f9cc79ff3b63cb53946a88c4db9c1f048d by pklausler
[flang] Fix test regression from SQRT folding

The algorithm used to fold SQRT has some holes that
led to test failures; debug and add more tests.

Differential Revision: https://reviews.llvm.org/D110744
The file was modifiedflang/test/Evaluate/folding28.f90
The file was modifiedflang/lib/Evaluate/real.cpp
Commit 76902079e42958118f01b4550d68a9b54c9e8e7e by aeubanks
[clang] Don't modify OptRemark if the argument is not relevant

A followup to D110201.

For example, we'd set OptimizationRemarkMissed's Regex to '.*' when
encountering -Rpass. Normally this doesn't actually affect remarks we
emit because in clang::ProcessWarningOptions() we'll separately look at
all -R arguments and turn on/off corresponding diagnostic groups.
However, this is reproducible with -round-trip-args.

Reviewed By: JamesNagurne

Differential Revision: https://reviews.llvm.org/D110673
The file was modifiedclang/lib/Frontend/CompilerInvocation.cpp
The file was modifiedclang/test/Frontend/optimization-remark.c
Commit 218954865ebee18d3d3f119a8579b9c1a6396c0b by 2998727+wrengr
[mlir][sparse] Correcting a few typos

Reviewed By: aartbik

Differential Revision: https://reviews.llvm.org/D110773
The file was modifiedmlir/lib/ExecutionEngine/SparseUtils.cpp
The file was modifiedmlir/lib/Dialect/SparseTensor/Transforms/SparseTensorConversion.cpp
Commit b989211d7db6bcc64bb9148bfb80bab4ebb6887e by nikita.ppv
[BasicAA] Move more extension logic into ExtendedValue (NFC)

Add methods to appropriately extend KnownBits/ConstantRange there,
same as with APInt. Also clean up the known bits handling by
actually doing that extension rather than checking ZExtBits. This
doesn't matter now, but becomes relevant once truncation is
involved.
The file was modifiedllvm/lib/Analysis/BasicAliasAnalysis.cpp
Commit e31899c7080f93c3d86b492af5f6bc9c3a1d1105 by thakis
Reland "[clang-cl] Accept `#pragma warning(disable : N)` for some N"

This reverts commit 0cd9d8a48bdddb17de2c6388f9d775353f9acab9 and
adds the changes described in https://reviews.llvm.org/D110668#3034461.
The file was modifiedclang/include/clang/Basic/DiagnosticIDs.h
The file was addedclang/test/Sema/pragma-warning.cpp
The file was modifiedclang/include/clang/Basic/Diagnostic.h
The file was addedclang/include/clang/Basic/CLWarnings.h
The file was modifiedclang/lib/Basic/Diagnostic.cpp
The file was addedclang/lib/Basic/CLWarnings.cpp
The file was modifiedclang/include/clang/Basic/DiagnosticCategories.h
The file was modifiedclang/include/clang/Basic/DiagnosticSemaKinds.td
The file was modifiedclang/include/clang/Basic/DiagnosticGroups.td
The file was modifiedclang/lib/Lex/Pragma.cpp
The file was modifiedllvm/utils/gn/secondary/clang/lib/Basic/BUILD.gn
The file was modifiedclang/lib/Basic/DiagnosticIDs.cpp
The file was modifiedclang/lib/Driver/ToolChains/Clang.cpp
The file was modifiedclang/utils/TableGen/ClangDiagnosticsEmitter.cpp
The file was modifiedclang/test/Driver/cl-options.c
The file was modifiedclang/lib/Basic/CMakeLists.txt
The file was modifiedclang/tools/diagtool/DiagnosticNames.cpp
The file was modifiedclang/include/clang/Driver/Options.td
Commit 66c069d7d626259d354c6fdac6b7d309b7963ed2 by spatel
[InstCombine] add tests for shift-trunc-shift; NFC
The file was modifiedllvm/test/Transforms/InstCombine/shift-shift.ll
Commit 3fcb00df5dbfa63844db148bd6877d865a930400 by spatel
[InstCombine] restrict shift-trunc-shift fold to opposite direction shifts

This is NFCI because the pattern with 2 left-shifts should get
folded independently by smaller folds.

The motivation is to refine this block to avoid infinite loops
seen with D110170.
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineShifts.cpp
Commit 82568675087eebbe4f1c5c56f40969c43a738b83 by pklausler
[flang] Fold FINDLOC()

Fold the transformational intrinsic function FINDLOC() for
all combinations of optional arguments and data types.

Differential Revision: https://reviews.llvm.org/D110757
The file was modifiedflang/lib/Evaluate/constant.cpp
The file was modifiedflang/lib/Evaluate/fold-character.cpp
The file was modifiedflang/lib/Evaluate/fold-reduction.cpp
The file was modifiedflang/include/flang/Parser/provenance.h
The file was modifiedflang/lib/Evaluate/fold-logical.cpp
The file was modifiedflang/include/flang/Evaluate/constant.h
The file was addedflang/test/Evaluate/folding30.f90
The file was modifiedflang/lib/Evaluate/shape.cpp
The file was modifiedflang/lib/Evaluate/fold-integer.cpp
The file was modifiedflang/lib/Evaluate/fold-reduction.h
Commit 80f4bb5c61930c51b2eac6c5575198516483eff1 by Amara Emerson
[GlobalISel] Extend G_SELECT of known condition combine to vectors.

Adds a new utility function: isConstantOrConstantSplatVector().

Differential Revision: https://reviews.llvm.org/D110786
The file was modifiedllvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/combine-select.mir
The file was modifiedllvm/include/llvm/CodeGen/GlobalISel/GenericMachineInstrs.h
The file was modifiedllvm/include/llvm/CodeGen/GlobalISel/Utils.h
The file was modifiedllvm/lib/CodeGen/GlobalISel/Utils.cpp
Commit 4195ed995993410b4a8ba2835fee71d4fe01c410 by albionapc
[PowerPC] Improved codegen related to xscvdpsxws/xscvdpuxws

This patch removes the uneccessary mf/mtvsr generated in conjunction
with xscvdpsxws/xscvdpuxws.

Differential revision: https://reviews.llvm.org/D109902
The file was modifiedllvm/test/CodeGen/PowerPC/test-vector-insert.ll
The file was modifiedllvm/test/CodeGen/PowerPC/vec_conv_fp64_to_i32_elts.ll
The file was modifiedllvm/lib/Target/PowerPC/PPCInstrVSX.td
Commit 050edef8538e82264928ddf1840e785f1544ca7f by rafaelauler
[MC] Make MCDwarfLineStr class public

Add MCDwarfLineStr class to the public API.

Note that MCDwarfLineTableHeader::Emit(), takes MCDwarfLineStr as
an Optional<> parameter making it impossible to use the API if the class
is not publicly defined.

Reviewed By: alexander-shaposhnikov

Differential Revision: https://reviews.llvm.org/D109412
The file was modifiedllvm/lib/MC/MCDwarf.cpp
The file was modifiedllvm/unittests/MC/CMakeLists.txt
The file was modifiedllvm/include/llvm/MC/MCDwarf.h
The file was addedllvm/unittests/MC/DwarfLineTableHeaders.cpp
Commit 0337e228c1b4d25e4dc617883ac4ba60efa5fd8b by llvmgnsyncbot
[gn build] Port 050edef8538e
The file was modifiedllvm/utils/gn/secondary/llvm/unittests/MC/BUILD.gn
Commit d81723c99bda9594be50831efc7e84ea36cbd4e0 by browneee
[DFSan] Optimize code for writing to shadow. Move SetShadow to namespace.

Writing zeros to shadow (including checking for existing zero) is now ~2x
faster on one example.

Reviewed By: morehouse

Differential Revision: https://reviews.llvm.org/D110733
The file was modifiedcompiler-rt/lib/dfsan/dfsan.cpp
Commit 1fbdbb559569641f6d509b569966901c8fb02b63 by flo
Revert "Recommit "[SCEV] Look through single value PHIs." (take 2)"

This reverts commit 764d9aa97905f202385b4f25f8d234630b4feef3.

This patch exposed a few additional cases where SCEV expressions are not
properly invalidated.

See PR52024, PR52023.
The file was modifiedllvm/test/Analysis/ScalarEvolution/cycled_phis.ll
The file was modifiedllvm/test/Analysis/ScalarEvolution/solve-quadratic-i1.ll
The file was modifiedllvm/test/Analysis/ScalarEvolution/solve-quadratic-overflow.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/pr45259.ll
The file was modifiedllvm/lib/Analysis/ScalarEvolution.cpp
The file was modifiedllvm/test/Analysis/DependenceAnalysis/lcssa.ll
The file was modifiedllvm/test/Analysis/ScalarEvolution/incorrect-exit-count.ll
The file was modifiedllvm/test/Transforms/LoopStrengthReduce/funclet.ll
Commit 2443320d68387c83c9d13ffb5e5de44c2159125c by Jinsong Ji
[AIX] Rename binder option for PGO support

Update the binder option.
The file was modifiedclang/lib/Driver/ToolChains/AIX.cpp
Commit b016bd12302799409eb94b0da0cb9c5bdc85a343 by nicolas.vasilache
[mlir][Linalg] Refactor comprehensive bufferize for external uses - NFC

This revision exposes some minimal funcitonality to allow comprehensive
bufferization to interop with external projects.

Differential Revision: https://reviews.llvm.org/D110875
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/ComprehensiveBufferize.cpp
The file was modifiedutils/bazel/llvm-project-overlay/mlir/BUILD.bazel
The file was addedmlir/include/mlir/Dialect/Linalg/Transforms/ComprehensiveBufferize.h
Commit 2df2b27d94f92680e810e6763ed032fd2dfcfe11 by aschwaighofer
[cora async] Cleanup undefined llvm.coro.async.resume

In situations where the coroutine function is not split we can just
replace the async.resume by null.

rdar://82591919

Differential Revision: https://reviews.llvm.org/D110191
The file was modifiedllvm/lib/Transforms/Coroutines/Coroutines.cpp
The file was modifiedllvm/test/Transforms/Coroutines/coro-async.ll
The file was modifiedllvm/lib/Transforms/Coroutines/CoroCleanup.cpp
Commit b75a7481baad7657b27e54b79fec4f5e6cd4cc7a by jonathanchesterfield
[libomptarget] Apply D110029 to amdgpu

Use enum for execution mode.

This is partly a port from ROCm and partly a port from D110029. Attempted to
make the same choices as ROCm as far as comments etc go to reduce the merge
conflicts.

There is some cleanup warranted here - in particular I like the cuda patch
factoring out the comparisons into named variables - but I'd like to leave
that for a follow up patch, keeping this one minimal.

Reviewed By: carlo.bertolli

Differential Revision: https://reviews.llvm.org/D110845
The file was modifiedopenmp/libomptarget/plugins/amdgpu/src/rtl.cpp
Commit 32473291072504f306f8d1f20db460b15e395f7c by jonathanchesterfield
[openmp] Add addrspacecast to getOrCreateIdent

Fixes 51982. Adds a missing CreatePointerCast and allocates a global in
the correct address space.

Test case derived from https://github.com/ROCm-Developer-Tools/aomp/\
blob/aomp-dev/test/smoke/nest_call_par2/nest_call_par2.c by deleting
parts while checking the assertion failure still occurred.

Reviewed By: jdoerfert

Differential Revision: https://reviews.llvm.org/D110556
The file was addedopenmp/libomptarget/test/offloading/bug51982.c
The file was modifiedllvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
Commit 72e7e15a120c149c2784f92056a47451670dc5fc by smeenai
[compiler-rt] Add -fno-omit-frame-pointer check to builtins

rG210d72e9d6b4a8e7633921d0bd7186fd3c7a2c8c moved the check from
builtin-config-ix to config-ix so that the check would be made even when
the builtins are not built. However, now the check is no longer made
when the builtins are built standalone which causes the builtins to fail
to build.

Add the check back to builtins-config-ix so that the check gets
performed both when the builtins are not built, and when they are built
standalone.

Reviewed By: smeenai

Differential Revision: https://reviews.llvm.org/D110879
The file was modifiedcompiler-rt/cmake/builtin-config-ix.cmake
Commit 0c4a75f193a7eab8aff06e84bb4cd90e2af3c014 by phosek
[CMake] Remove the LLD LTO check for Darwin

LLD now supports LTO on Darwin.

Differential Revision: https://reviews.llvm.org/D110881
The file was modifiedllvm/cmake/modules/HandleLLVMOptions.cmake
Commit cf1f5fbdfcf516c6ee2617a21b004b575c9c521b by jperier
[flang][NFC] Fix header comments in some runtime headers

Differential Revision: https://reviews.llvm.org/D110850
The file was modifiedflang/include/flang/Runtime/allocatable.h
The file was modifiedflang/include/flang/Runtime/entry-names.h
Commit 72e8a4c45da3b64d7e388e8ed4b739276fd4e8dd by jonathanchesterfield
[openmp][docs] Describe how the internal components are found

Add a FAQ entry about the names of openmp offloading components
and how they are searched for.

Reviewed By: jhuber6

Differential Revision: https://reviews.llvm.org/D109619
The file was modifiedopenmp/docs/SupportAndFAQ.rst
Commit 962e503cc8bc411f7523cc393acae8aae425b1c4 by jperier
[flang] Take into account SubprogramDetails in GetInterfaceSymbol

When the ProcRef is Symbol is a SubprogramDetails, the interface is
the SubprogramDetails. Do not return nullptr.

Differential Revision: https://reviews.llvm.org/D110853
The file was modifiedflang/lib/Evaluate/call.cpp
Commit a21c557955c6ea5cd02b9a145ad6469c608446c7 by craig.topper
[RISCV] Remove Zbproposedc extension

This consists of 3 compressed instructions, c.not, c.neg, and c.zext.w.
I believe these have been picked up by the Zce effort using different
encodings. I don't think it makes sense to keep them in bitmanip. It
will eventually cause a conflict if/when Zce is implemented in llvm.

Differential Revision: https://reviews.llvm.org/D110871
The file was modifiedllvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
The file was modifiedllvm/test/CodeGen/RISCV/attributes.ll
The file was modifiedclang/lib/Basic/Targets/RISCV.cpp
The file was modifiedclang/lib/Driver/ToolChains/Arch/RISCV.cpp
The file was modifiedclang/test/Preprocessor/riscv-target-features.c
The file was removedllvm/test/MC/RISCV/compress-rv32b.s
The file was removedllvm/test/MC/RISCV/rv64zbproposedc-invalid.s
The file was removedllvm/test/MC/RISCV/rv64zbproposedc-valid.s
The file was modifiedllvm/lib/Target/RISCV/RISCVInstrInfoB.td
The file was modifiedllvm/test/MC/RISCV/attribute-arch.s
The file was modifiedclang/lib/Basic/Targets/RISCV.h
The file was modifiedllvm/lib/Target/RISCV/RISCV.td
The file was modifiedllvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
The file was removedllvm/test/MC/RISCV/rv32zbproposedc-valid.s
The file was removedllvm/test/MC/RISCV/compress-rv64b.s
The file was modifiedllvm/lib/Target/RISCV/RISCVSubtarget.h
The file was removedllvm/test/MC/RISCV/rv32zbproposedc-invalid.s
The file was modifiedllvm/lib/Target/RISCV/MCTargetDesc/RISCVTargetStreamer.cpp
Commit fdcbb540fc5ffbf5faa03c2f10fa88ca2c38f845 by jperier
[flang][NFC] Add debug dump method to evaluate::Expr and semantics::Symbol

Helps debugging when working with symbol/expression issue. The dump
method is easy to call in the debugger.

Co-authored-by: Eric Schweitz <eschweitz@nvidia.com>

Differential Revision: https://reviews.llvm.org/D110856
The file was modifiedflang/include/flang/Evaluate/expression.h
The file was modifiedflang/include/flang/Semantics/symbol.h
The file was modifiedflang/lib/Evaluate/expression.cpp
The file was modifiedflang/lib/Semantics/symbol.cpp
Commit ca8316b7048d2554e8a4bdd5af1c27af5418dfd3 by Amara Emerson
[GlobalISel] Extend CombinerHelper::matchConstantOp() to match constant splat vectors.

This allows the "x op 0 -> x" fold to optimize vector constant RHSs.

Differential Revision: https://reviews.llvm.org/D110802
The file was modifiedllvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/combine-mul.mir
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/prelegalizercombiner-trivial-arith.mir
Commit c82f98ba4c7038dfd7bc912c1fed891e4ff34818 by rafaelauler
[MC] Fix buildbots with shared lib builds

In D109412 I forgot to add a dependency on libObject. Fix that.

Reviewed By: maksfb

Differential Revision: https://reviews.llvm.org/D110886
The file was modifiedllvm/unittests/MC/CMakeLists.txt
Commit 0d8bdc17862e1c80edf1223282af3be786da4882 by tejohnson
[MemProf] Record accesses for all words touched in mem intrinsic

Previously for mem* intrinsics we only incremented the access count for
the first word in the range. However, after thinking it through I think
it makes more sense to record an access for every word in the range.
This better matches the behavior of inlined memory intrinsics, and also
allows better analysis of utilization at a future date.

Differential Revision: https://reviews.llvm.org/D110799
The file was modifiedcompiler-rt/lib/memprof/memprof_rtl.cpp
The file was modifiedcompiler-rt/test/memprof/TestCases/unaligned_loads_and_stores.cpp
The file was modifiedcompiler-rt/test/memprof/TestCases/test_memintrin.cpp
Commit c5e491e6ee95ac0243b38b4aa85b627e7d9fc969 by listmail
[SCEV] Modernize code style of isSCEVExprNeverPoison [NFC]

Use for-range and all_of to make code easier to read in advance of other changes.
The file was modifiedllvm/lib/Analysis/ScalarEvolution.cpp
Commit 9f641c96cb15c9752c976bff286bb57adf86acab by leonardchan
[libcxx][test] Use python specified by build rather than system default python

As of e9564c3698edffc64439a8f957c7c28b19214613, libcxx/gdb/gdb_pretty_printer_test.sh.cpp
fails locally for me because the REQUIRES check for host-has-gdb-with-python
uses python, which for me expands to python 2.7.18. This failure does not seem
to be caught on any upstream builders, potentially because they don't have gdb,
python, or a version of python that makes the test UNSUPPORTED (like python3).

This updates the check to use the python specified by the build (which should
be the python that runs this code), rather than just python.

Differential Revision: https://reviews.llvm.org/D110887
The file was modifiedlibcxx/utils/libcxx/test/features.py
Commit bdb5aa65b1b557865a64860121c9376937e30984 by listmail
[test] Add tests covering a missing opt in SCEV's isSCEVExprNeverPoison
The file was modifiedllvm/test/Analysis/ScalarEvolution/flags-from-poison.ll
Commit 3562ad3ebeb29d0cf320bfcf51f64372e9b37c95 by yhs
BPF: implement isLegalAddressingMode() properly

Latest upstream llvm caused the kernel bpf selftest emitting the
following warnings:

  In file included from progs/profiler3.c:6:
  progs/profiler.inc.h:489:2: warning: loop not unrolled:
    the optimizer was unable to perform the requested transformation;
    the transformation might be disabled or specified as part of an unsupported
    transformation ordering [-Wpass-failed=transform-warning]
          for (int i = 0; i < MAX_PATH_DEPTH; i++) {
          ^

Further bisecting shows this SimplifyCFG patch ([1]) changed
the condition on how to fold branch to common dest. This caused
some unroll pragma is not honored in selftests/bpf.

The patch [1] test getUserCost() as the condition to
perform the certain basic block folding transformation.
For the above example, before the loop unroll pass, the control flow
looks like:
    cond_block:
       branch target: body_block, cleanup_block
    body_block:
       branch target: cleanup_block, end_block
    end_block:
       branch target: cleanup_block, end10_block
    end10_block:
       %add.ptr = getelementptr i8, i8* %payload.addr.0, i64 %call2
       %inc = add nuw nsw i32 %i.0, 1
       branch target: cond_block

In the above, %call2 is an unknown scalar.

Before patch [1], end10_block will be folded into end_block, forming
the code like
    cond_block:
       branch target: body_block, cleanup_block
    body_block:
       branch target: cleanup_block, end_block
    end_block:
       branch target: cleanup_block, cond_block
and the compiler is happy to perform unrolling.

With patch [1], getUserCost(), which calls getGEPCost(), which calls
isLegalAddressingMode() in TargetLoweringBase.cpp, considers IR
  %add.ptr = getelementptr i8, i8* %payload.addr.0, i64 %call2
is free, so the above basic block folding transformation is not performed
and unrolling does not happen.

For BPF target, the IR
  %add.ptr = getelementptr i8, i8* %payload.addr.0, i64 %call2
is not free and we don't have ld/st instruction address with 'r+r' mode.

This patch implemented a BPF hook for isLegalAddressingMode(), which is
identical to Mips isLegalAddressingMode() implementation where
the address pattern like 'r+r', 'r+r+i' or '2*r' are not allowed.
With testing kernel bpf selftests, all loop not unrolled warnings
are gone and all selftests run successfully.

  [1] https://reviews.llvm.org/D108837

Differential Revision: https://reviews.llvm.org/D110789
The file was modifiedllvm/lib/Target/BPF/BPFISelLowering.cpp
The file was modifiedllvm/lib/Target/BPF/BPFISelLowering.h
Commit 5c3568d01faac3202db5d7db4735f524f9cabf7e by Vitaly Buka
[NFC][sanitizer] Add const into method
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_stackdepot.cpp
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_stackdepot.h
Commit 91bfccf83733e6d12a6da9f2e1a2d20a88fb974c by zijunzhao
add tsan shared library
The file was modifiedcompiler-rt/cmake/config-ix.cmake
The file was modifiedcompiler-rt/lib/tsan/CMakeLists.txt
The file was modifiedcompiler-rt/test/tsan/CMakeLists.txt
Commit 3077bc90de8df633d59fe30c2a2aa265d68fb987 by ctetreau
[NFC] Restore magic and magicu to a globally visible location

While these functions are only used in one location in upstream,
it has been reused in multiple downstreams. Restore this file to
a globally visibile location (outside of APInt.h) to eliminate
donwstream breakage and enable potential future reuse.

Additionally, this patch renames types and cleans up
clang-tidy issues.
The file was modifiedllvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
The file was addedllvm/lib/Support/DivisionByConstantInfo.cpp
The file was modifiedllvm/lib/Support/CMakeLists.txt
The file was addedllvm/include/llvm/Support/DivisionByConstantInfo.h
Commit fcdefc8575866a36e80e91024b876937ae6a9965 by llvmgnsyncbot
[gn build] Port 3077bc90de8d
The file was modifiedllvm/utils/gn/secondary/llvm/lib/Support/BUILD.gn
Commit 548aa9022ee79a95a07b99a88df28cee6cb0e16d by Vitaly Buka
[NFC][sanitizer] Lazy init in StackDepotReverseMap
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_stackdepot.h
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_stackdepot.cpp
Commit 051d766baed276359df58302c9f7eb1c2d6c2c00 by Vitaly Buka
[NFC][lsan] Expand use StackDepotReverseMap

Before StackDepotReverseMap was used only by ProcessPC.
The file was modifiedcompiler-rt/lib/lsan/lsan_common.cpp
The file was modifiedcompiler-rt/lib/lsan/lsan_common.h
Commit d2df5ce294cbaf3fe69e59e219cd8741e6185ed9 by Vitaly Buka
[NFC][asan] Remove redundant functions
The file was modifiedcompiler-rt/lib/asan/asan_allocator.h
The file was modifiedcompiler-rt/lib/asan/asan_debugging.cpp
The file was modifiedcompiler-rt/lib/asan/asan_allocator.cpp
Commit 29bb877499ce328f8f4a5d61e9bae94e5f97f908 by albionapc
[PowerPC] Fix lharx and lbarx builtin signatures

The signatures for the PowerPC builtins lharx and
lbarx are incorrect, and causes issues when used in a function
that requires the return of the builtin to be promoted.
This patch fixes these signatures.

Differential revision: https://reviews.llvm.org/D110273
The file was modifiedclang/include/clang/Basic/BuiltinsPPC.def
The file was modifiedclang/test/CodeGen/builtins-ppc-xlcompat-LoadReseve-StoreCond.c
Commit 16661b1a3c4c93959d87079a659615b4635e17c2 by dblaikie
Expose `DIBuilder::finalizeSubprogram()` through the LLVM C API

The LLVM C API function is called `LLVMDIBuilderFinalizeSubprogram()`.

Reviewed By: CodaFi

Differential Revision: https://reviews.llvm.org/D104794
The file was modifiedllvm/include/llvm-c/DebugInfo.h
The file was modifiedllvm/lib/IR/DebugInfo.cpp
Commit d047368149dc3084774db618051346c045a2f645 by tejohnson
[MemProf] Loosen matching of profile data to avoid bot flakes

Allow for the allocations to have migrated cpus, assuming they wouldn't
is causing some bot flakiness, e.g.:
https://lab.llvm.org/buildbot/#/builders/37/builds/7197
The file was modifiedcompiler-rt/test/memprof/TestCases/test_new_load_store.cpp
The file was modifiedcompiler-rt/test/memprof/TestCases/test_malloc_load_store.c

Summary

  1. [lldb] Remove reproducer stage from the matrix bot (details)
  2. [lldb] Split LLDB and debug info tests into separate stages (details)
Commit 0eada6070937d83bfd605256ada46d55ec2a7868 by Jonas Devlieghere
[lldb] Remove reproducer stage from the matrix bot
The file was modifiedzorg/jenkins/jobs/jobs/lldb-cmake-matrix
Commit 0e47068994035233fda521824304bda2f325179f by Jonas Devlieghere
[lldb] Split LLDB and debug info tests into separate stages
The file was modifiedzorg/jenkins/monorepo_build.py
The file was modifiedzorg/jenkins/jobs/jobs/lldb-cmake