Changes

Summary

  1. Revert "Missing tautological compare warnings due to unary operators" (details)
  2. [lld] Fixed a number of typos (details)
  3. [lldb] Create an enum to specify the kind of ArchSpec matching (details)
  4. [X86][FP16] Fix vector_shuffle and lowering without f16c feature problems (details)
  5. [flang] Support lowering of intrinsic module procedure `c_loc` (details)
  6. [flang] Support extention intrinsic ABORT (details)
  7. [flang] Add some semantic checks for derived type with BIND attribute (details)
  8. [LV] Recognize store of invariant value to invariant address as uniform (details)
  9. [clang][OpenMP][DebugInfo] Mark OpenMP generated functions as artificial (details)
  10. [AMDGPU] Take advantage of VOP3 literals in convertToThreeAddress (details)
  11. llvm-reduce: reorder passes to run the ones first that delete function bodies; this makes reductions go faster (details)
  12. [AMDGPU] Remove IR SpeculativeExecution pass from codegen pipeline (details)
  13. [AMDGPU] avoid blind converting to VALU REG_SEQUENCE and PHIs (details)
  14. [RISCV] Add scheduler class to PseudoReadVLENB. (details)
  15. [RISCV] Add scheduler classes to PseudoVMV*R_V. (details)
  16. [libc++][format] Enables feature-test macro. (details)
  17. [libc++][format] Improves generated files. (details)
  18. [MIPS] Expose the ZERO register as a constant physical register (details)
  19. [LLDB][Reliability] Remove dead code. (details)
  20. [DebugInfo] Test commit: update irrelevant comments (details)
  21. [SPIRV] Add tests to improve test coverage (details)
  22. [test] Remove -fsanitize-coverage-whitelist= (details)
  23. [RISCV][Clang] Support policy functions for vneg, vnot, vncvt, vwcvt, (details)
  24. [RISCV][Clang] Support policy functions for vmerge, vfmerge and (details)
  25. [RISCV][Clang] Support policy functions for Vector Comparison (details)
  26. [RISCV][Clang] Support policy functions for Vector Reduction (details)
  27. [RISCV][Clang] Support policy functions for Vector Mask Instructions. (details)
  28. [AArch64] Treat x18 as callee-saved in functions with Windows calling convention on Darwin (details)
  29. [GIsel] Add missing space between type and name in GICombinerHelperArg (details)
  30. [GIsel] Add missing libcall for G_MUL to LegalizerHelper (details)
  31. [test] Update BoundsChecking/simple.ll (details)
  32. [StandardInstrumentations] Assign names to basic blocks without names (details)
  33. [libc++][doc] Update spaceship status page (details)
  34. [MLIR] Rename the generic LLVM allocation and deallocation functions (details)
  35. This patch fixes these errors while building BOLT. (details)
  36. [libc++][format] Exposes basic-format-string (details)
  37. [mlir][sparse] remove singleton dimension level type (for now) (details)
  38. [CodeGen][inlineasm] assume the flag output of inline asm is boolean value (details)
  39. [SemaCXX] Validate destructor is valid for dependent classes (details)
  40. [libcxx][test] Test code should inspect `TEST_STD_VER`, not `_LIBCPP_STD_VER`. (details)
  41. [NFC][DirectX backend] Fix crash when emit_obj for DirectX backend. (details)
  42. [mlir][sparse] enable SDDMM-flavored fusion (details)
  43. [LLDB][NFC] Fix LLDB_WATCH_TYPE_IS_VALID macro (details)
  44. [libc++] Update documentation on testing libc++ (details)
  45. [AMDGPU] Add GCNMaxILPSchedStrategy (details)
  46. Fix use-after-free in clang-apply-replacements (details)
  47. [nfc] Remove unused parameter in TailDuplicator::duplicateSimpleBB (details)
  48. [AMDGPU] Add llvm_unreachable to switch statement added in d7100b398. (details)
  49. Allow firmware binaries to be specified only by load address (details)
  50. Revert "Allow firmware binaries to be specified only by load address" (details)
  51. Adds the NSDateFormatter checker to clang-tidy (details)
  52. [mlir][GPU] Allow bare pointer memrefs when calling GPU kernels (details)
  53. [gn build] Port 95a92995d45f (details)
  54. workflows: Release Workflow - Avoid selecting random reviewers when no phab review (details)
  55. Allow firmware binaries to be specified only by load address (details)
  56. [LLD] [MachO] Fix GCC build warnings (details)
  57. Inline my uuid_is_null() implementation in a header file (details)
  58. [flang] Add semantics test for ERROR STOP statement (details)
  59. CommandLine: add and use cl::SubCommand::get{All,TopLevel} (details)
  60. [DX] Remove IntrNoMem from create handle intrinsic (details)
  61. [OpenMP][libomp] Detect if test compiler has omp.h (details)
  62. [Libomptarget] Deinitialize AMDGPU global state more intentionally (details)
  63. [RISCV] Fix operand number in debug message in RISCVMergeBaseOffset. (details)
  64. Fix use-after-free in SymbolTable::replaceAllSymbolUses (details)
  65. [LLDB] Add SBInstruction::GetControlFlowKind() (details)
  66. [LLDB][NFC] Fix incorrect return status Some functions always return 'false' for both success and fail return paths. (details)
  67. Revert "[lldb][modules] Disable Clang Modules in source/Host directory on macOS" (details)
  68. [NFC] Remove no-op code from x86AssemblyInspectionEngine::jmp_to_reg_p (details)
  69. [SPIRV] Fix style of LIT tests and remove metadata (details)
  70. [AMDGPU] Add CL option for max-ilp scheduler. (details)
  71. [trace] Add SBTraceCursor bindings (details)
  72. [gn build] Port f9b4ea0ce9ef (details)
  73. [flang] Add stopped_images to list of intrinsics and add test (details)
  74. [llvm][NFC] Refactor code to use ProfDataUtils (details)
  75. [libc++] Fix warning C4244 in std/numerics/rand/rand.dist/rand.dist.samp/rand.dist.samp.discrete/eval.pass.cpp (details)
  76. [libc++][NFC] Don't rely on `<algorithm>` transitively including `<memory>` in tests (details)
  77. [libc++][test] Propagate host environment to libc++ test suite (details)
  78. fix f9b4ea0ce9efb4132a75551c40b2efc049e5b9f7 (details)
  79. [IRBuilder] Handle constexpr-bitcast for IRBuilder::CreateThreadLocalAddress (details)
  80. workflows: Remove symbol versions from libclang.so in the libclang ABI test (details)
  81. [NFC][trace] format source files (details)
  82. [RISCV] Use InstVisitor in RISCVCodeGenPrepare. NFC (details)
  83. workflows: Fix typo from 2d3d0f50ceb938c155a7283e684f28190d24d6ba (details)
  84. avoid a bug where we remove a BB and then the next one becomes the (details)
  85. oops-- I pushed previous commit from a fresh checkout and forgot to (details)
  86. [mlir] Add has_value and value to OptionalParseResult (details)
  87. [libc++][ranges] Implement `ranges::remove_copy{, _if}`. (details)
  88. [libc++][ranges] Fix the return value of `{copy,move}_backward`. (details)
  89. [libc++][ranges] Implement `ranges::replace_copy{,_if}`. (details)
  90. [libc++][ranges] Implement `ranges::sample`. (details)
  91. [gn build] Port 6bdb64223473 (details)
  92. [libc++][test] Replace `_LIBCPP_STD_VER` with `TEST_STD_VER` (details)
  93. [libc++][ranges] Implement `ranges::{prev, next}_permutation`. (details)
  94. [gn build] Port 68264b649461 (details)
  95. [clang][dataflow] Make the type of the post visit callback consistent (details)
  96. [mlir][Math] Add constant folder for AtanOp. (details)
  97. Add foldings for multi-line comment. (details)
  98. [clang][dataflow] Rename member to make it clear that it isn't stable (details)
  99. [SCEV] Use context to strengthen flags of BinOps (details)
  100. [AA] Make ModRefInfo a bitmask enum (NFC) (details)
  101. [X86] Using `X86MemOperand` instead of `Operand` for `i32mem_TC` and `i64mem_TC` (details)
  102. [mlir] Disable `misc-const-correctness` clang-tidy check. (details)
  103. [Docs] Improve cycle and closed path definitions (details)
  104. [NFC] Remove some boilerplate from SmallVector unit tests (details)
  105. [clang] Short-circuit trivial constructors when evaluating arrays (details)
  106. ManagedStatic: remove from TimeProfiler (details)
  107. ManagedStatic: remove from PluginLoader (details)
  108. [CMake] Make split-file an utility instead of tool (details)
  109. [clang][NFC] Try to fix the docs build (details)
  110. Fix a stack overflow in ScalarEvolution. (details)
  111. [X86][MC] Always emit `rep` prefix for `bsf` (details)
  112. [VP] Rename VP int<->float conversion ISD opcodes (details)
  113. Fix compiler error: init-statements in if/switch. (details)
  114. [mlir] Fix Analysis/Presburger/Utils.cpp compilation with GCC 11 (details)
Commit c783ca0de1e1e00f364cf4745b8444a020ddd29b by aaron
Revert "Missing tautological compare warnings due to unary operators"

This reverts commit 0cc3c184c784d5f0d55de8ad0a9eeee876acd149.

The changes did not account for templated code where one instantiation
may trigger the diagnostic but other instantiations will not, as in:
```
template <int I, class T>
void foo(int x) {
    bool b1 = (x & sizeof(T)) == 8;
    bool b2 = (x & I) == 8;
    bool b3 = (x & 4) == 8;
}

void run(int x) {
    foo<4, int>(8);
}
```
The file was modifiedclang/docs/ReleaseNotes.rst
The file was modifiedclang/lib/Analysis/CFG.cpp
The file was modifiedclang/test/Sema/warn-bitwise-compare.c
The file was modifiedclang/test/SemaCXX/warn-unreachable.cpp
Commit 5dbd8faad52d0807e9913d412e2cb21d68ac30d1 by thakis
[lld] Fixed a number of typos

I went over the output of the following mess of a command:

`(ulimit -m 2000000; ulimit -v 2000000; git ls-files -z | parallel --xargs -0 cat | aspell list --mode=none --ignore-case | grep -E '^[A-Za-z][a-z]*$' | sort | uniq -c | sort -n | grep -vE '.{25}' | aspell pipe -W3 | grep : | cut -d' ' -f2 | less)`

and proceeded to spend a few days looking at it to find probable typos
and fixed a few hundred of them in all of the llvm project (note, the
ones I found are not anywhere near all of them, but it seems like a
good start).

Differential Revision: https://reviews.llvm.org/D130982
The file was modifiedlld/test/MachO/tools/generate-thunkable-program.py
The file was modifiedlld/test/ELF/common-archive-lookup.s
The file was modifiedlld/test/MachO/tools/generate-cfi-funcs.py
The file was modifiedlld/ELF/InputFiles.cpp
The file was modifiedlld/test/ELF/init-fini.s
The file was modifiedlld/test/wasm/debuginfo-undefined-global.s
The file was modifiedlld/MachO/Options.td
The file was modifiedlld/test/ELF/lto/duplicated-name.ll
The file was modifiedlld/ELF/Driver.cpp
The file was modifiedlld/ELF/InputSection.cpp
Commit 6093a77caf44aad1bc62056295988d08e13cd421 by pavel
[lldb] Create an enum to specify the kind of ArchSpec matching

s/true/ArchSpec::ExactMatch
s/false/ArchSpec::CompatibleMatch

Differential Revision: https://reviews.llvm.org/D121290
The file was modifiedlldb/source/Target/Platform.cpp
The file was modifiedlldb/source/Target/Process.cpp
The file was modifiedlldb/source/Target/TargetList.cpp
The file was modifiedlldb/source/Target/Target.cpp
The file was modifiedlldb/include/lldb/Target/Platform.h
The file was modifiedlldb/source/Interpreter/OptionGroupPlatform.cpp
The file was modifiedlldb/source/Utility/ArchSpec.cpp
The file was modifiedlldb/include/lldb/Utility/ArchSpec.h
Commit 23021d4d8c6b2c7cbb3ebe1be61cface0c52f80a by phoebe.wang
[X86][FP16] Fix vector_shuffle and lowering without f16c feature problems

The problem Alexander reported on D127982 was caused by an optimization
for AVX512-FP16 instruction. We must limit it to the feature enabled only.

During the investigation, I found we didn't expand for fp_round/fp_extend
without F16C. This may result runtime crash, so change them too.

Reviewed By: RKSimon

Differential Revision: https://reviews.llvm.org/D130817
The file was modifiedllvm/test/CodeGen/X86/half.ll
The file was modifiedllvm/test/CodeGen/X86/vector-half-conversions.ll
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
Commit 9b867928f4d9cada6f0e63e5bf79c152d8806df6 by qiaopeixin
[flang] Support lowering of intrinsic module procedure `c_loc`

As Fortran 2018 18.2.3.6, the intrinsic `c_loc(x)` gets the C address
of argument `x`. It returns the scalar of type C_PTR. As defined in
iso_c_binding in `flang/module/__fortran_builtins.f90`, C_PTR is the
derived type with only one component of integer 64.

This supports the lowering of intrinsic module procedure `c_loc` by
converting the address of argument into integer 64, where the argument
is lowered as Box and the address is generated using fir.box_addr.

The lowering of intrinsic `c_funloc` has the similar characteristic and
will be supported later.

The execution tests for various data types are in issue
https://github.com/llvm/llvm-project/issues/56552.

Reviewed By: Jean Perier

Differential Revision: https://reviews.llvm.org/D129659
The file was addedflang/test/Lower/Intrinsics/c_loc.f90
The file was modifiedflang/lib/Lower/IntrinsicCall.cpp
Commit 1f9212d8d53aae8b3d727d9967d68ab177a4ce0c by qiaopeixin
[flang] Support extention intrinsic ABORT

The semantic checks and runtime have been supported. This supports the
lowering of intrinsic ABORT.

`gfortran` prints a backtrace before abort, unless `-fno-backtrace` is
given. This is good to use. The intrinsic BACKTRACE is not supported
yet, so add TODO in the runtime.

This extention is needed in SPEC2017 521.wrf_r in
https://github.com/llvm/llvm-project/issues/55955.

Reviewed By: klausler

Differential Revision: https://reviews.llvm.org/D130439
The file was modifiedflang/include/flang/Optimizer/Builder/Runtime/Stop.h
The file was addedflang/test/Lower/Intrinsics/abort.f90
The file was modifiedflang/runtime/stop.cpp
The file was modifiedflang/lib/Lower/IntrinsicCall.cpp
The file was modifiedflang/lib/Optimizer/Builder/Runtime/Stop.cpp
Commit 48b6f5c708ccf99ee18b68ca547c034606ed3493 by qiaopeixin
[flang] Add some semantic checks for derived type with BIND attribute

This supports checks in C1801-C1805 for derived type with BIND attribute.
The other compilers such as 'gfortran' and 'ifort' do not report error
for C1802 and C1805, so emit warnings for them.

Reviewed By: klausler

Differential Revision: https://reviews.llvm.org/D130438
The file was modifiedflang/lib/Semantics/check-declarations.cpp
The file was addedflang/test/Semantics/bind-c06.f90
The file was modifiedflang/test/Semantics/modfile11.f90
Commit 0b47615fcf0cc93efe1a1cd6983e7208d2a0d915 by listmail
[LV] Recognize store of invariant value to invariant address as uniform

This extends the handling of uniform memory operations to handle the case where a store is storing a loop invariant value. Unlike the general case of a store to an invariant address where we must use the last active lane, in this case we can use any lane since all lanes must produce the same result.

For context, the basic structure of the existing code and how the change fits in:
* First, we select a widening strategy. (The result is irrelevant for this patch.)
* Then we determine if a computation is uniform within all lanes of VF. (Note this is the uniform-per-part definition, not LAI's uniform across all unrolled iterations definition.)
* If it is, we overrule the widening strategy, and unconditionally scalarize.
* VPReplicationRecipe - which is what actually does the scalarization - knows how to handle unform-per-part values including for scalable vectors. However, we do need to know that the expression is safe to execute without predication - e.g. the uniform mem op was unconditional in the original loop. (This part was split off and already landed.)

An obvious question is why not simply implement the generic case? The answer is that I'm going to, but doing so without a canonicalization towards uniform causes regressions due to bad interaction with scalarization/uniformity of values feeding the uniform mem-op. This patch is needed to avoid those regressions.

Differential Revision: https://reviews.llvm.org/D130364
The file was modifiedllvm/test/Transforms/LoopVectorize/X86/uniform_mem_op.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/pr47343-expander-lcssa-after-cfg-update.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/RISCV/scalable-tailfold.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/RISCV/uniform-load-store.ll
The file was modifiedllvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Commit 5ec6ea3dfded028de775eb165ce0bae6f1e6c2bf by AlokKumar.Sharma
[clang][OpenMP][DebugInfo] Mark OpenMP generated functions as artificial

The Clang compiler generates internal functions for OpenMP. Current
patch marks these functions as artificial.

Reviewed By: aprantl

Differential Revision: https://reviews.llvm.org/D111521
The file was modifiedclang/lib/CodeGen/CGDebugInfo.cpp
The file was addedclang/test/OpenMP/outlined_artificial.c
Commit c24d68fff1fe8d3115c411d6e81092eb1f855b52 by jay.foad
[AMDGPU] Take advantage of VOP3 literals in convertToThreeAddress

This improves a corner case where v_fmac can be converted to v_fma on
GFX10+ even if it has a literal operand.

Differential Revision: https://reviews.llvm.org/D130992
The file was modifiedllvm/test/CodeGen/AMDGPU/llvm.amdgcn.fma.legacy.ll
The file was modifiedllvm/lib/Target/AMDGPU/SIInstrInfo.cpp
Commit 71d1bd145724ea81c35c8811e74fff8402ea8e3a by regehr
llvm-reduce: reorder passes to run the ones first that delete function bodies; this makes reductions go faster
The file was modifiedllvm/tools/llvm-reduce/DeltaManager.cpp
Commit e301e071ba1aad61e324c5db4129f1deb8f9c273 by jay.foad
[AMDGPU] Remove IR SpeculativeExecution pass from codegen pipeline

This pass seems to have very little effect because all it does is hoist
some instructions, but it is followed later in the codegen pipeline by
the IR CodeSinking pass which does the opposite.

Differential Revision: https://reviews.llvm.org/D130258
The file was modifiedllvm/test/CodeGen/AMDGPU/divergent-branch-uniform-condition.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/select-opt.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/mul_int24.ll
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/llc-pipeline.ll
Commit a321d95b597000a7b10418a9e7098344900b1111 by Alexander Timofeev
[AMDGPU] avoid blind converting to VALU REG_SEQUENCE and PHIs

In the 2e29b0138ca243 we introduce a specific solving algorithm
that analyzes the VGPR to SGPR copies use chains and either lowers
the copy to v_readfirstlane_b32 or converts the whole chain to VALU forms.
Same time we still have the code that blindly converts to VALU REG_SEQUENCE and PHIs
in case they produce SGPR but have VGPRs input operands. In case the REG_SEQUENCE and PHIs
are in the VGPR to SGPR copy use chain, and this chain was considered long enough to convert
copy to v_readfistlane_b32, further lowering them to VALU leads to several kinds of issues.
At first, we have v_readfistlane_b32 which is completely useless because most parts of its use chain
were moved to VALU forms. Second, we may encounter subtle bugs related to the EXEC-dependent CF
because of the weird mixing of SALU and VALU instructions.
This change removes the code that moves REG_SEQUENCE and PHIs to VALU. Instead, we use the fact
that both REG_SEQUENCE and PHIs have copy semantics. That is, if they define SGPR but have VGPR inputs,
we insert VGPR to SGPR copies to make them pure SGPR. Then, the new copies are processed by the common
VGPR to SGPR lowering algorithm.
This is Part 2 in the series of commits aiming at the massive refactoring of the SIFixSGPRCopies pass.

Reviewed By: rampitec

Differential Revision: https://reviews.llvm.org/D130367
The file was modifiedllvm/test/CodeGen/AMDGPU/opt-sgpr-to-vgpr-copy.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/spill-vector-superclass.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/amdgpu-codegenprepare-idiv.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/cf-loop-on-constant.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/vgpr-liverange-ir.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/sdiv64.ll
The file was modifiedllvm/lib/Target/AMDGPU/SIFixSGPRCopies.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/ds_read2.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/mubuf-legalize-operands.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/wwm-reserved-spill.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/udiv64.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/udiv.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/splitkit-getsubrangeformask.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/urem64.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/srem64.ll
Commit 2e5c516a3d6953edbc66072a82f88371ff668e9d by craig.topper
[RISCV] Add scheduler class to PseudoReadVLENB.

Reviewed By: monkchiang

Differential Revision: https://reviews.llvm.org/D130938
The file was modifiedllvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
The file was modifiedllvm/lib/Target/RISCV/RISCVScheduleV.td
Commit ae6877836e8d631892ce455ca604f35ff880d4ae by craig.topper
[RISCV] Add scheduler classes to PseudoVMV*R_V.

I think these pseudos will exist when the post-RA scheduler runs
so they should have sched classes.

Reviewed By: monkchiang

Differential Revision: https://reviews.llvm.org/D130945
The file was modifiedllvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
Commit 679169b7dd74c6f9161353f07e716ec25e80d1b8 by koraq
[libc++][format] Enables feature-test macro.

The macro is only enabled when the Clang is used with
-fexperimental-library.

Reviewed By: ldionne, #libc

Differential Revision: https://reviews.llvm.org/D130792
The file was modifiedlibcxx/include/version
The file was modifiedlibcxx/test/std/language.support/support.limits/support.limits.general/format.version.compile.pass.cpp
The file was modifiedlibcxx/docs/FeatureTestMacroTable.rst
The file was modifiedlibcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
The file was modifiedlibcxx/utils/generate_feature_test_macro_components.py
Commit da38bcfd52d75e95f44e363288e3ed4a0cbf0e04 by koraq
[libc++][format] Improves generated files.

This improves the formatting of the generated files. That allows it to
remove the clang-format step in D129668.

Reviewed By: ldionne, #libc

Differential Revision: https://reviews.llvm.org/D130911
The file was modifiedlibcxx/utils/generate_extended_grapheme_cluster_test.py
The file was modifiedlibcxx/include/__format/extended_grapheme_cluster_table.h
The file was modifiedlibcxx/utils/generate_extended_grapheme_cluster_table.py
The file was modifiedlibcxx/test/libcxx/utilities/format/format.string/format.string.std/extended_grapheme_cluster.h
Commit 85a6dd50adb22207a67619ff4fedcc4f48d021cb by carrot
[MIPS] Expose the ZERO register as a constant physical register

The ZERO register should be exposed as a constant physical register through the interface TargetRegisterInfo::isConstantPhysReg.

Differential Revision: https://reviews.llvm.org/D130932
The file was modifiedllvm/lib/Target/Mips/MipsRegisterInfo.h
The file was modifiedllvm/lib/Target/Mips/MipsRegisterInfo.cpp
Commit d735307aa2be0ebcc37ddd8d4268635dcd1e9d4e by sgurevich
[LLDB][Reliability] Remove dead code.

Remove redundant code that can never execute due to preceeding logic checks in the code.

Differential Revision: https://reviews.llvm.org/D130929
The file was modifiedlldb/source/API/SBFrame.cpp
The file was modifiedlldb/source/Plugins/ABI/AArch64/ABIMacOSX_arm64.cpp
The file was modifiedlldb/source/Plugins/ABI/AArch64/ABISysV_arm64.cpp
The file was modifiedlldb/source/Target/Platform.cpp
The file was modifiedlldb/source/Plugins/Language/ObjC/CoreMedia.cpp
Commit f6d9f000312bcabeafd305c2925547e0012eaa52 by vdzhidzhoev
[DebugInfo] Test commit: update irrelevant comments

Differential Revision: https://reviews.llvm.org/D130998
The file was modifiedllvm/include/llvm/Transforms/Utils/Local.h
The file was modifiedllvm/lib/Transforms/Utils/Local.cpp
Commit 8468e67495eda83e2490224be46967ddc29821d2 by andrey.tretyakov
[SPIRV] Add tests to improve test coverage

Differential Revision: https://reviews.llvm.org/D130597
The file was addedllvm/test/CodeGen/SPIRV/transcoding/ConvertPtr.ll
The file was addedllvm/test/CodeGen/SPIRV/transcoding/isequal.ll
The file was addedllvm/test/CodeGen/SPIRV/instructions/vector-bitwise-operations.ll
The file was addedllvm/test/CodeGen/SPIRV/llvm-intrinsics/invariant.ll
The file was addedllvm/test/CodeGen/SPIRV/multi_md.ll
The file was addedllvm/test/CodeGen/SPIRV/instructions/scalar-bitwise-operations.ll
The file was addedllvm/test/CodeGen/SPIRV/transcoding/DivRem.ll
The file was addedllvm/test/CodeGen/SPIRV/opencl/basic/get_global_offset.ll
The file was addedllvm/test/CodeGen/SPIRV/pstruct.ll
The file was addedllvm/test/CodeGen/SPIRV/llvm-intrinsics/umul.with.overflow.ll
The file was addedllvm/test/CodeGen/SPIRV/memory_model_md.ll
The file was addedllvm/test/CodeGen/SPIRV/opencl/basic/progvar_prog_scope_init.ll
The file was addedllvm/test/CodeGen/SPIRV/transcoding/OpSwitch32.ll
The file was addedllvm/test/CodeGen/SPIRV/transcoding/fneg.ll
The file was addedllvm/test/CodeGen/SPIRV/spirv_param_decorations.ll
The file was addedllvm/test/CodeGen/SPIRV/transcoding/memory_access.ll
The file was addedllvm/test/CodeGen/SPIRV/store.ll
The file was addedllvm/test/CodeGen/SPIRV/linked-list.ll
The file was addedllvm/test/CodeGen/SPIRV/transcoding/GlobalFunAnnotate.ll
The file was addedllvm/test/CodeGen/SPIRV/spirv_param_decorations_quals.ll
The file was addedllvm/test/CodeGen/SPIRV/transcoding/TransFNeg.ll
The file was addedllvm/test/CodeGen/SPIRV/uitofp-with-bool.ll
The file was addedllvm/test/CodeGen/SPIRV/llvm-intrinsics/fshr.ll
The file was addedllvm/test/CodeGen/SPIRV/transcoding/DecorationAlignment.ll
The file was addedllvm/test/CodeGen/SPIRV/LinkOnceODR.ll
The file was addedllvm/test/CodeGen/SPIRV/sitofp-with-bool.ll
The file was addedllvm/test/CodeGen/SPIRV/llvm-intrinsics/expect.ll
The file was addedllvm/test/CodeGen/SPIRV/transcoding/OpSwitchChar.ll
The file was addedllvm/test/CodeGen/SPIRV/transcoding/OpConstantBool.ll
The file was addedllvm/test/CodeGen/SPIRV/instructions/vector-shuffle.ll
The file was addedllvm/test/CodeGen/SPIRV/transcoding/OpPhi_ArgumentsPlaceholders.ll
The file was addedllvm/test/CodeGen/SPIRV/OpVectorInsertDynamic.ll
The file was addedllvm/test/CodeGen/SPIRV/transcoding/ExecutionMode_SPIR_to_SPIRV.ll
The file was addedllvm/test/CodeGen/SPIRV/transcoding/OpSwitch64.ll
The file was addedllvm/test/CodeGen/SPIRV/transcoding/RelationalOperatorsFUnord.ll
The file was addedllvm/test/CodeGen/SPIRV/transcoding/bitcast.ll
The file was addedllvm/test/CodeGen/SPIRV/preprocess-metadata.ll
The file was addedllvm/test/CodeGen/SPIRV/transcoding/vec_type_hint.ll
The file was addedllvm/test/CodeGen/SPIRV/atomicrmw.ll
The file was addedllvm/test/CodeGen/SPIRV/struct.ll
The file was addedllvm/test/CodeGen/SPIRV/exec_mode_float_control_khr.ll
The file was addedllvm/test/CodeGen/SPIRV/transcoding/non32.ll
The file was addedllvm/test/CodeGen/SPIRV/transcoding/fp_contract_reassoc_fast_mode.ll
The file was addedllvm/test/CodeGen/SPIRV/instructions/call-trivial-function.ll
The file was addedllvm/test/CodeGen/SPIRV/llvm-intrinsics/assume.ll
The file was addedllvm/test/CodeGen/SPIRV/opencl/basic/progvar_prog_scope_uninit.ll
Commit d884eb2bcef67106c6317b26a5678488d6981e31 by i
[test] Remove -fsanitize-coverage-whitelist=
The file was modifiedcompiler-rt/test/sanitizer_common/TestCases/sanitizer_coverage_allowlist_ignorelist.cpp
Commit b1b22b4a85ac3593a41d9127b91985866d69cfd7 by zakkc
[RISCV][Clang] Support policy functions for vneg, vnot, vncvt, vwcvt,
vwcvtu, vfabs and vfneg.

We will switch all UndefValue to PoisonValue in follow up patches.

Reviewed By: kito-cheng

Differential Revision: https://reviews.llvm.org/D126744
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vneg.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfabs.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vnot.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vwcvt.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vncvt.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfneg.c
The file was modifiedclang/include/clang/Basic/riscv_vector.td
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfneg.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfabs.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vncvt.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vnot.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vneg.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vwcvt.c
Commit 7eddeb9e99f36d907295a2ed75244d39e1e41e33 by zakkc
[RISCV][Clang] Support policy functions for vmerge, vfmerge and
vcompress.

We will switch all UndefValue to PoisonValue in follow up patches.

Reviewed By: kito-cheng

Differential Revision: https://reviews.llvm.org/D126745
The file was modifiedclang/lib/Support/RISCVVIntrinsicUtils.cpp
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vcompress.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vcompress.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfmerge.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vmerge.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vmerge.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfmerge.c
The file was modifiedclang/include/clang/Support/RISCVVIntrinsicUtils.h
The file was modifiedclang/include/clang/Basic/riscv_vector.td
Commit 9caf2cc05c02300c06e2405ff3606d5aa8cf773d by zakkc
[RISCV][Clang] Support policy functions for Vector Comparison
Instructions.

We will switch all UndefValue to PoisonValue in follow up patches.

Reviewed By: kito-cheng

Differential Revision: https://reviews.llvm.org/D126746
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vmslt.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vmfge.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vmsle.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vmfle.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vmsgt.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vmseq.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vmslt.c
The file was modifiedclang/include/clang/Basic/riscv_vector.td
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vmsne.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vmfge.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vmfle.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vmseq.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vmsle.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vmflt.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vmfne.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vmsge.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vmfgt.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vmfne.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vmfeq.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vmflt.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vmsge.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vmsgt.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vmsne.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vmfeq.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vmfgt.c
Commit dffdca85ec2d17ce751adca1a851bc4458973e57 by zakkc
[RISCV][Clang] Support policy functions for Vector Reduction
Instructions.

We will switch all UndefValue to PoisonValue in follow up patches.

Thanks for Kito to help on verification with their interanl testsuite.

Reviewed By: kito-cheng

Differential Revision: https://reviews.llvm.org/D126748
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vredor.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfwredsum.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vredxor.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vwredsum.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vredor.c
The file was modifiedclang/lib/Support/RISCVVIntrinsicUtils.cpp
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfwredsum.c
The file was modifiedclang/utils/TableGen/RISCVVEmitter.cpp
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vredand.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfredsum.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vredsum.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vredmax.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vredmin.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vredmax.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vredsum.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfredmax.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfredsum.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vredand.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfredmin.c
The file was modifiedclang/include/clang/Basic/riscv_vector.td
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfredmax.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfredmin.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vredxor.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vwredsum.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vredmin.c
Commit bb99d4b11d84ae178d9ea3ea2c9da4d4c2e1eafc by zakkc
[RISCV][Clang] Support policy functions for Vector Mask Instructions.

We will switch all UndefValue to PoisonValue in follow up patches.

Reviewed By: kito-cheng

Differential Revision: https://reviews.llvm.org/D126749
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vid.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vmsof.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vmsbf.c
The file was modifiedclang/include/clang/Basic/riscv_vector.td
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/viota.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vmsif.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vmsof.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vmsbf.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/viota.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vmsif.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vid.c
Commit 71aecbb75c7d8b603b1882afa7301e54f3091587 by vdzhidzhoev
[AArch64] Treat x18 as callee-saved in functions with Windows calling convention on Darwin

rGcf97e0ec42b8 makes $x18 to be treated as callee-saved in functions with
Windows calling convention on non-Windows OSes.

Here we mark $x18 as callee-saved for functions with Windows calling
convention on Darwin, as well as on other non-Windows platforms, in
order to prevent some miscompilations (like miscompilation of
win64cc-darwin-backup-x18.ll).

Since getCalleeSavedRegs doesn't return x18 in list of callee-saved
registers, assignCalleeSavedSpillSlots and determineCalleeSaves
consider different sets of registers as callee-saved. It causes an
error:
```
Assertion failed: ((!HasCalleeSavedStackSize || getCalleeSavedStackSize() == Size) && "Invalid size calculated for callee saves"), function getCalleeSavedStackSize, file
AArch64MachineFunctionInfo.h, line 292.
```

Differential Revision: https://reviews.llvm.org/D130676
The file was modifiedllvm/lib/Target/AArch64/AArch64FrameLowering.cpp
The file was modifiedllvm/lib/Target/AArch64/AArch64RegisterInfo.cpp
The file was modifiedllvm/lib/Target/AArch64/AArch64CallingConvention.td
The file was addedllvm/test/CodeGen/AArch64/win64cc-darwin-backup-x18.ll
Commit d3c4609855e161a8f7a845b42e685ce8273af09c by kai.nacke
[GIsel] Add missing space between type and name in GICombinerHelperArg

When using AdditionalArguments in a GICombinerHelper, the generator
does not put a space between the type and the name.

E.g.

let AdditionalArguments = [GICombinerHelperArg<"bool", "IsSomething">];

ends up as

boolIsSomething) const;

in the generated file. This change adds a space between the type and the name.

Reviewed By: aemerson

Differential Revision: https://reviews.llvm.org/D130823
The file was modifiedllvm/utils/TableGen/GICombinerEmitter.cpp
Commit b38375378dea604b8957f35d6c8a128c63c971d9 by kai.nacke
[GIsel] Add missing libcall for G_MUL to LegalizerHelper

The LegalizerHelper misses the code to lower G_MUL to a library call,
which this change adds.

Reviewed By: arsenm

Differential Revision: https://reviews.llvm.org/D130987
The file was modifiedllvm/unittests/CodeGen/GlobalISel/LegalizerHelperTest.cpp
The file was modifiedllvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
Commit eb5aeee02f70369c1e9b15cfafb3d100494dbb28 by aeubanks
[test] Update BoundsChecking/simple.ll

Use opaque pointers and update_test_checks.py

Precommit a test
The file was modifiedllvm/test/Instrumentation/BoundsChecking/simple.ll
Commit 43aa4ac70b82c8e378f84b65b49b4613649da8e0 by aeubanks
[StandardInstrumentations] Assign names to basic blocks without names

Fixes code in OrderedChangedData<T>::report which assumes that a string will only appear once in Before/After.

Reviewed By: jamieschmeiser

Differential Revision: https://reviews.llvm.org/D130587
The file was modifiedllvm/lib/Passes/StandardInstrumentations.cpp
The file was addedllvm/test/Other/ChangePrinters/print-changed-diff-empty-bb-name.ll
Commit ceebf91744a3c6c8ec00592d991229737cf9dd03 by koraq
[libc++][doc] Update spaceship status page

    * `operator<=>` for `iota_view::iterator` was enabled in 8320017b79eb8
    * Removed P2405R0 which was not accepted and seems inactive
      (https://github.com/cplusplus/papers/issues/1075)
    * Added the previously missing `operator==` for `filesystem::space_info`
      to the tracking list.
    * Updated the "Assignee" for `string_view`, `string` as Mark de Wever
      mentioned he is working on them in Discord
    * Updated the status of the items for which I sent review requests
      yesterday.

Reviewed By: #libc, Mordante

Differential Revision: https://reviews.llvm.org/D130855
The file was modifiedlibcxx/docs/Status/SpaceshipPapers.csv
The file was modifiedlibcxx/docs/Status/SpaceshipProjects.csv
Commit 29fbe600091d89134cd998d02b0e9d7a4a6115b3 by zinenko
[MLIR] Rename the generic LLVM allocation and deallocation functions

The generic allocation and deallocation instructions, which are optionally used during the MemRef -> LLVM conversion, should have a name that is specifically bound to their origin, that is the conversion pass itself.

Reviewed By: silvas

Differential Revision: https://reviews.llvm.org/D130588
The file was modifiedmlir/test/Conversion/MemRefToLLVM/generic-functions.mlir
The file was modifiedmlir/lib/Dialect/LLVMIR/IR/FunctionCallUtils.cpp
The file was modifiedmlir/docs/TargetLLVMIR.md
Commit 3e43d0cde7193599631799f54fa915efc141e4b0 by tmsriram
This patch fixes these errors while building BOLT.

Compiling llvm/llvm-project/bolt/include/bolt/Passes/RegReAssign.h failed:
...: error: invalid application of 'sizeof' to an incomplete type 'llvm::bolt::BinaryFunctionCallGraph'

static_assert(sizeof(_Tp) >= 0, "cannot delete an incomplete type");
error: type 'llvm::bolt::BinaryBasicBlock *' cannot be used prior to '::' because it has no members

using NodeRef = typename GraphType::UnknownGraphTypeError;
BinaryDomTree.h:31:14: error: no template named 'DomTreeGraphTraitsBase'

: public DomTreeGraphTraitsBase<bolt::BinaryDomTreeNode,

Differential Revision: https://reviews.llvm.org/D130402
The file was modifiedbolt/include/bolt/Passes/RegReAssign.h
The file was modifiedutils/bazel/llvm-project-overlay/bolt/BUILD.bazel
The file was modifiedbolt/include/bolt/Core/BinaryDomTree.h
Commit f712775dafdb221fdf73f38819fa9e618aec6b67 by koraq
[libc++][format] Exposes basic-format-string

This paper was accepted during the last plenary and is intended to be
backported to LLVM 15. When backporting the release notes in the branch
should be updated too.

Note the feature-test macro isn't updated since this will change; three
papers have updated the same macro in the same plenary.

Implements:
- P2508R1 Exposing std::basic-format-string

Reviewed By: ldionne, #libc

Differential Revision: https://reviews.llvm.org/D130643
The file was addedlibcxx/test/std/utilities/format/format.fmt.string/types.compile.pass.cpp
The file was modifiedlibcxx/docs/Status/Cxx2bPapers.csv
The file was modifiedlibcxx/docs/UsingLibcxx.rst
The file was modifiedlibcxx/docs/Status/FormatIssues.csv
The file was modifiedlibcxx/utils/generate_feature_test_macro_components.py
The file was modifiedlibcxx/include/format
The file was addedlibcxx/test/std/utilities/format/format.fmt.string/ctor.verify.cpp
The file was addedlibcxx/test/std/utilities/format/format.fmt.string/get.pass.cpp
Commit 9921ef73c864c5aa7a2f1e539a09d5cbd487def9 by ajcbik
[mlir][sparse] remove singleton dimension level type (for now)

Although we have plans to support this, and many other, dimension level type(s), currently the tag is not supported. It will be easy to add this back once support is added.

NOTE: based on discussion in https://discourse.llvm.org/t/overcoming-sparsification-limitation-on-level-types/62585

https://github.com/llvm/llvm-project/issues/51658

Reviewed By: Peiming

Differential Revision: https://reviews.llvm.org/D131002
The file was modifiedmlir/lib/Dialect/SparseTensor/Transforms/CodegenUtils.cpp
The file was modifiedmlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorAttrDefs.td
The file was modifiedmlir/lib/CAPI/Dialect/SparseTensor.cpp
The file was modifiedmlir/lib/Dialect/SparseTensor/IR/SparseTensorDialect.cpp
The file was modifiedmlir/lib/Dialect/SparseTensor/Utils/Merger.cpp
The file was modifiedmlir/include/mlir/Dialect/SparseTensor/Utils/Merger.h
The file was modifiedmlir/test/CAPI/sparse_tensor.c
The file was modifiedmlir/lib/Bindings/Python/DialectSparseTensor.cpp
The file was modifiedmlir/lib/Dialect/SparseTensor/Transforms/Sparsification.cpp
The file was modifiedmlir/lib/Dialect/SparseTensor/Transforms/SparseTensorConversion.cpp
The file was modifiedmlir/include/mlir-c/Dialect/SparseTensor.h
Commit 92c1bc61586c9d6c7bf0c36b1005fe00b4f48cc0 by Yuanfang Chen
[CodeGen][inlineasm] assume the flag output of inline asm is boolean value

GCC inline asm document says that
"... the general rule is that the output variable must be a scalar
integer, and the value is boolean."

Commit e5c37958f901cc9bec50624dbee85d40143e4bca lowers flag output of
inline asm on X86 with setcc, hence it is guaranteed that the flag
is of boolean value. Clang does not support ARM inline asm flag output
yet so nothing need to be worried about ARM.

See "Flag Output" section at
https://gcc.gnu.org/onlinedocs/gcc/Extended-Asm.html#OutputOperands

Fixes https://github.com/llvm/llvm-project/issues/56568

Reviewed By: nikic

Differential Revision: https://reviews.llvm.org/D129954
The file was modifiedclang/test/CodeGen/inline-asm-x86-flag-output.c
The file was modifiedclang/lib/CodeGen/CGStmt.cpp
Commit 508c431ed9ab6d2074f1c68e3ee6b245ece57d5a by roi.jacobson1
[SemaCXX] Validate destructor is valid for dependent classes

We didn't check that a destructor's name matches the directly enclosing class if the class was dependent.
I enabled the check we already had for non-dependent types, which seems to work. Added appropriate tests.

Fixes GitHub issue #56772

Reviewed By: erichkeane

Differential Revision: https://reviews.llvm.org/D130936
The file was modifiedclang/docs/ReleaseNotes.rst
The file was modifiedclang/test/SemaCXX/member-class-11.cpp
The file was modifiedclang/lib/Sema/SemaDecl.cpp
Commit a1a30dc933b928a7a8277d5b5f7bd25670e68884 by Casey
[libcxx][test] Test code should inspect `TEST_STD_VER`, not `_LIBCPP_STD_VER`.
The file was modifiedlibcxx/test/support/test_range.h
The file was modifiedlibcxx/test/support/test_iterators.h
Commit 20f7f9b709dfb1dafd6827c9708928ecac547d87 by python3kgae
[NFC][DirectX backend] Fix crash when emit_obj for DirectX backend.

When emit-obj from clang directly, DirectX backend will hit assert caused by not initialize passes for AsmPrinter.
The fix will initialize the passes by calling createPassConfig.
Also ignore global variable which not has section in DXILAsmPrinter::emitGlobalVariable to avoid hit llvm_unreachable in DXILTargetObjectFile::SelectSectionForGlobal.

Reviewed By: beanz

Differential Revision: https://reviews.llvm.org/D130856
The file was modifiedllvm/lib/Target/DirectX/DirectXAsmPrinter.cpp
The file was modifiedllvm/lib/Target/DirectX/DirectXTargetMachine.cpp
Commit ce3d0e87ac23ce4c2be8a3b99c3020f930d7ba16 by ajcbik
[mlir][sparse] enable SDDMM-flavored fusion

This rewriting was no longer functional after recent migration to one shot
bufferization. However, this revision makes it work again, with a CHECK test
to ensure fusion happens. Note that functionality is tested by several
integration tests.

Reviewed By: Peiming

Differential Revision: https://reviews.llvm.org/D130996
The file was modifiedmlir/test/Integration/Dialect/SparseTensor/CPU/sparse_sampled_mm_fusion.mlir
The file was addedmlir/test/Dialect/SparseTensor/sparse_sddmm.mlir
The file was modifiedmlir/lib/Dialect/SparseTensor/Transforms/SparseTensorRewriting.cpp
Commit 0a569274cb3b10401593ebd6eef01b74abbf4504 by sgurevich
[LLDB][NFC] Fix LLDB_WATCH_TYPE_IS_VALID macro

LLDB_WATCH_TYPE_IS_VALID would always return true when validating watchpoint type
by using bitwise-or instead of bitwise-and to apply validation flags.

Differential Revision: https://reviews.llvm.org/D130972
The file was modifiedlldb/include/lldb/lldb-defines.h
Commit ce6aff8d13894bdb6ec492858a66e8f8ab42c33b by Louis Dionne
[libc++] Update documentation on testing libc++
The file was modifiedlibcxx/docs/TestingLibcxx.rst
Commit d7100b398b76318300dd536e72219af9a82caec6 by Austin.Kerbow
[AMDGPU] Add GCNMaxILPSchedStrategy

Creates a new scheduling strategy that attempts to maximize ILP for a single
wave.

Reviewed By: rampitec

Differential Revision: https://reviews.llvm.org/D130869
The file was modifiedllvm/test/CodeGen/AMDGPU/schedule-ilp.ll
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
The file was modifiedllvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/schedule-regpressure-limit3.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/schedule-regpressure-limit.ll
The file was modifiedllvm/lib/Target/AMDGPU/GCNSchedStrategy.h
The file was modifiedllvm/test/CodeGen/AMDGPU/schedule-regpressure-limit2.ll
Commit 54110b8aa01073c428c636951511c2dc710c4a32 by blangmuir
Fix use-after-free in clang-apply-replacements

Accidentally introduced a dangling StringRef in b4c6dc2e6637.

Differential Revision: https://reviews.llvm.org/D131017
The file was modifiedclang-tools-extra/clang-apply-replacements/lib/Tooling/ApplyReplacements.cpp
Commit 4146c1756d81d37675d802371109848132e6bf80 by mtrofin
[nfc] Remove unused parameter in TailDuplicator::duplicateSimpleBB

Differential Revision: https://reviews.llvm.org/D131008
The file was modifiedllvm/include/llvm/CodeGen/TailDuplicator.h
The file was modifiedllvm/lib/CodeGen/TailDuplicator.cpp
Commit 40eec27618d0db2e2753abdf3b84832056d508a6 by Austin.Kerbow
[AMDGPU] Add llvm_unreachable to switch statement added in d7100b398.
The file was modifiedllvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp
Commit d8879fba8825b9799166ba0ea552d4027bfb8ad1 by Jason Molenda
Allow firmware binaries to be specified only by load address

Add support to Mach-O corefiles and to live gdb remote serial protocol
connections for the corefile/remote stub to provide a list of load
addresses of binaries that should be found & loaded by lldb, and nothing
else.  lldb will try to parse the binary out of memory, and if it can
find a UUID, try to find a binary & its debug information based on the
UUID, falling back to using the memory image if it must.

A bit of code unification from three parts of lldb that were loading
individual binaries already, so there is a shared method in
DynamicLoader to handle all of the variations they were doing.

Differential Revision: https://reviews.llvm.org/D130813
rdar://94249937
rdar://94249384
The file was modifiedlldb/include/lldb/Target/DynamicLoader.h
The file was addedlldb/test/API/macosx/lc-note/multiple-binary-corefile/one.c
The file was modifiedlldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
The file was modifiedlldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
The file was modifiedlldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
The file was modifiedlldb/source/Core/DynamicLoader.cpp
The file was addedlldb/test/API/macosx/lc-note/multiple-binary-corefile/create-multibin-corefile.cpp
The file was modifiedlldb/source/Plugins/Process/mach-core/ProcessMachCore.cpp
The file was addedlldb/test/API/macosx/lc-note/multiple-binary-corefile/main.c
The file was addedlldb/test/API/macosx/lc-note/multiple-binary-corefile/two.c
The file was modifiedlldb/docs/lldb-gdb-remote.txt
The file was addedlldb/test/API/macosx/lc-note/multiple-binary-corefile/Makefile
The file was addedlldb/test/API/macosx/lc-note/multiple-binary-corefile/TestMultipleBinaryCorefile.py
The file was modifiedlldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.h
Commit 803386da2ff80f0a5e75d2baee6dfa79d9d8d26f by Jason Molenda
Revert "Allow firmware binaries to be specified only by load address"

This reverts commit d8879fba8825b9799166ba0ea552d4027bfb8ad1.

Debian bot failure; I included <uuid/uuid.h> to get uuid_is_null() but
don't get it there.  Will memcmp or whatever & recommit.
The file was modifiedlldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.h
The file was modifiedlldb/source/Plugins/Process/mach-core/ProcessMachCore.cpp
The file was removedlldb/test/API/macosx/lc-note/multiple-binary-corefile/TestMultipleBinaryCorefile.py
The file was removedlldb/test/API/macosx/lc-note/multiple-binary-corefile/Makefile
The file was modifiedlldb/include/lldb/Target/DynamicLoader.h
The file was modifiedlldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
The file was removedlldb/test/API/macosx/lc-note/multiple-binary-corefile/create-multibin-corefile.cpp
The file was modifiedlldb/source/Core/DynamicLoader.cpp
The file was removedlldb/test/API/macosx/lc-note/multiple-binary-corefile/one.c
The file was removedlldb/test/API/macosx/lc-note/multiple-binary-corefile/two.c
The file was modifiedlldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
The file was removedlldb/test/API/macosx/lc-note/multiple-binary-corefile/main.c
The file was modifiedlldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
The file was modifiedlldb/docs/lldb-gdb-remote.txt
Commit 95a92995d45fc6fada43ecd91eba3e7aea90487a by r_mudduluru
Adds the NSDateFormatter checker to clang-tidy

Differential Revision: https://reviews.llvm.org/D126097
The file was modifiedclang-tools-extra/docs/clang-tidy/checks/list.rst
The file was modifiedclang-tools-extra/clang-tidy/objc/CMakeLists.txt
The file was addedclang-tools-extra/clang-tidy/objc/NSDateFormatterCheck.h
The file was addedclang-tools-extra/test/clang-tidy/checkers/objc/nsdate-formatter.m
The file was addedclang-tools-extra/docs/clang-tidy/checks/objc/nsdate-formatter.rst
The file was addedclang-tools-extra/clang-tidy/objc/NSDateFormatterCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/objc/ObjCTidyModule.cpp
Commit c2fc8d9b95bd98acb52a3174ed677c2a85aafe4d by Krzysztof.Drewniak
[mlir][GPU] Allow bare pointer memrefs when calling GPU kernels

In the ROCm runtime (and probably CUDA as well), all kernel arguments
are aligned. Therefore, enable using bare pointers for memref
arguments to kernels when these memrefs have static shape and a
trivial layout.

This is a substantial optimization to launching kernels that use
memrefs with known, static sizes, since it causes the kernel launch
packet to no longer include information already known to the kernel,
which can enable packing the kernel launch arguments into launch
packets instead of having to allocate an entire separate structure to
hold unneeded memref information.

Reviewed By: ftynse

Differential Revision: https://reviews.llvm.org/D130716
The file was modifiedmlir/include/mlir/Conversion/GPUCommon/GPUCommonPass.h
The file was modifiedmlir/include/mlir/Conversion/GPUToROCDL/GPUToROCDLPass.h
The file was modifiedmlir/include/mlir/Conversion/LLVMCommon/TypeConverter.h
The file was modifiedmlir/lib/Conversion/GPUCommon/GPUToLLVMConversion.cpp
The file was modifiedmlir/lib/Conversion/GPUToROCDL/LowerGpuOpsToROCDLOps.cpp
The file was modifiedmlir/include/mlir/Conversion/Passes.td
The file was addedmlir/test/Conversion/GPUToROCDL/memref.mlir
The file was modifiedmlir/lib/Conversion/GPUCommon/GPUOpsLowering.cpp
The file was modifiedmlir/test/Integration/GPU/ROCM/vecadd.mlir
Commit 577840bc7a29c4e01062fd2ed9c87dc381c44b20 by llvmgnsyncbot
[gn build] Port 95a92995d45f
The file was modifiedllvm/utils/gn/secondary/clang-tools-extra/clang-tidy/objc/BUILD.gn
Commit 560efad701709cc57021ccb14f91a012c5e835d3 by tstellar
workflows: Release Workflow - Avoid selecting random reviewers when no phab review

If you pass a NULL reivew ID to the differential.revision.search API,
it returns all revisions and we were just taking the first one and
assuming it was associated with the commit in the PR.

We need to exit early if we can't find a Phabricator review associated
with a commit.
The file was modifiedllvm/utils/git/github-automation.py
Commit 96d12187b3d28f63d29802a7af49dfe53cc306f3 by Jason Molenda
Allow firmware binaries to be specified only by load address

Add support to Mach-O corefiles and to live gdb remote serial protocol
connections for the corefile/remote stub to provide a list of load
addresses of binaries that should be found & loaded by lldb, and nothing
else.  lldb will try to parse the binary out of memory, and if it can
find a UUID, try to find a binary & its debug information based on the
UUID, falling back to using the memory image if it must.

A bit of code unification from three parts of lldb that were loading
individual binaries already, so there is a shared method in
DynamicLoader to handle all of the variations they were doing.

Re-landing this with a uuid_is_null() implementation added to
Utility/UuidCompatibility.h for non-Darwin systems.

Differential Revision: https://reviews.llvm.org/D130813
rdar://94249937
rdar://94249384
The file was addedlldb/test/API/macosx/lc-note/multiple-binary-corefile/main.c
The file was addedlldb/test/API/macosx/lc-note/multiple-binary-corefile/TestMultipleBinaryCorefile.py
The file was addedlldb/test/API/macosx/lc-note/multiple-binary-corefile/two.c
The file was modifiedlldb/source/Core/DynamicLoader.cpp
The file was modifiedlldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
The file was modifiedlldb/source/Utility/UuidCompatibility.h
The file was addedlldb/test/API/macosx/lc-note/multiple-binary-corefile/Makefile
The file was modifiedlldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
The file was modifiedlldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.h
The file was modifiedlldb/include/lldb/Target/DynamicLoader.h
The file was addedlldb/test/API/macosx/lc-note/multiple-binary-corefile/one.c
The file was modifiedlldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
The file was addedlldb/test/API/macosx/lc-note/multiple-binary-corefile/create-multibin-corefile.cpp
The file was modifiedlldb/docs/lldb-gdb-remote.txt
The file was modifiedlldb/source/Plugins/Process/mach-core/ProcessMachCore.cpp
Commit 59c6f418fa3c5d6f5c8b75ebd817be8113de7931 by martin
[LLD] [MachO] Fix GCC build warnings

This fixes the following warnings produced by GCC 9:

    ../tools/lld/MachO/Arch/ARM64.cpp: In member function ‘void {anonymous}::OptimizationHintContext::applyAdrpLdr(const lld::macho::OptimizationHint&)’:
    ../tools/lld/MachO/Arch/ARM64.cpp:448:18: warning: comparison of integer expressions of different signedness: ‘int64_t’ {aka ‘long int’} and ‘uint64_t’ {aka ‘long unsigned int’} [-Wsign-compare]
      448 |   if (ldr.offset != (rel1->referentVA & 0xfff))
          |       ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    ../tools/lld/MachO/UnwindInfoSection.cpp: In function ‘bool canFoldEncoding(compact_unwind_encoding_t)’:
    ../tools/lld/MachO/UnwindInfoSection.cpp:404:44: warning: comparison between ‘enum<unnamed>’ and ‘enum<unnamed>’ [-Wenum-compare]
      404 |   static_assert(UNWIND_X86_64_MODE_MASK == UNWIND_X86_MODE_MASK, "");
          |                                            ^~~~~~~~~~~~~~~~~~~~
    ../tools/lld/MachO/UnwindInfoSection.cpp:405:49: warning: comparison between ‘enum<unnamed>’ and ‘enum<unnamed>’ [-Wenum-compare]
      405 |   static_assert(UNWIND_X86_64_MODE_STACK_IND == UNWIND_X86_MODE_STACK_IND, "");
          |                                                 ^~~~~~~~~~~~~~~~~~~~~~~~~

Differential Revision: https://reviews.llvm.org/D130970
The file was modifiedlld/MachO/Arch/ARM64.cpp
The file was modifiedlld/MachO/UnwindInfoSection.cpp
Commit 318454a8e5fce57a92573f42e39f148adcedc5d4 by Jason Molenda
Inline my uuid_is_null() implementation in a header file

This either needs to be static, or forced inline, or in a separate
source file.  Given that we only have one function in this
UuidCompatibility.h, I think forced inline for the handful of uses
of it may be best.
The file was modifiedlldb/source/Utility/UuidCompatibility.h
Commit e8468ddebc6d2fff1a008777300cfd3df0f87524 by najegeorge
[flang] Add semantics test for ERROR STOP statement

Reviewed By: ktras

Differential Revision: https://reviews.llvm.org/D130530
The file was addedflang/test/Semantics/error_stop.f90
Commit f7872cdce1102a5c12633dad462a1d9763a578d3 by nicolai.haehnle
CommandLine: add and use cl::SubCommand::get{All,TopLevel}

Prefer using these accessors to access the special sub-commands
corresponding to the top-level (no subcommand) and all sub-commands.

This is a preparatory step towards removing the use of ManagedStatic:
with a subsequent change, these global instances will be moved to
be regular function-scope statics.

It is split up to give downstream projects a (albeit short) window in
which they can switch to using the accessors in a forward-compatible
way.

Differential Revision: https://reviews.llvm.org/D129118
The file was modifiedllvm/unittests/Support/CommandLineTest.cpp
The file was modifiedclang/tools/clang-refactor/ClangRefactor.cpp
The file was modifiedllvm/lib/Support/CommandLine.cpp
The file was modifiedbolt/lib/Utils/CommandLineOpts.cpp
The file was modifiedclang/lib/Tooling/CommonOptionsParser.cpp
The file was modifiedllvm/unittests/Support/CommandLineInit/CommandLineInitTest.cpp
The file was modifiedllvm/include/llvm/Support/CommandLine.h
The file was modifiedbolt/tools/driver/llvm-bolt.cpp
The file was modifiedllvm/tools/llvm-xray/llvm-xray.cpp
Commit ee4d8150083792242b3c56e5a7f9fe8aaa374b72 by chris.bieneman
[DX] Remove IntrNoMem from create handle intrinsic

The create handle intrinsic calls can't be removed, so it was incorrect
to mark them as IntrNoMem.
The file was modifiedllvm/include/llvm/IR/IntrinsicsDirectX.td
The file was addedllvm/test/Transforms/EarlyCSE/DirectX/create_handle.ll
Commit 9cf6511bff97007401238f6cff6bf80cb9af04a5 by jonathan.l.peyton
[OpenMP][libomp] Detect if test compiler has omp.h

omp50_taskdep_depobj.c relies on the test compiler's omp.h file.
If the test compiler does not have an omp.h file, then use the one
within the build tree.

Fixes: https://github.com/llvm/llvm-project/issues/56820
Differential Revision: https://reviews.llvm.org/D131000
The file was modifiedopenmp/cmake/DetectTestCompiler/CMakeLists.txt
The file was modifiedopenmp/runtime/test/lit.site.cfg.in
The file was modifiedopenmp/runtime/test/CMakeLists.txt
The file was modifiedopenmp/cmake/OpenMPTesting.cmake
The file was modifiedopenmp/runtime/test/lit.cfg
Commit 2b7203a35972e98b8521f92d2791043dc539ae88 by jhuber6
[Libomptarget] Deinitialize AMDGPU global state more intentionally

A previous patch made the destruction of the HSA plugin more
deterministic. However, there were still other global values that are not
handled this way. When attempting to call a destructor kernel, the
device would have already been uninitialized and we could not find the
appropriate kernel to call. This is because they were stored in global
containers that had their destructors called already. Merges this global
state into the rest of the info state by putting those global values
inside of the global pointer already allocated and deallocated by the
constructor and destructor. This should allow the AMDGPU plugin to
correctly identify the destructors if we were to run them.

Reviewed By: JonChesterfield

Differential Revision: https://reviews.llvm.org/D131011
The file was modifiedopenmp/libomptarget/plugins/amdgpu/src/rtl.cpp
Commit a5605f1f6853ee26456895f6055fa5e11a875de0 by craig.topper
[RISCV] Fix operand number in debug message in RISCVMergeBaseOffset.

This used to print from the ADDI where the operand number was
correct. It recently changed to print from the LUI or AUIPC which
needs to use operand 1 instead of 2.

This shows up as a crash with -debug.
The file was modifiedllvm/lib/Target/RISCV/RISCVMergeBaseOffset.cpp
Commit 4f0262c1640531dd431cf205f4b802b1fabb6489 by joker.eph
Fix use-after-free in SymbolTable::replaceAllSymbolUses

In some cases the recursion will grow the `visited` hash table and
invalidate the cached iterator.
(caught with ASAN)

Differential Revision: https://reviews.llvm.org/D131027
The file was modifiedmlir/lib/IR/SubElementInterfaces.cpp
Commit 6cbc6e9a6d5f0ef9c406f718dd0c3e6dd6dffeef by johnsonjakob99
[LLDB] Add SBInstruction::GetControlFlowKind()

D128477 adds the control flow kind for `Instruction` and displays this
in the `thread trace dump instruction -k` command.

This diff exposes the control flow kind via the new
`SBInstruction::GetControlFlowKind` method.

I've expanded `TestDisassembleRawData` to test this method, but please
let me know if there are any other unittests that should also be updated.

Test Plan:
`./bin/lldb-dotest -p TestDisassembleRawData`

Differential Revision: https://reviews.llvm.org/D131005
The file was modifiedlldb/bindings/interface/SBInstruction.i
The file was modifiedlldb/source/API/SBInstruction.cpp
The file was modifiedlldb/test/API/python_api/disassemble-raw-data/TestDisassembleRawData.py
The file was modifiedlldb/include/lldb/API/SBInstruction.h
Commit 4502e3531f623c47e71d3a159580a72560b90954 by sgurevich
[LLDB][NFC] Fix incorrect return status Some functions always return 'false' for both success and fail return paths.

Differential Revision: https://reviews.llvm.org/D131013
The file was modifiedlldb/source/Plugins/Language/ObjC/NSSet.cpp
The file was modifiedlldb/source/Plugins/Language/ObjC/NSDictionary.cpp
The file was modifiedlldb/source/Plugins/Language/ObjC/NSArray.cpp
Commit c7bd61d4a79b88dbd97028bb0a73a73b2d6aca89 by Jonas Devlieghere
Revert "[lldb][modules] Disable Clang Modules in source/Host directory on macOS"

This reverts commit 7cf4ab13af8aa3183e551b3319399cddd9384948 as it was a
temporary workaround that's no longer needed.
The file was modifiedlldb/source/Host/CMakeLists.txt
Commit 63725ebc182d7955c569be94b845b93d14374def by Jason Molenda
[NFC] Remove no-op code from x86AssemblyInspectionEngine::jmp_to_reg_p

Slava Gurevich noticed this dead code I wrote in jmp_to_reg_p
is never executed, is duplicated, and has comments that seem to
describe the opposite behavior.  Remove the dead code that cannot
be executed.

Differential Revision: https://reviews.llvm.org/D131029
The file was modifiedlldb/source/Plugins/UnwindAssembly/x86/x86AssemblyInspectionEngine.cpp
Commit 4bd9d98bc2be3548418dc67accc662cbeb10a2e1 by andrey.tretyakov
[SPIRV] Fix style of LIT tests and remove metadata

Fix style, indentation, comments of LIT tests
and remove unnecessary metadata and attributes.

Differential Revision: https://reviews.llvm.org/D130664
The file was modifiedllvm/test/CodeGen/SPIRV/instructions/fcmp.ll
The file was modifiedllvm/test/CodeGen/SPIRV/instructions/icmp.ll
The file was modifiedllvm/test/CodeGen/SPIRV/TruncToBool.ll
The file was modifiedllvm/test/CodeGen/SPIRV/instructions/vector-floating-point-arithmetic.ll
The file was modifiedllvm/test/CodeGen/SPIRV/instructions/call-complex-function.ll
The file was modifiedllvm/test/CodeGen/SPIRV/transcoding/OpBitReverse_i32.ll
The file was modifiedllvm/test/CodeGen/SPIRV/transcoding/OpSwitchEmpty.ll
The file was modifiedllvm/test/CodeGen/SPIRV/struct.ll
The file was modifiedllvm/test/CodeGen/SPIRV/transcoding/OpBitReverse_v2i16.ll
The file was modifiedllvm/test/CodeGen/SPIRV/constant/local-bool-constants.ll
The file was modifiedllvm/test/CodeGen/SPIRV/function/trivial-function-with-call.ll
The file was modifiedllvm/test/CodeGen/SPIRV/instructions/select.ll
The file was modifiedllvm/test/CodeGen/SPIRV/instructions/float-casts.ll
The file was modifiedllvm/test/CodeGen/SPIRV/llvm-intrinsics/fshl.ll
The file was modifiedllvm/test/CodeGen/SPIRV/instructions/vector-integer-arithmetic.ll
The file was modifiedllvm/test/CodeGen/SPIRV/transcoding/OpVectorExtractDynamic.ll
The file was modifiedllvm/test/CodeGen/SPIRV/metadata-opencl.ll
The file was modifiedllvm/test/CodeGen/SPIRV/constant/local-vector-matrix-constants.ll
The file was modifiedllvm/test/CodeGen/SPIRV/constant/local-aggregate-constant.ll
The file was modifiedllvm/test/CodeGen/SPIRV/transcoding/fcmp.ll
The file was modifiedllvm/test/CodeGen/SPIRV/function/alloca-load-store.ll
The file was modifiedllvm/test/CodeGen/SPIRV/function/trivial-function-definition.ll
The file was modifiedllvm/test/CodeGen/SPIRV/instructions/atomic_seq.ll
The file was modifiedllvm/test/CodeGen/SPIRV/transcoding/RelationalOperators.ll
The file was modifiedllvm/test/CodeGen/SPIRV/constant/local-null-constants.ll
The file was modifiedllvm/test/CodeGen/SPIRV/AtomicCompareExchange.ll
The file was modifiedllvm/test/CodeGen/SPIRV/transcoding/readonly.ll
The file was modifiedllvm/test/CodeGen/SPIRV/instructions/atomic.ll
The file was modifiedllvm/test/CodeGen/SPIRV/constant/global-constants.ll
The file was modifiedllvm/test/CodeGen/SPIRV/function/trivial-function-with-attributes.ll
The file was modifiedllvm/test/CodeGen/SPIRV/instructions/integer-casts.ll
The file was modifiedllvm/test/CodeGen/SPIRV/function/identity-function.ll
The file was modifiedllvm/test/CodeGen/SPIRV/instructions/scalar-integer-arithmetic.ll
The file was modifiedllvm/test/CodeGen/SPIRV/instructions/ptrcmp.ll
The file was modifiedllvm/test/CodeGen/SPIRV/opaque_pointers.ll
The file was modifiedllvm/test/CodeGen/SPIRV/llvm-intrinsics/ctpop.ll
The file was modifiedllvm/test/CodeGen/SPIRV/instructions/atomic_acqrel.ll
The file was modifiedllvm/test/CodeGen/SPIRV/branching/if-merging.ll
The file was modifiedllvm/test/CodeGen/SPIRV/transcoding/DecorationMaxByteOffset.ll
The file was modifiedllvm/test/CodeGen/SPIRV/transcoding/OpPhi_ArgumentsPlaceholders.ll
Commit 3dfa5626434bf1e9f110e63e8224a66004f42eca by Austin.Kerbow
[AMDGPU] Add CL option for max-ilp scheduler.

When compiling for multiple targets the scheduler that is selected via the
-misched option is applied globally. This patch adds a target CL option instead.

Reviewed By: rampitec

Differential Revision: https://reviews.llvm.org/D131022
The file was modifiedllvm/test/CodeGen/AMDGPU/schedule-ilp.ll
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
Commit f9b4ea0ce9efb4132a75551c40b2efc049e5b9f7 by johnsonjakob99
[trace] Add SBTraceCursor bindings

Add bindings for the `TraceCursor` to allow for programatic traversal of
traces.
This diff adds bindings for all public `TraceCursor` methods except
`GetHwClock` and also adds `SBTrace::CreateNewCursor`. A new unittest
has been added to TestTraceLoad.py that uses the new `SBTraceCursor` API
to test that the sequential and random access APIs of the `TraceCursor`
are equivalent.

This diff depends on D130925.

Test Plan:
`ninja lldb-dotest && ./bin/lldb-dotest -p TestTraceLoad`

Differential Revision: https://reviews.llvm.org/D130930
The file was modifiedlldb/source/Plugins/Trace/intel-pt/DecodedThread.cpp
The file was modifiedlldb/include/lldb/lldb-defines.h
The file was modifiedlldb/source/API/CMakeLists.txt
The file was modifiedlldb/source/API/SBTrace.cpp
The file was modifiedlldb/include/lldb/Target/TraceCursor.h
The file was modifiedlldb/source/Plugins/TraceExporter/common/TraceHTR.cpp
The file was modifiedlldb/source/Plugins/Trace/intel-pt/TraceCursorIntelPT.h
The file was modifiedlldb/include/lldb/API/SBTrace.h
The file was modifiedlldb/include/lldb/API/SBDefines.h
The file was modifiedlldb/source/Plugins/Trace/intel-pt/DecodedThread.h
The file was modifiedlldb/test/API/commands/trace/TestTraceLoad.py
The file was modifiedlldb/bindings/interface/SBTrace.i
The file was addedlldb/include/lldb/API/SBTraceCursor.h
The file was addedlldb/source/API/SBTraceCursor.cpp
The file was modifiedlldb/source/Commands/CommandObjectThread.cpp
The file was modifiedlldb/source/Target/TraceDumper.cpp
The file was addedlldb/bindings/interface/SBTraceCursor.i
The file was modifiedlldb/bindings/interfaces.swig
The file was modifiedlldb/include/lldb/lldb-enumerations.h
The file was modifiedlldb/source/Plugins/Trace/intel-pt/TraceCursorIntelPT.cpp
Commit 3ddc280c032f9822482062dcd1ef22b3052540de by llvmgnsyncbot
[gn build] Port f9b4ea0ce9ef
The file was modifiedllvm/utils/gn/secondary/lldb/source/API/BUILD.gn
Commit 6ac30fa6e94118613fd27f0fd896a86852eeea7a by krasmussen
[flang] Add stopped_images to list of intrinsics and add test

Add stopped_images to the list of intrinsic functions. Add a
semantics test for stopped_images.

Reviewed By: klausler, ngeorge1098

Differential Revision: https://reviews.llvm.org/D129513
The file was modifiedflang/docs/Intrinsics.md
The file was addedflang/test/Semantics/stopped_images.f90
The file was modifiedflang/lib/Evaluate/intrinsics.cpp
Commit d434e40f398e3144c69d57d2a142d35e2f760a8e by paulkirth
[llvm][NFC] Refactor code to use ProfDataUtils

In this patch we replace common code patterns with the use of utility
functions for dealing with profiling metadata. There should be no change
in functionality, as the existing checks should be preserved in all
cases.

Reviewed By: bogner, davidxl

Differential Revision: https://reviews.llvm.org/D128860
The file was modifiedllvm/lib/Analysis/BranchProbabilityInfo.cpp
The file was modifiedllvm/lib/CodeGen/CodeGenPrepare.cpp
The file was modifiedllvm/lib/Transforms/IPO/PartialInlining.cpp
The file was modifiedllvm/include/llvm/IR/ProfDataUtils.h
The file was modifiedllvm/lib/Transforms/Utils/LoopPeel.cpp
The file was modifiedllvm/lib/Transforms/Utils/LoopUtils.cpp
The file was modifiedllvm/include/llvm/IR/Instruction.h
The file was modifiedllvm/lib/CodeGen/SelectOptimize.cpp
The file was modifiedllvm/lib/Transforms/Instrumentation/PGOInstrumentation.cpp
The file was modifiedllvm/lib/Transforms/Utils/MisExpect.cpp
The file was modifiedllvm/lib/Transforms/Utils/LoopUnrollRuntime.cpp
The file was modifiedllvm/lib/IR/Metadata.cpp
The file was modifiedllvm/lib/Target/PowerPC/PPCTargetTransformInfo.cpp
The file was modifiedllvm/lib/Transforms/Utils/SimplifyCFG.cpp
The file was modifiedllvm/lib/Transforms/Scalar/JumpThreading.cpp
Commit db0ac307c9df26d26a629552aec0a78f1b492dfd by Louis Dionne
[libc++] Fix warning C4244 in std/numerics/rand/rand.dist/rand.dist.samp/rand.dist.samp.discrete/eval.pass.cpp

frederick-vs-ja noticed that https://github.com/microsoft/STL/pull/2976#issuecomment-1201926893
while we are working on updating LLVM submodule for MS STL:

    [...]\std\numerics\rand\rand.dist\rand.dist.samp\rand.dist.samp.discrete\eval.pass.cpp(33): error C2220: the following warning is treated as an error
    [...]\std\numerics\rand\rand.dist\rand.dist.samp\rand.dist.samp.discrete\eval.pass.cpp(287): note: see reference to function template instantiation 'void tests<__int64>(void)' being compiled
    [...]\std\numerics\rand\rand.dist\rand.dist.samp\rand.dist.samp.discrete\eval.pass.cpp(33): warning C4244: 'argument': conversion from '__int64' to 'const unsigned int', possible loss of data

Differential Revision: https://reviews.llvm.org/D130963
The file was modifiedlibcxx/test/std/numerics/rand/rand.dist/rand.dist.samp/rand.dist.samp.discrete/eval.pass.cpp
Commit 495519e5f8232d144ed26e9c18dbcbac6a5f25eb by Louis Dionne
[libc++][NFC] Don't rely on `<algorithm>` transitively including `<memory>` in tests

Found by @cpplearner (https://github.com/microsoft/STL/pull/2976#discussion_r935440806)

Differential Revision: https://reviews.llvm.org/D130997
The file was modifiedlibcxx/test/std/algorithms/ranges_result_alias_declarations.compile.pass.cpp
Commit 39d4e169d35b59a39ad2fcfe1a568ba979079d83 by Louis Dionne
[libc++][test] Propagate host environment to libc++ test suite

Propagate the complete host environment to the tests run via the new
testconfig. This ensures that all envvars needed e.g. for the compiler
to work correctly are present. This mimics the behavior explicitly
implemented in the legacy config.

https://github.com/llvm/llvm-project/issues/56816

Differential Revision: https://reviews.llvm.org/D130843
The file was modifiedlibcxx/test/libcxx/selftest/dsl/dsl.sh.py
The file was modifiedlibcxx/utils/libcxx/test/newconfig.py
Commit d8602bcdfa653d1beef1070a8ce7bb8a77bb316e by waltermelon
fix f9b4ea0ce9efb4132a75551c40b2efc049e5b9f7

This fixes https://lab.llvm.org/buildbot/#/builders/68/builds/37077.
The file was modifiedlldb/source/API/SBTraceCursor.cpp
The file was modifiedlldb/include/lldb/API/SBTraceCursor.h
Commit ce1b24cca886eb9f05e252f399059167473d0ba3 by yedeng.yd
[IRBuilder] Handle constexpr-bitcast for IRBuilder::CreateThreadLocalAddress

In case that opaque pointers not enabled, there may be some constexpr
bitcast uses for thread local variables and the design of llvm allow
people to sink constant arbitrarily. This breaks the assumption of
IRBuilder::CreateThreadLocalAddress. This patch tries to handle the
case.
The file was modifiedllvm/unittests/IR/IRBuilderTest.cpp
The file was modifiedllvm/lib/IR/IRBuilder.cpp
Commit 2d3d0f50ceb938c155a7283e684f28190d24d6ba by tstellar
workflows: Remove symbol versions from libclang.so in the libclang ABI test

Now that the symbol version for libclang.so changes for each release again,
we need to remove the symbol versions from the shared library in order
for the ABI checker to be able to compare with an older version of the
shared library.
The file was modified.github/workflows/libclang-abi-tests.yml
Commit d179ea12fd3186690cb9c630be03ab98b42c5448 by walter erquinigo
[NFC][trace] format source files

Cleanup formatting diff
The file was modifiedlldb/source/Plugins/Trace/intel-pt/ThreadDecoder.cpp
The file was modifiedlldb/source/Plugins/Trace/intel-pt/LibiptDecoder.h
The file was modifiedlldb/source/Plugins/Trace/intel-pt/TraceIntelPTMultiCpuDecoder.cpp
The file was modifiedlldb/source/Plugins/Trace/intel-pt/TraceIntelPT.h
The file was modifiedlldb/source/Plugins/Trace/intel-pt/LibiptDecoder.cpp
The file was modifiedlldb/source/Plugins/Trace/intel-pt/TraceIntelPTBundleLoader.cpp
The file was modifiedlldb/source/Plugins/Trace/intel-pt/TraceIntelPTBundleLoader.h
The file was modifiedlldb/source/Plugins/Trace/intel-pt/TraceIntelPT.cpp
The file was modifiedlldb/source/Plugins/Trace/intel-pt/TraceIntelPTJSONStructs.h
The file was modifiedlldb/source/Plugins/Trace/intel-pt/TraceIntelPTBundleSaver.cpp
The file was modifiedlldb/source/Plugins/Trace/intel-pt/TraceIntelPTJSONStructs.cpp
Commit f19497f7b0ce0dab5d35054e7ba652164b9ac123 by craig.topper
[RISCV] Use InstVisitor in RISCVCodeGenPrepare. NFC

Makes it easy to add new instructions to look at without dispatching
manually.
The file was modifiedllvm/lib/Target/RISCV/RISCVCodeGenPrepare.cpp
Commit be3587ae9ab2289179eea0bf6b241d796524062a by tstellar
workflows: Fix typo from 2d3d0f50ceb938c155a7283e684f28190d24d6ba
The file was modified.github/workflows/libclang-abi-tests.yml
Commit 1116fa476504a0c3a03b779ce3c020f231b0511c by regehr
avoid a bug where we remove a BB and then the next one becomes the
entry block and is illegal due to having more then one predecessor
block

Differential Revision: https://reviews.llvm.org/D131026
The file was modifiedllvm/tools/llvm-reduce/deltas/ReduceBasicBlocks.cpp
Commit d469f136bee04ed80e70df981934fa1144a9d2cc by regehr
oops-- I pushed previous commit from a fresh checkout and forgot to
git add the new test case, here it is

Differential Revision: https://reviews.llvm.org/D131026
The file was addedllvm/test/tools/llvm-reduce/remove-bbs-illegal.ll
Commit dc860d55eb8297083ca928341b2c222d648fba2a by kazu
[mlir] Add has_value and value to OptionalParseResult

llvm::Optional is in the process of switching to the
std::optional-like interface with has_value/value as opposed to
hasValue/getValue.

This patch adds has_value and value to enable the same transition.

Differential Revision: https://reviews.llvm.org/D130819
The file was modifiedmlir/include/mlir/IR/OpDefinition.h
Commit 760d2b462c04537d119d76d3cc37d2cb53774a05 by varconst
[libc++][ranges] Implement `ranges::remove_copy{, _if}`.

Co-authored-by: Hui Xie <hui.xie1990@gmail.com>

Differential Revision: https://reviews.llvm.org/D130599
The file was modifiedlibcxx/include/__algorithm/ranges_remove_copy.h
The file was modifiedlibcxx/test/std/algorithms/ranges_robust_against_nonbool_predicates.pass.cpp
The file was modifiedlibcxx/test/std/algorithms/ranges_robust_against_proxy_iterators.pass.cpp
The file was modifiedlibcxx/test/std/algorithms/alg.modifying.operations/alg.remove/ranges_remove_copy.pass.cpp
The file was modifiedlibcxx/test/std/algorithms/alg.modifying.operations/alg.remove/ranges_remove_copy_if.pass.cpp
The file was modifiedlibcxx/include/algorithm
The file was modifiedlibcxx/test/libcxx/algorithms/ranges_robust_against_copying_projections.pass.cpp
The file was modifiedlibcxx/test/std/algorithms/ranges_robust_against_omitting_invoke.pass.cpp
The file was modifiedlibcxx/test/std/algorithms/ranges_robust_against_dangling.pass.cpp
The file was modifiedlibcxx/test/std/library/description/conventions/customization.point.object/niebloid.compile.pass.cpp
The file was modifiedlibcxx/include/__algorithm/ranges_remove_copy_if.h
The file was modifiedlibcxx/test/std/algorithms/ranges_result_alias_declarations.compile.pass.cpp
The file was modifiedlibcxx/test/support/counting_projection.h
The file was modifiedlibcxx/docs/Status/RangesAlgorithms.csv
The file was modifiedlibcxx/test/libcxx/algorithms/ranges_robust_against_copying_comparators.pass.cpp
Commit f537a01d3989d37aafc050a92c74e69d35381f8c by varconst
[libc++][ranges] Fix the return value of `{copy,move}_backward`.

The return value for both of these algorithms is specified as
```
`{last, result - N}` for the overloads in namespace `ranges`.
```
But the current implementation instead returns `{first, result - N}`.

Also add both algorithms to the relevant "robust" tests.

Differential Revision: https://reviews.llvm.org/D130968
The file was modifiedlibcxx/test/std/algorithms/alg.modifying.operations/alg.copy/ranges.copy_backward.pass.cpp
The file was modifiedlibcxx/include/__algorithm/copy_backward.h
The file was modifiedlibcxx/test/std/algorithms/alg.modifying.operations/alg.move/ranges.move_backward.pass.cpp
The file was modifiedlibcxx/test/std/algorithms/ranges_robust_against_proxy_iterators.pass.cpp
The file was modifiedlibcxx/test/std/algorithms/ranges_robust_against_dangling.pass.cpp
The file was modifiedlibcxx/include/__algorithm/ranges_move_backward.h
Commit 93172c1c2b10066628c85c9ff78eb882222fb304 by varconst
[libc++][ranges] Implement `ranges::replace_copy{,_if}`.

Co-authored-by: Konstantin Varlamov <varconst@apple.com>

Differential Revision: https://reviews.llvm.org/D129806
The file was modifiedlibcxx/include/__algorithm/ranges_replace_copy.h
The file was modifiedlibcxx/test/std/library/description/conventions/customization.point.object/niebloid.compile.pass.cpp
The file was modifiedlibcxx/test/std/algorithms/ranges_robust_against_dangling.pass.cpp
The file was modifiedlibcxx/test/std/algorithms/ranges_result_alias_declarations.compile.pass.cpp
The file was modifiedlibcxx/test/support/counting_predicates.h
The file was modifiedlibcxx/test/std/algorithms/alg.modifying.operations/alg.replace/ranges_replace_copy_if.pass.cpp
The file was modifiedlibcxx/test/std/algorithms/ranges_robust_against_nonbool_predicates.pass.cpp
The file was modifiedlibcxx/test/libcxx/algorithms/ranges_robust_against_copying_comparators.pass.cpp
The file was modifiedlibcxx/include/algorithm
The file was modifiedlibcxx/docs/Status/RangesAlgorithms.csv
The file was modifiedlibcxx/test/std/algorithms/alg.modifying.operations/alg.replace/ranges_replace_copy.pass.cpp
The file was modifiedlibcxx/test/std/algorithms/ranges_robust_against_omitting_invoke.pass.cpp
The file was modifiedlibcxx/test/libcxx/algorithms/ranges_robust_against_copying_projections.pass.cpp
The file was modifiedlibcxx/test/std/algorithms/ranges_robust_against_proxy_iterators.pass.cpp
The file was modifiedlibcxx/include/__algorithm/ranges_replace_copy_if.h
Commit 6bdb64223473585f783572c9fbf0673b4b324a35 by varconst
[libc++][ranges] Implement `ranges::sample`.

Differential Revision: https://reviews.llvm.org/D130865
The file was modifiedlibcxx/include/algorithm
The file was modifiedlibcxx/test/std/algorithms/ranges_robust_against_proxy_iterators.pass.cpp
The file was addedlibcxx/include/__algorithm/uniform_random_bit_generator_adaptor.h
The file was modifiedlibcxx/include/__algorithm/ranges_shuffle.h
The file was modifiedlibcxx/test/std/library/description/conventions/customization.point.object/niebloid.compile.pass.cpp
The file was modifiedlibcxx/include/__algorithm/sample.h
The file was modifiedlibcxx/include/module.modulemap.in
The file was addedlibcxx/include/__algorithm/ranges_sample.h
The file was modifiedlibcxx/include/__algorithm/iterator_operations.h
The file was modifiedlibcxx/test/std/algorithms/ranges_robust_against_omitting_invoke.pass.cpp
The file was modifiedlibcxx/test/libcxx/private_headers.verify.cpp
The file was modifiedlibcxx/docs/Status/RangesAlgorithms.csv
The file was addedlibcxx/test/std/algorithms/alg.modifying.operations/alg.random.sample/ranges_sample.pass.cpp
The file was modifiedlibcxx/include/CMakeLists.txt
Commit 75f6a10d5230ab51cab8c960fff6588f227f6afa by llvmgnsyncbot
[gn build] Port 6bdb64223473
The file was modifiedllvm/utils/gn/secondary/libcxx/include/BUILD.gn
Commit 8a78b72289c5b1cb2ea2f0794d5bb9836b0895d8 by cpplearner
[libc++][test] Replace `_LIBCPP_STD_VER` with `TEST_STD_VER`

Differential Revision: https://reviews.llvm.org/D130979
The file was modifiedlibcxx/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/alloc_convert_copy.pass.cpp
The file was modifiedlibcxx/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/alloc_convert_move.pass.cpp
Commit 68264b649461206dc095e672eacf8a003e0b9e49 by varconst
[libc++][ranges] Implement `ranges::{prev, next}_permutation`.

Co-authored-by: Konstantin Varlamov <varconst@apple.com>

Differential Revision: https://reviews.llvm.org/D129859
The file was modifiedlibcxx/include/CMakeLists.txt
The file was modifiedlibcxx/test/libcxx/algorithms/ranges_robust_against_copying_comparators.pass.cpp
The file was addedlibcxx/test/std/algorithms/alg.sorting/alg.permutation.generators/ranges.prev_permutation.pass.cpp
The file was modifiedlibcxx/test/support/almost_satisfies_types.h
The file was modifiedlibcxx/test/std/algorithms/ranges_robust_against_nonbool_predicates.pass.cpp
The file was modifiedlibcxx/docs/Status/RangesAlgorithms.csv
The file was addedlibcxx/test/std/algorithms/alg.sorting/alg.permutation.generators/ranges.next_permutation.pass.cpp
The file was modifiedlibcxx/test/libcxx/algorithms/ranges_robust_against_copying_projections.pass.cpp
The file was modifiedlibcxx/include/__algorithm/prev_permutation.h
The file was modifiedlibcxx/include/module.modulemap.in
The file was addedlibcxx/include/__algorithm/ranges_prev_permutation.h
The file was modifiedlibcxx/test/libcxx/private_headers.verify.cpp
The file was addedlibcxx/include/__algorithm/ranges_next_permutation.h
The file was modifiedlibcxx/test/std/algorithms/ranges_result_alias_declarations.compile.pass.cpp
The file was modifiedlibcxx/include/algorithm
The file was modifiedlibcxx/test/std/algorithms/ranges_robust_against_omitting_invoke.pass.cpp
The file was modifiedlibcxx/include/__algorithm/next_permutation.h
The file was modifiedlibcxx/include/__algorithm/reverse.h
Commit 7e8bf0a32048746b445e091283e598624fce2dcf by llvmgnsyncbot
[gn build] Port 68264b649461
The file was modifiedllvm/utils/gn/secondary/libcxx/include/BUILD.gn
Commit c44c71843f3eca71ef109d2e0730722a6d8e5675 by sgatev
[clang][dataflow] Make the type of the post visit callback consistent

Make the types of the post visit callbacks in `transferBlock` and
`runTypeErasedDataflowAnalysis` consistent.

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

Reviewed-by: ymandel, xazax.hun, gribozavr2
The file was modifiedclang/unittests/Analysis/FlowSensitive/TestingSupport.h
The file was modifiedclang/include/clang/Analysis/FlowSensitive/TypeErasedDataflowAnalysis.h
The file was modifiedclang/lib/Analysis/FlowSensitive/TypeErasedDataflowAnalysis.cpp
The file was modifiedclang-tools-extra/clang-tidy/bugprone/UncheckedOptionalAccessCheck.cpp
The file was modifiedclang/unittests/Analysis/FlowSensitive/UncheckedOptionalAccessModelTest.cpp
The file was modifiedclang/include/clang/Analysis/FlowSensitive/DataflowAnalysis.h
Commit 752c9d0dab8b6111204182dcf29a27622ae94921 by jacquesguan
[mlir][Math] Add constant folder for AtanOp.

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

Differential Revision: https://reviews.llvm.org/D130983
The file was modifiedmlir/test/Dialect/Math/canonicalize.mlir
The file was modifiedmlir/test/mlir-cpu-runner/math-polynomial-approx.mlir
The file was modifiedmlir/include/mlir/Dialect/Math/IR/MathOps.td
The file was modifiedmlir/lib/Dialect/Math/IR/MathOps.cpp
Commit 9ef11616b228fc2f69cd8fe7f7fd3e821d74c182 by usx
Add foldings for multi-line comment.

Differential Revision: https://reviews.llvm.org/D130081
The file was modifiedclang-tools-extra/clangd/Protocol.h
The file was modifiedclang-tools-extra/clangd/SemanticSelection.cpp
The file was modifiedclang-tools-extra/clangd/Protocol.cpp
The file was modifiedclang-tools-extra/clangd/unittests/SemanticSelectionTests.cpp
Commit 817dd5e3fd6bdad584728843c72892f0fae058cd by sgatev
[clang][dataflow] Rename member to make it clear that it isn't stable

Rename `DataflowAnalysisContext::getStableStorageLocation(QualType)`
to `createStorageLocation`, to make it clear that it doesn't return
a stable storage location.

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

Reviewed-by: ymandel, xazax.hun, gribozavr2
The file was modifiedclang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
The file was modifiedclang/include/clang/Analysis/FlowSensitive/DataflowAnalysisContext.h
The file was modifiedclang/lib/Analysis/FlowSensitive/DataflowAnalysisContext.cpp
Commit 34ae308c73e4d76dbdab25a6206d3fbc5ebafdf5 by mkazantsev
[SCEV] Use context to strengthen flags of BinOps

Sometimes SCEV cannot infer nuw/nsw from something as simple as
```
  len in [0, MAX_INT]
...
  iv = phi(0, iv.next)
  guard(iv <s len)
  guard(iv <u len)
  iv.next = iv + 1
```
just because flag strenthening only relies on definition and does not use local facts.
This patch adds support for the simplest case: inference of flags of `add(x, constant)`
if we can contextually prove that `x <= max_int - constant`.

In case if it has negative CT impact, we can add an option to switch it off. I woudln't
expect that though.

Differential Revision: https://reviews.llvm.org/D129643
Reviewed By: apilipenko
The file was modifiedllvm/include/llvm/Analysis/ScalarEvolution.h
The file was modifiedllvm/test/Transforms/IndVarSimplify/X86/pr35406.ll
The file was modifiedllvm/test/Transforms/IndVarSimplify/bbi-63564.ll
The file was modifiedllvm/test/Transforms/IndVarSimplify/trivial-guard.ll
The file was modifiedllvm/test/Transforms/IndVarSimplify/finite-exit-comparisons.ll
The file was modifiedllvm/lib/Analysis/ScalarEvolution.cpp
The file was modifiedllvm/test/Transforms/IndVarSimplify/AArch64/widen-loop-comp.ll
The file was modifiedllvm/test/Transforms/IndVarSimplify/eliminate-comparison.ll
The file was modifiedllvm/test/Transforms/IndVarSimplify/loop-predication.ll
The file was modifiedllvm/test/Transforms/IndVarSimplify/cycled_phis.ll
The file was modifiedllvm/test/Transforms/LoopUnroll/runtime-loop-multiple-exits.ll
The file was modifiedllvm/test/Transforms/IndVarSimplify/X86/iv-widen.ll
Commit b128e057c191a441e3778ffc872ffca943b2e5b1 by npopov
[AA] Make ModRefInfo a bitmask enum (NFC)

Mark ModRefInfo as a bitmask enum, which allows using normal
& and | operators on it. This supersedes various functions like
unionModRef() and intersectModRef(). I think this makes the code
cleaner than going through helper functions...

Differential Revision: https://reviews.llvm.org/D130870
The file was modifiedllvm/lib/Analysis/BasicAliasAnalysis.cpp
The file was modifiedllvm/include/llvm/Analysis/AliasAnalysis.h
The file was modifiedllvm/lib/Transforms/Scalar/LoopIdiomRecognize.cpp
The file was modifiedllvm/lib/Analysis/AliasSetTracker.cpp
The file was modifiedllvm/lib/Analysis/AliasAnalysis.cpp
The file was modifiedllvm/lib/Analysis/GlobalsModRef.cpp
The file was modifiedllvm/lib/Target/Hexagon/HexagonLoopIdiomRecognition.cpp
Commit 5bbb0a831fe514ae27e7f36e828975152e7c17c4 by chen3.liu
[X86] Using `X86MemOperand` instead of `Operand` for `i32mem_TC` and `i64mem_TC`

To fix build fail when X86_GEN_FOLD_TABLES is enabled.

Differential Revision: https://reviews.llvm.org/D131049
The file was modifiedllvm/lib/Target/X86/X86InstrInfo.td
Commit 3285f94244ecda0912c76c9b1e9b16e0cf96d073 by pifon
[mlir] Disable `misc-const-correctness` clang-tidy check.

https://clang.llvm.org/extra/clang-tidy/checks/misc/const-correctness.html
The file was modifiedmlir/.clang-tidy
Commit d0bfebda5b789621dd97b5dca0bd2082a82e82d9 by jannik.silvanus
[Docs] Improve cycle and closed path definitions

Improve the cycle definition, by avoiding usage of not yet defined
or only vaguely defined terminology inside definitions.
More precisely, the existing definition defined "outermost cycles",
and then proceeded to use the term "cycles" for further definitions,
which in turn were used to actually define "cycles".

Now, instead only define "cycles". This does not change the meaning
of a cycle, which depends on the chosen surrounding (subgraph) of a CFG.

Also mention the function CFG in the first definition, because later
later definitions require it anyways.

Also slightly improve the definition of a closed path, by explicitly
requiring the inner nodes to be distinct.

Differential Revision: https://reviews.llvm.org/D130891
The file was modifiedllvm/docs/CycleTerminology.rst
The file was modifiedllvm/include/llvm/ADT/GenericCycleInfo.h
Commit 3d51e2727d21ddf1ba87784635513393c8dc0098 by dawid_jurek
[NFC] Remove some boilerplate from SmallVector unit tests

In SmallVector unit test, referring test suite members every time using 'this'
(due to how non-dependent name lookups works) is quite cumbersome and can be improved with aliases.
Some test cases already use this approach, in this change we expand that approach to whole test file.

Differential Revision: https://reviews.llvm.org/D129990
The file was modifiedllvm/unittests/ADT/SmallVectorTest.cpp
Commit 11e52ecf74e942b738fa8496960bbb2f0a7373de by tbaeder
[clang] Short-circuit trivial constructors when evaluating arrays

VisitCXXConstructExpr() will later do something similar, but for large
arrays, we should try to do it once an not for every element.

Fixes #56774

Differential Revision: https://reviews.llvm.org/D130791
The file was modifiedclang/docs/ReleaseNotes.rst
The file was modifiedclang/lib/AST/ExprConstant.cpp
Commit 48c401a60e5c4ab46bc0474a794eabebfdf1b20d by nicolai.haehnle
ManagedStatic: remove from TimeProfiler

Differential Revision: https://reviews.llvm.org/D129121
The file was modifiedllvm/lib/Support/TimeProfiler.cpp
Commit 2fe3589acdbb87a6beb6173bb9b56d1bdab95d6a by nicolai.haehnle
ManagedStatic: remove from PluginLoader

Differential Revision: https://reviews.llvm.org/D129123
The file was modifiedllvm/lib/Support/PluginLoader.cpp
Commit 34e814a00cb071059b9f7626c9456891409075ac by markus.boeck02
[CMake] Make split-file an utility instead of tool

`split-file` is essentially a development tool used for writing tests. Other related tooling for this purpose such as `FileCheck`, `count`, `not` and more are already created via `add_llvm_utility` instead of `add_llvm_tool`. The later is more meant as LLVM tools used as part of a toolchain (eg. `llvm-ar`), not for tools for the development of LLVM itself.

The main semantic difference this makes is that `split-file` is now built and installed via the `LLVM_INSTALL_UTILS` and `LLVM_BUILD_UTILS` instead of `LLVM_BUILD_TOOLS` and `LLVM_INSTALL_TOOLS` cmake flags. That way one can use `LLVM_BUILD_TOOLS=OFF LLVM_INSTALL_UTILS=ON` and have `split-file` installed along side the other testing tools.

Differential Revision: https://reviews.llvm.org/D130977
The file was modifiedllvm/tools/split-file/CMakeLists.txt
Commit f4b9c0735e339b177d98fe69cf210eea00c0af62 by tbaeder
[clang][NFC] Try to fix the docs build
The file was modifiedclang/docs/ReleaseNotes.rst
Commit 7ae5d00afaf39fae78e411cb44f665e1dc52b356 by jreiffers
Fix a stack overflow in ScalarEvolution.

Unfortunately, this overflow is extremely hard to reproduce reliably (in fact, I was unable to do so). The issue is that:

- getOperandsToCreate sometimes skips creating an SCEV for the LHS
- then, createSCEV is called for the BinaryOp
- ... which calls getNoWrapFlagsFromUB
- ... which under certain circumstances calls isSCEVExprNeverPoison
- ... which under certain circumstances requires the SCEVs of all operands

For certain deep dependency trees, this causes a stack overflow.

Reviewed By: bkramer, fhahn

Differential Revision: https://reviews.llvm.org/D129745
The file was modifiedllvm/lib/Analysis/ScalarEvolution.cpp
Commit c2066d19cda20d0e98b95da1493e6c3f26fd9618 by phoebe.wang
[X86][MC] Always emit `rep` prefix for `bsf`

`BMI` new instruction `tzcnt` has better performance than `bsf` on new
processors. Its encoding has a mandatory prefix '0xf3' compared to
`bsf`. If we force emit `rep` prefix for `bsf`, we will gain better
performance when the same code run on new processors.

GCC has already done this way: https://c.godbolt.org/z/6xere6fs1

Fixes #34191

Reviewed By: skan

Differential Revision: https://reviews.llvm.org/D130956
The file was modifiedllvm/test/CodeGen/X86/peephole-na-phys-copy-folding.ll
The file was modifiedllvm/test/CodeGen/X86/stack-folding-x86_64.ll
The file was modifiedllvm/lib/Target/X86/X86MCInstLower.cpp
The file was modifiedllvm/test/CodeGen/X86/clz.ll
The file was modifiedllvm/test/CodeGen/X86/dagcombine-select.ll
Commit 646e2f48033626cb6ca6d45825b0cbe98ec29ec1 by fraser
[VP] Rename VP int<->float conversion ISD opcodes

These should be named like the non-VP versions for consistency.

Reviewed By: reames

Differential Revision: https://reviews.llvm.org/D130967
The file was modifiedllvm/lib/Target/RISCV/RISCVISelLowering.cpp
The file was modifiedllvm/include/llvm/IR/VPIntrinsics.def
The file was modifiedllvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
The file was modifiedllvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
Commit 3e9e43b48eb7a6a9b317e4c32ba0ee672630842b by jreiffers
Fix compiler error: init-statements in if/switch.

Reviewed By: pifon2a

Differential Revision: https://reviews.llvm.org/D131061
The file was modifiedllvm/lib/Analysis/ScalarEvolution.cpp
Commit 75747e6e11aed9ed75d27527e9262cedb2e3f887 by ro
[mlir] Fix Analysis/Presburger/Utils.cpp compilation with GCC 11

As reported in Issue #56850, mlir/lib/Analysis/Presburger/Utils.cpp doesn't
compile on Solaris 11.4/SPARC with the bundled GCC 11, as seen when testing
LLVM 15.0.0 rc1:

  /var/llvm/reltest/llvm-15.0.0-rc1/rc1/llvm-project/mlir/include/mlir/Analysis/Presburger/MPInt.h:260:47:
error: inlining failed in call to ‘always_inline’ ‘int64_t
mlir::presburger::int64FromMPInt(const mlir::presburger::MPInt&)’: indirect
function call with a yet undetermined callee

This patch hacks around this and allowed the build to finish.

Tested on `sparcv9-sun-solaris2.11`.

Differential Revision: https://reviews.llvm.org/D131060
The file was modifiedmlir/include/mlir/Analysis/Presburger/MPInt.h

Summary

  1. [llvm-test-suite][Fortran] Temporarily disable some tests (details)
Commit 797d937f8af2cb553889f8ceca03bee5855e62d4 by diana.picus
[llvm-test-suite][Fortran] Temporarily disable some tests

At the moment, the clang-aarch64-full-2stage buildbot is running the
test-suite with `flang-to-external-fc`, relying on `gfortran` for the
code generation. I'd like to switch it to using `flang-new` instead
(see https://reviews.llvm.org/D130628). However, some of the tests
currently fail, so this patch temporarily skips them until they are
fixed.
The file was modifiedFortran/UnitTests/fcvs21_f95/CMakeLists.txt (diff)