SuccessChanges

Summary

  1. [VE] use local cache (details)
  2. There is a need to allow SanitizerBuilder to accept extra args so cmake args (details)
  3. By default all threads available on the machines are being used by the (details)
The file was modifiedbuildbot/osuosl/master/config/builders.py (diff)
Commit 110a39811261ab69894fe77a69813f08a8c1f1a9 by conanap
There is a need to allow SanitizerBuilder to accept extra args so cmake args
can be passed in, in turn allowing us to specify -j with cmake.

Differential revision: https://reviews.llvm.org/D98645
The file was modifiedzorg/buildbot/builders/SanitizerBuilder.py (diff)
The file was modifiedzorg/buildbot/builders/sanitizers/buildbot_selector.py (diff)
The file was modifiedzorg/buildbot/builders/sanitizers/buildbot_cmake.sh (diff)
Commit d35a34176134f257209753e64283cc7734ea2afa by conanap
By default all threads available on the machines are being used by the
Buildbot. This patch limits the use of threads to 256.

Differential revision: https://reviews.llvm.org/D98647
The file was modifiedbuildbot/osuosl/master/config/builders.py (diff)

Summary

  1. [clang][Checkers] Fix PthreadLockChecker state cleanup at dead symbol. (details)
  2. [KnownBits] Rename KnownBits::computeForMul to KnownBits::mul. NFCI. (details)
  3. [IR] Ignore bitcasts of function pointers which are only used as callees in callbase instruction (details)
  4. [PhaseOrdering] Add PR45687 test coverage (details)
  5. [test, AArch64] Fix use of var defined in CHECK-NOT (details)
  6. [lldb] Improve CPUInfo test predicate (details)
  7. [RISCV][Clang] Add some RVV Integer intrinsic functions. (details)
  8. [RISCV][Clang] Add RVV vnsra, vnsrl and vwmul intrinsic functions. (details)
  9. [RISCV][Clang] Add RVV Widening Integer Extension intrinsic functions. (details)
  10. [RISCV][Clang] Add more RVV Integer intrinsic functions. (details)
  11. [RISCV][Clang] Add all RVV Fixed-Point Arithmetic intrinsic functions. (details)
  12. [lsan][test] Disable many_tls_keys_pthread.cpp on AArch64 (details)
  13. [rt] Update DIPrinter usage in 'sanitizer_symbolize.cpp`. (details)
  14. [AMDGPU] Regenerate checks to fix prefixes broken in D96340. NFC. (details)
  15. [CostModel][X86] Improve accuracy of vXi8 multiply reduction costs (details)
  16. [LLDB] Fix building for aarch64 windows after d6d3d21cd1cb1567eaf7ff8c0867b07227a19d99 (details)
  17. [CMake] Fix Python 3 lookup when building LLVM with tests (details)
  18. [AMDGPU][MC][GFX9] Corrected SMEM decoding (details)
  19. [VPlan] Print VPValue operands for VPWidenPHI if possible. (details)
  20. [LoopVectorize] Change the identity element for FAdd (details)
  21. Silence -Woverloaded-virtual warnings from generated code; NFC (details)
  22. [SystemZ][z/OS][Windows] Add new OF_TextWithCRLF flag and use this flag instead of OF_Text (details)
  23. Don't directly dereference getAs<> casts to avoid potential null dereferences. NFCI. (details)
  24. LoopFlatten - CanWidenIV - Fix uninitialized variable warnings and use for-range loop. NFCI. (details)
  25. [AMDGPU] Fix typo in regular expression checks. NFC. (details)
  26. [mlir] Fix support for lowering non-32-bit affine reductions. (details)
  27. [InstCombine] Add PR45984 test case (details)
  28. [AMDGPU] Fix dubious regexes with unescaped brackets. NFC. (details)
  29. [lldb][NFC] Fix misleading indentation in Cocoa.cpp (details)
  30. [X86] Add ANDN test case for PR48768 (details)
  31. [NFC][InstCombine] Add tests for '((X - Y) - Z)' pattern (PR49858) (details)
  32. [InstCombine] Fold `((X - Y) - Z)` to `X - (Y + Z)` (PR49858) (details)
  33. [NFC][Clang] Speculative fix for builtins-ppc-quadword-noi128.c (details)
  34. [X86] Improve optimizeCompareInstr for signed comparisons after ANDN instructions (details)
  35. [InstCombine] Add PR38929 test case (details)
  36. [LoopVectorize] Add strict in-order reduction support for fixed-width vectorization (details)
  37. [AMDGPU][SDag] Add IMG init also for image_gather4 instructions (details)
  38. [llvm-symbolizer] Don't use the same 'OutputStyle' name for the enum type and instance. NFCI. (details)
  39. [AMDGPU] SIFoldOperands: use getVRegDef instead of getUniqueVRegDef (details)
  40. [AMDGPU] SIFoldOperands: rename tryFoldInst to tryFoldCndMask (details)
  41. [AMDGPU] SIFoldOperands: use range-based loops and make_early_inc_range (details)
  42. [AMDGPU] SIFoldOperands: use MachineRegisterInfo::hasOneNonDBGUser (details)
  43. Avoid unused variable warning in Release builds (details)
  44. Revert "[IR] Ignore bitcasts of function pointers which are only used as callees in callbase instruction" (details)
  45. [Windows] Turn off text mode correctly in Rewriter to stop CRLF translation (details)
  46. Remove last remnants of PR49607 migration [NFC] (details)
  47. AMDGPU: Add isBranch=1 to SOPP branch instructions (details)
  48. [ObjC] Add a command line flag that disables recognition of objc_direct for testability (details)
  49. [clang][clangd] Avoid inconsistent target creation (details)
  50. [MLIR, test] Fix use of undef FileCheck var (details)
  51. [CMake][Compiler-rt] Compute `LLVM_MAIN_SRC_DIR` assuming the monorepo (details)
  52. [CMake][Compiler-rt] Make it possible to configure standalone compiler-rt without `LLVMConfig.cmake`. (details)
  53. Move GCRelocateInst and GCResultInst to IntrinsicInst.h [nfc] (details)
  54. [SystemZ][z/OS] correct rc and errno within nanosleep() (details)
  55. [mlir][Linalg] Fix fusion on tensors operands / bbArg mismatch (details)
  56. [X86][SSE] canonicalizeShuffleWithBinOps - add MOVSD/MOVSS handling. (details)
  57. [AIX][TLS] Add support for TLS variables to XCOFF object writer (details)
  58. [MLIR, test] Fix use of undef FileCheck var (details)
  59. [test, GVN] Fix use of var defined in CHECK-NOT (details)
  60. [index] Improve macro indexing support (details)
  61. [Sanitizer] Adopt Python 3 for iOS simulator test scripts (details)
  62. [lldb] Fix bug where memory read --outfile is not truncating the file (details)
  63. [mlir][linalg] Add helpers for linalg.tiled_loop [nfc]. (details)
  64. Pass -fcrash-diagnostics-dir along to LLVM (details)
  65. [llvm-reduce] Remove unwanted module inline asm (details)
  66. [libcxx] adds remaining callable concepts (details)
  67. [lldb] Format Plugins/Language/ObjC/Cocoa.cpp (NFC) (details)
  68. [AMDGPU] SIFoldOperands: use isUseMIInFoldList. NFC. (details)
  69. [RISCV] Add helper function to share some of the code for isel of vector load/store intrinsics. (details)
  70. [libcxx] [test] Use dedicated types for the invocable concept tests for multiple overloads (details)
  71. [libcxx] Fix the type attribute for a couple templates (details)
  72. [mlir][python] Add missing affine map compression test (details)
  73. [SimplifyInst] Use correct type for GEPs with vector indices. (details)
  74. [lldb] Fix else-after-return in AppleObjCRuntimeV2 (NFC) (details)
  75. [GVN] Add missing ICF update (details)
  76. [libcxx] [test] Allow C:\System Volume Information to be missing (details)
  77. Fix f6ee97d8271e1dfd9b6572222fefe8f40433952e: (details)
  78. Add a subclass of IntrinsicInst for llvm.assume [nfc] (details)
  79. [lld-macho] Rename SubsectionMapping to SubsectionMap (details)
  80. [lld-macho] clang-format cleanup (details)
  81. More precisely type code used for gc.relocate assertions [nfc] (details)
  82. [NewPM] Fix -Wunused-lambda-capture in -DLLVM_ENABLE_ASSERTIONS=off builds after D91327 (details)
  83. [PowerPC] Materialize 34-bit constants with pli directly (details)
  84. [MLIR, test] Fix use of undef FileCheck var (details)
  85. [lld-macho][nfc] Rename some tests (details)
  86. [lld-macho][nfc] Remove HelpHidden from aliases to implemented flags (details)
  87. [lld-macho] Fix & refactor symbol size calculations (details)
  88. [mlir] Remove no-op array assignment in dictionaryAttrSort(). (details)
  89. [libc++] Post-commit review on D99928. (details)
  90. [libc++] Header inclusion tests. (details)
  91. [Windows] Add test coverage for line endings when rewriting includes (details)
  92. [clang-tidy] performance-* checks: Match AllowedTypes against qualified type names when they contain "::". (details)
  93. Let clang atomic builtins fetch add/sub support floating point types (details)
  94. [ASan][RISCV] Fix RISC-V memory mapping (details)
  95. [lit testing] Fix xfail-cl.py test worker count (details)
  96. [mlir] Hoist out getRequestedOpDefinitions helper (details)
  97. Plumb AssumeInst through operand bundle apis [nfc] (details)
  98. [NVPTX] Handle bitcast and ASC(101) when trying to avoid argument copy. (details)
  99. [test, AArch64] Fix use of var defined in CHECK-NOT (details)
  100. [libc++] NFCI: Fix test pinning down RTTI implementation on Apple platforms (details)
  101. Use AssumeInst in a few more places [nfc] (details)
  102. Replace calls to IntrinsicInst::Create with CallInst::Create [nfc] (details)
  103. Thread safety analysis: Don't warn about managed locks on join points (details)
  104. [mlir][tosa] Add tosa.table lowering to linalg.generic (details)
  105. [docs] Update documentation for bugprone-misplaced-widening-cast (details)
  106. [SplitEdge] Update SplitCriticalEdge to return a nullptr only when the edge is not critical (details)
  107. [MLIR] [Python] Add capsule methods for pybind11 to PyOperation (details)
  108. [MachineValueTypes] Add blank lines between floating point vectors with different element types. NFC (details)
  109. [lld-macho] Symbol::value should always be uint64_t (details)
  110. [OpenMP] Define omp_is_initial_device() variants in omp.h (details)
  111. [RISCV] Don't custom type legalize fixed vector to scalar integer bitcasts if the fixed vector type isn't legal. (details)
  112. [flang] Improve constant folding for type parameter inquiries (details)
  113. [docs] Fix doxygen comments wrongly attached to the llvm namespace (details)
  114. [RISCV] Add an assertion to the ReplaceNodeResults handling of bitcasts to make sure the VT is always a scalar integer. (details)
  115. [HIP] Change to code object v4 (details)
  116. Minor fix for test hip-code-object-version.hip (details)
  117. [shape] Add min and max ops (details)
  118. Add missing CHECK lines in test (details)
  119. [NewPM] Set verify-cfg-preserved=1 by default for debug builds (details)
  120. Removed redundant code. (details)
  121. [dsymutil] Don't emit .debug_pubnames and .debug_pubtypes (details)
  122. [dsymutil] Don't keep old abbreviations (details)
  123. [dsymutil] Stop emulating dsymutil-classic CIE caching behavior (details)
  124. [mlir,shape] Add max/min folder for simple case (details)
  125. Revert "[InstCombine] Fold `((X - Y) - Z)` to `X - (Y + Z)` (PR49858)" (details)
  126. [libcxx] fixes `common_reference` requirement for `swappable_with` (details)
  127. Revert "[NFC][Clang] Speculative fix for builtins-ppc-quadword-noi128.c" (details)
Commit bee4813789a378584d43c65497a5efd2353a6606 by 1.int32
[clang][Checkers] Fix PthreadLockChecker state cleanup at dead symbol.

It is possible that an entry in 'DestroyRetVal' lives longer
than an entry in 'LockMap' if not removed at checkDeadSymbols.
The added test case demonstrates this.

Reviewed By: NoQ

Differential Revision: https://reviews.llvm.org/D98504
The file was modifiedclang/lib/StaticAnalyzer/Checkers/PthreadLockChecker.cpp
The file was modifiedclang/test/Analysis/pthreadlock.c
Commit ddbb58736a3f58b7eed1c0388395504610e5bb68 by llvm-dev
[KnownBits] Rename KnownBits::computeForMul to KnownBits::mul. NFCI.

As promised in D98866
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
The file was modifiedllvm/include/llvm/Support/KnownBits.h
The file was modifiedllvm/lib/Target/ARM/ARMISelLowering.cpp
The file was modifiedllvm/lib/CodeGen/GlobalISel/GISelKnownBits.cpp
The file was modifiedllvm/lib/Analysis/ValueTracking.cpp
The file was modifiedllvm/lib/Support/KnownBits.cpp
The file was modifiedllvm/unittests/Support/KnownBitsTest.cpp
Commit 167ea67d76c297eb5dd3fa5f4ffc3c85e1842faa by Madhur.Amilkanthwar
[IR] Ignore bitcasts of function pointers which are only used as callees in callbase instruction

This patch enhances hasAddressTaken() to ignore bitcasts as a
callee in callbase instruction. Such bitcast usage doesn't really take
the address in a useful meaningful way.

Reviewed By: rampitec

Differential Revision: https://reviews.llvm.org/D98884
The file was addedllvm/test/Transforms/GlobalOpt/bitcast-callees-fastcc.ll
The file was modifiedllvm/test/Transforms/OpenMP/parallel_deletion_cg_update.ll
The file was addedllvm/test/Analysis/CallGraph/ignore-bitcast-call-argument-callee.ll
The file was addedllvm/test/Transforms/GlobalOpt/blockaddr-bitcast-fastcc.ll
The file was modifiedllvm/test/Transforms/SCCP/arg-count-mismatch.ll
The file was modifiedllvm/test/Transforms/SCCP/arg-type-mismatch.ll
The file was modifiedllvm/lib/IR/Function.cpp
The file was addedllvm/test/Analysis/CallGraph/ignore-bitcast-call-argument.ll
The file was modifiedllvm/test/Transforms/Attributor/IPConstantProp/arg-count-mismatch.ll
The file was addedllvm/test/Transforms/GlobalOpt/bitcast-call-argument-fastcc.ll
The file was addedllvm/test/Analysis/CallGraph/ignore-bitcast-callees2.ll
The file was modifiedllvm/test/Transforms/Attributor/IPConstantProp/arg-type-mismatch.ll
The file was addedllvm/test/Transforms/GlobalOpt/assumelike-bitcast-fastcc.ll
The file was modifiedllvm/lib/Transforms/IPO/GlobalOpt.cpp
The file was addedllvm/test/Analysis/CallGraph/ignore-bitcast-callees.ll
Commit 2fc761aac93a8e2afef4a6dc618032bb97d8b9de by llvm-dev
[PhaseOrdering] Add PR45687 test coverage

This is a mixture of instcombine/simplfycfg/instcombine to recognise and then remove the abs pattern
The file was addedllvm/test/Transforms/PhaseOrdering/pr45687.ll
Commit 638d70be6b931c6ac5b7fefb9f3e866e4a89522c by thomasp
[test, AArch64] Fix use of var defined in CHECK-NOT

LLVM test CodeGen/AArch64/aarch64-tbz.ll tries to check for the absence
of a sequence of instructions with several CHECK-NOT with one of those
directives using a variable defined in another. However CHECK-NOT are
checked independently so that is using a variable defined in a pattern
that should not occur in the input.

This commit removes the definition and uses of variable to check each
line independently, making the check stronger than the current one. It
also removes unnecessary regex match for labels.

Reviewed By: dmgreen

Differential Revision: https://reviews.llvm.org/D99602
The file was modifiedllvm/test/CodeGen/AArch64/aarch64-tbz.ll
Commit f8f4d8f87ba4c1fbb18a4e7f4a5ea03a8b8ec061 by david.spickett
[lldb] Improve CPUInfo test predicate

Use a with block for reading the cpuinfo file.

When loading the file fails (or we're not on Linux)
return an empty string. Since all the callers are
going to do "x in self.getCPUInfo()".

Reviewed By: omjavaid

Differential Revision: https://reviews.llvm.org/D99729
The file was modifiedlldb/packages/Python/lldbsuite/test/lldbtest.py
Commit 66c05609e0d5b758295b3c20d3dde4f3c3cda673 by zakk.chen
[RISCV][Clang] Add some RVV Integer intrinsic functions.

1. Rename RVVBinBuiltin to RVVOutputOp1Builtin because it is not related
to the number of operand.
2. Add RVV Integer instuctions which use RVVOutputOp1Builtin.

Reviewed By: craig.topper

Authored-by: Roger Ferrer Ibanez <rofirrim@gmail.com>
Co-Authored-by: Zakk Chen <zakk.chen@sifive.com>

Differential Revision: https://reviews.llvm.org/D99524
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vmul.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vmin.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vsra.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics/vsrl.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vsll.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics/vor.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics/vnmsub.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics/vrem.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics/vmacc.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics/vsub.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vmax.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vrem.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vrsub.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vor.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vnmsub.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics/vrsub.c
The file was modifiedclang/include/clang/Basic/riscv_vector.td
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vsrl.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vsub.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vand.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vmacc.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vnmsac.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics/vmadd.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics/vxor.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics/vsll.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics/vand.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics/vnmsac.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics/vsra.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vmadd.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vxor.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics/vmul.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics/vmin.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vdiv.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics/vdiv.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics/vmax.c
Commit 0a18ea01f19757c7b94bab8d7a9130b78136c6c1 by zakk.chen
[RISCV][Clang] Add RVV vnsra, vnsrl and vwmul intrinsic functions.

Reviewed By: craig.topper

Authored-by: Roger Ferrer Ibanez <rofirrim@gmail.com>
Co-Authored-by: Zakk Chen <zakk.chen@sifive.com>

Differential Revision: https://reviews.llvm.org/D99525
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics/vnsra.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vnsrl.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics/vnsrl.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vnsra.c
The file was modifiedclang/include/clang/Basic/riscv_vector.td
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vwmul.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics/vwmul.c
Commit f720c22e77290187a53fc85cb8d34c313ad07e47 by zakk.chen
[RISCV][Clang] Add RVV Widening Integer Extension intrinsic functions.

Reviewed By: HsiangKai

Authored-by: Roger Ferrer Ibanez <rofirrim@gmail.com>
Co-Authored-by: Zakk Chen <zakk.chen@sifive.com>

Differential Revision: https://reviews.llvm.org/D99527
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vsext.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vzext.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics/vsext.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics/vzext.c
The file was modifiedclang/include/clang/Basic/riscv_vector.td
Commit fe252b509ee6e8925219b97a189569c8d33c91f2 by zakk.chen
[RISCV][Clang] Add more RVV Integer intrinsic functions.

Support below instructions.
1. Vector Integer Add-with-Carry / Subtract-with-Borrow Instructions
2. Vector Integer Comparison Instructions
3. Vector Widening Integer Multiply-Add Instructions

Reviewed By: HsiangKai

Authored-by: Roger Ferrer Ibanez <rofirrim@gmail.com>
Co-Authored-by: Zakk Chen <zakk.chen@sifive.com>

Differential Revision: https://reviews.llvm.org/D99528
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics/vmslt.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vmsgt.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vmadc.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vmsle.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics/vmadc.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics/vmsbc.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics/vwmacc.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics/vmseq.c
The file was modifiedclang/include/clang/Basic/riscv_vector.td
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vmsne.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vwmacc.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics/vadc.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vsbc.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vmseq.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics/vmsle.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics/vmsne.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics/vmsgt.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vmsbc.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vmslt.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics/vsbc.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vadc.c
Commit f2a3601aa5a513e8d8a76cba84434fbfe4a71f10 by zakk.chen
[RISCV][Clang] Add all RVV Fixed-Point Arithmetic intrinsic functions.

Reviewed By: HsiangKai

Authored-by: Roger Ferrer Ibanez <rofirrim@gmail.com>
Co-Authored-by: Zakk Chen <zakk.chen@sifive.com>

Differential Revision: https://reviews.llvm.org/D99610
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vaadd.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics/vssub.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vssrl.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vsadd.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics/vsadd.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics/vsmul.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vasub.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics/vnclip.c
The file was modifiedclang/include/clang/Basic/riscv_vector.td
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vsmul.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vnclip.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vssra.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vssub.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics/vssrl.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics/vaadd.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics/vssra.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics/vasub.c
Commit 34f8a7f93c98b7c189f9684d0d207ab42aca166f by david.spickett
[lsan][test] Disable many_tls_keys_pthread.cpp on AArch64

Partially reverts 04dbb63400c5fa2f263d7473272509be572a367a.

This test requires 9be8f8b34d9b150cd1811e3556fe9d0cd735ae29
which is/has been reverted a few times but this test was
left enabled.

Currently that change is reverted and this test is failing:
http://lab.llvm.org:8011/#/builders/7/builds/2327
The file was modifiedcompiler-rt/test/lsan/TestCases/many_tls_keys_pthread.cpp
Commit f6ee97d8271e1dfd9b6572222fefe8f40433952e by pifon
[rt] Update DIPrinter usage in 'sanitizer_symbolize.cpp`.

These changes were required after
https://github.com/llvm/llvm-project/commit/5f57793c4fe47aa3486a755768b43189351cbd15

Differential Revision: https://reviews.llvm.org/D99937
The file was modifiedcompiler-rt/lib/sanitizer_common/symbolizer/sanitizer_symbolize.cpp
Commit 6eb5b06ecfe4c3263e3df891123959fffe24d32a by jay.foad
[AMDGPU] Regenerate checks to fix prefixes broken in D96340. NFC.
The file was modifiedllvm/test/CodeGen/AMDGPU/mul24-pass-ordering.ll
Commit 201877d57264543d8ac5ca48f15bc0bc7c80b8ce by llvm-dev
[CostModel][X86] Improve accuracy of vXi8 multiply reduction costs

After rG47321c311bdbe0145b9bf45d822185c37b19fa50 we promote vXi8 reductions to vXi16 to create a much faster PMULLW mul reduction, followed by a (free) truncation. This avoids the high cost of repeated vXi8 multiplications (which extend+multiply+truncate to/from vXi16 types....).

Fixes the missing vXi8 mul reduction vectorization in PR42674 (Comment #20) 'mul16' test case.
The file was modifiedllvm/lib/Target/X86/X86TargetTransformInfo.cpp
The file was modifiedllvm/test/Analysis/CostModel/X86/reduce-mul.ll
Commit 476e087939e4c7cda4de9fa3bc998aea62da4096 by martin
[LLDB] Fix building for aarch64 windows after d6d3d21cd1cb1567eaf7ff8c0867b07227a19d99

Differential Revision: https://reviews.llvm.org/D99847
The file was modifiedlldb/source/Plugins/Process/Windows/Common/NativeRegisterContextWindows_arm64.cpp
Commit b78e883fd8b3745250220776dd8bb635edd95539 by dominik.montada
[CMake] Fix Python 3 lookup when building LLVM with tests

Remove the find_package(Python3 ...) call from Tooling/CMakeLists.txt as
it would override the python 3 version determined in llvm/CMakeLists.txt.
This call did not respect the LLVM_MINIMUM_PYTHON_VERSION.

This fixes the check-all target when building LLVM on a system where the
default python version is not the minimum required version for running tests.

Reviewed By: serge-sans-paille

Differential Revision: https://reviews.llvm.org/D99715
The file was modifiedclang/lib/Tooling/CMakeLists.txt
Commit 3eadcb86abd2259e398c9c1ff81d5509bfeeb7df by dmitry.preobrazhensky
[AMDGPU][MC][GFX9] Corrected SMEM decoding

Corrected SMEM decoding when IMM=0 and OFFSET>127

Fixed bug 49819 (https://bugs.llvm.org/show_bug.cgi?id=49819)

Differential Revision: https://reviews.llvm.org/D99804
The file was modifiedllvm/test/MC/Disassembler/AMDGPU/smem_gfx9.txt
The file was modifiedllvm/lib/Target/AMDGPU/SMInstructions.td
Commit a6b06b785cda1bb94dd05f29d66892ccb44cf0cd by flo
[VPlan] Print VPValue operands for VPWidenPHI if possible.

For VPWidenPHIRecipes that model all incoming values as VPValue
operands, print those operands instead of printing the original PHI.

D99294 updates recipes of reduction PHIs to use the VPValue for the
incoming value from the loop backedge, making use of this new printing.
The file was modifiedllvm/unittests/Transforms/Vectorize/VPlanHCFGTest.cpp
The file was modifiedllvm/lib/Transforms/Vectorize/VPlan.cpp
Commit 857b8a73da91e9036cf27f47939ee387966306c6 by kerry.mclaughlin
[LoopVectorize] Change the identity element for FAdd

Changes getRecurrenceIdentity to always return a neutral value of -0.0 for FAdd.

Reviewed By: dmgreen, spatel

Differential Revision: https://reviews.llvm.org/D98963
The file was modifiedllvm/lib/Analysis/IVDescriptors.cpp
The file was modifiedllvm/test/Transforms/LoopVectorize/X86/reduction-fastmath.ll
The file was modifiedllvm/lib/Transforms/Vectorize/LoopVectorize.cpp
The file was modifiedllvm/include/llvm/Analysis/IVDescriptors.h
Commit 65c22acfa4a412066e47c3171ff26fcbd62f970e by aaron
Silence -Woverloaded-virtual warnings from generated code; NFC
The file was modifiedclang/utils/TableGen/ClangAttrEmitter.cpp
Commit 82b3e28e836d2f5c8cfd6e1047b93c088522365a by Abhina.Sreeskantharajan
[SystemZ][z/OS][Windows] Add new OF_TextWithCRLF flag and use this flag instead of OF_Text

Problem:
On SystemZ we need to open text files in text mode. On Windows, files opened in text mode adds a CRLF '\r\n' which may not be desirable.

Solution:
This patch adds two new flags

  - OF_CRLF which indicates that CRLF translation is used.
  - OF_TextWithCRLF = OF_Text | OF_CRLF indicates that the file is text and uses CRLF translation.

Developers should now use either the OF_Text or OF_TextWithCRLF for text files and OF_None for binary files. If the developer doesn't want carriage returns on Windows, they should use OF_Text, if they do want carriage returns on Windows, they should use OF_TextWithCRLF.

So this is the behaviour per platform with my patch:

z/OS:
OF_None: open in binary mode
OF_Text : open in text mode
OF_TextWithCRLF: open in text mode

Windows:
OF_None: open file with no carriage return
OF_Text: open file with no carriage return
OF_TextWithCRLF: open file with carriage return

The Major change is in llvm/lib/Support/Windows/Path.inc to only set text mode if the OF_CRLF is set.
```
  if (Flags & OF_CRLF)
    CrtOpenFlags |= _O_TEXT;
```

These following files are the ones that still use OF_Text which I left unchanged. I modified all these except raw_ostream.cpp in recent patches so I know these were previously in Binary mode on Windows.
./llvm/lib/Support/raw_ostream.cpp
./llvm/lib/TableGen/Main.cpp
./llvm/tools/dsymutil/DwarfLinkerForBinary.cpp
./llvm/unittests/Support/Path.cpp
./clang/lib/StaticAnalyzer/Core/HTMLDiagnostics.cpp
./clang/lib/Frontend/CompilerInstance.cpp
./clang/lib/Driver/Driver.cpp
./clang/lib/Driver/ToolChains/Clang.cpp

Reviewed By: MaskRay

Differential Revision: https://reviews.llvm.org/D99426
The file was modifiedclang/lib/Frontend/FrontendActions.cpp
The file was modifiedllvm/lib/MC/MCParser/DarwinAsmParser.cpp
The file was modifiedllvm/tools/opt/opt.cpp
The file was modifiedclang/lib/Serialization/ASTReader.cpp
The file was modifiedclang/tools/clang-refactor/ClangRefactor.cpp
The file was modifiedllvm/lib/CodeGen/RegAllocPBQP.cpp
The file was modifiedllvm/tools/llvm-dis/llvm-dis.cpp
The file was modifiedllvm/tools/llvm-link/llvm-link.cpp
The file was modifiedclang/lib/StaticAnalyzer/Core/SarifDiagnostics.cpp
The file was modifiedllvm/include/llvm/Support/FileSystem.h
The file was modifiedllvm/lib/Support/Timer.cpp
The file was modifiedllvm/tools/dsymutil/dsymutil.cpp
The file was modifiedclang/lib/ARCMigrate/PlistReporter.cpp
The file was modifiedlldb/source/Utility/GDBRemote.cpp
The file was modifiedllvm/lib/IR/Core.cpp
The file was modifiedllvm/lib/Support/Windows/Program.inc
The file was modifiedllvm/tools/llvm-xray/xray-graph-diff.cpp
The file was modifiedllvm/tools/llc/llc.cpp
The file was modifiedclang/lib/Frontend/CompilerInstance.cpp
The file was modifiedllvm/lib/Support/Windows/Path.inc
The file was modifiedclang/tools/driver/cc1as_main.cpp
The file was modifiedllvm/tools/llvm-xray/xray-account.cpp
The file was modifiedllvm/lib/IR/LLVMRemarkStreamer.cpp
The file was modifiedllvm/lib/Support/Unix/Program.inc
The file was modifiedllvm/tools/llvm-xray/xray-extract.cpp
The file was modifiedllvm/tools/lli/lli.cpp
The file was modifiedlld/lib/ReaderWriter/YAML/ReaderWriterYAML.cpp
The file was modifiedllvm/lib/ProfileData/GCOV.cpp
The file was modifiedllvm/tools/llvm-cxxmap/llvm-cxxmap.cpp
The file was modifiedclang/lib/Driver/ToolChains/Clang.cpp
The file was modifiedclang/lib/Frontend/ModuleDependencyCollector.cpp
The file was modifiedlld/COFF/DriverUtils.cpp
The file was modifiedclang/lib/StaticAnalyzer/Core/PlistDiagnostics.cpp
The file was modifiedclang/lib/Driver/Compilation.cpp
The file was modifiedclang/lib/Frontend/HeaderIncludeGen.cpp
The file was modifiedllvm/tools/llvm-xray/xray-graph.cpp
The file was modifiedllvm/lib/Transforms/IPO/LowerTypeTests.cpp
The file was modifiedllvm/lib/Support/FileCollector.cpp
The file was modifiedllvm/tools/llvm-profdata/llvm-profdata.cpp
The file was modifiedllvm/tools/llvm-dwarfdump/llvm-dwarfdump.cpp
The file was modifiedllvm/lib/Transforms/IPO/Attributor.cpp
The file was modifiedllvm/lib/Transforms/IPO/WholeProgramDevirt.cpp
The file was modifiedllvm/tools/llvm-mca/llvm-mca.cpp
The file was modifiedllvm/lib/Support/MemoryBuffer.cpp
The file was modifiedclang/lib/Frontend/DependencyFile.cpp
The file was modifiedllvm/unittests/Support/Path.cpp
The file was modifiedflang/lib/Frontend/CompilerInstance.cpp
The file was modifiedllvm/tools/llvm-mc/llvm-mc.cpp
The file was modifiedllvm/include/llvm/Analysis/DOTGraphTraitsPass.h
The file was modifiedllvm/tools/llvm-exegesis/lib/BenchmarkResult.cpp
The file was modifiedpolly/lib/Exchange/JSONExporter.cpp
The file was modifiedlldb/include/lldb/Utility/ReproducerProvider.h
The file was modifiedlldb/tools/lldb-server/LLDBServerUtilities.cpp
The file was modifiedllvm/lib/LTO/LTOBackend.cpp
The file was modifiedlldb/source/Utility/ReproducerProvider.cpp
The file was modifiedllvm/tools/verify-uselistorder/verify-uselistorder.cpp
The file was modifiedllvm/tools/llvm-opt-report/OptReport.cpp
The file was modifiedclang-tools-extra/pp-trace/PPTrace.cpp
The file was modifiedclang-tools-extra/clang-move/tool/ClangMove.cpp
The file was modifiedllvm/lib/Support/TimeProfiler.cpp
The file was modifiedllvm/tools/llvm-xray/xray-converter.cpp
The file was modifiedclang/lib/Frontend/DependencyGraph.cpp
The file was modifiedllvm/lib/Transforms/Utils/Debugify.cpp
The file was modifiedclang-tools-extra/modularize/ModuleAssistant.cpp
The file was modifiedllvm/lib/ProfileData/SampleProfWriter.cpp
Commit 2901dc7575873ed4bdfa1d7a0e79020e7a9ffb3d by llvm-dev
Don't directly dereference getAs<> casts to avoid potential null dereferences. NFCI.

Replace with castAs<> which asserts the cast is valid.

Fixes a number of static analyzer warnings.
The file was modifiedclang/lib/Sema/SemaExpr.cpp
The file was modifiedclang/lib/Sema/SemaDeclCXX.cpp
The file was modifiedclang/lib/Sema/SemaTemplateDeduction.cpp
The file was modifiedclang/lib/CodeGen/CGExprScalar.cpp
The file was modifiedclang/lib/CodeGen/CGBuiltin.cpp
The file was modifiedclang/lib/AST/ExprConstant.cpp
The file was modifiedclang/lib/Sema/SemaExprMember.cpp
The file was modifiedclang/lib/Sema/SemaOverload.cpp
The file was modifiedclang/unittests/AST/ASTImporterTest.cpp
The file was modifiedclang/lib/CodeGen/CGCUDANV.cpp
The file was modifiedclang/lib/Sema/SemaDecl.cpp
The file was modifiedclang/lib/Analysis/CalledOnceCheck.cpp
Commit b8aba76a4eab8e39008e243ebc2a3d0b56c1bd0c by llvm-dev
LoopFlatten - CanWidenIV - Fix uninitialized variable warnings and use for-range loop. NFCI.

Fix static analysis uninitialized variable warnings, and use for-range loop iteration across WideIVs array.
The file was modifiedllvm/lib/Transforms/Scalar/LoopFlatten.cpp
Commit 6fec0a34ceb0a3c95454ef8c978e19be3fec7ab7 by jay.foad
[AMDGPU] Fix typo in regular expression checks. NFC.
The file was modifiedllvm/test/CodeGen/AMDGPU/llvm.amdgcn.rsq.clamp.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/wave32.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/fptosi.f16.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/mubuf.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/llvm.amdgcn.mfma.gfx90a.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/valu-i1.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/fptoui.f16.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/cf-loop-on-constant.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/fold-imm-copy.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/spill-offset-calculation.ll
Commit 7dc7790ec52efe799211edde9114ba5e467ccb36 by zinenko
[mlir] Fix support for lowering non-32-bit affine reductions.

The existing implementation was always creating 32-bit constants for
floating-point and integer reductions regardless of the actual type, which
resulted in invalid IR being generated for any types other than f32 and i32
when lowering affine.parallel to SCF. Use the actual type instead.

Reviewed By: chelini

Differential Revision: https://reviews.llvm.org/D99942
The file was modifiedmlir/lib/Conversion/AffineToStandard/AffineToStandard.cpp
The file was modifiedmlir/test/Conversion/AffineToStandard/lower-affine.mlir
Commit e07a9b38a6892136fceae0ee17fea0530b6f7623 by llvm-dev
[InstCombine] Add PR45984 test case

Fold (a ^ b) | ~(a | b) --> ~(a & b)
The file was modifiedllvm/test/Transforms/InstCombine/demorgan.ll
Commit 0bf4836dc4cf126b602ea3f76b7a0340f05383bb by jay.foad
[AMDGPU] Fix dubious regexes with unescaped brackets. NFC.
The file was modifiedllvm/test/CodeGen/AMDGPU/ffloor.f64.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/hoist-cond.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/fcmp64.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/fadd64.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/fneg-combines.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/shift-and-i128-ubfe.ll
Commit bdfee7d5e1924eb5ca7333b1da339cf21a481409 by Raphael Isemann
[lldb][NFC] Fix misleading indentation in Cocoa.cpp
The file was modifiedlldb/source/Plugins/Language/ObjC/Cocoa.cpp
Commit 5efe9efdadcbf635f79c9a2b19dae9a96e25496f by llvm-dev
[X86] Add ANDN test case for PR48768

D94856 covered the BMI cases where we had existing tests, this adds a missing ANDN test case
The file was modifiedllvm/test/CodeGen/X86/bmi.ll
Commit 5ab489d9ae99c60d6f7e1e01194e0b4aacaf68af by lebedev.ri
[NFC][InstCombine] Add tests for '((X - Y) - Z)' pattern (PR49858)
The file was addedllvm/test/Transforms/InstCombine/sub-from-sub.ll
Commit 31d219d2997fed1b7dc97e0adf170d5aaf65883e by lebedev.ri
[InstCombine] Fold `((X - Y) - Z)` to `X - (Y + Z)` (PR49858)

https://alive2.llvm.org/ce/z/67w-wQ

We prefer `add`s over `sub`, and this particular xform
allows further folds to happen:

Fixes https://bugs.llvm.org/show_bug.cgi?id=49858
The file was modifiedllvm/test/Transforms/InstCombine/sub-from-sub.ll
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
The file was modifiedllvm/test/Transforms/InstCombine/abs-1.ll
Commit 849d3729433e05e6d89892c1814fa07ed3ec18e2 by lebedev.ri
[NFC][Clang] Speculative fix for builtins-ppc-quadword-noi128.c
The file was modifiedclang/test/CodeGen/builtins-ppc-quadword-noi128.c
Commit 1dcb5b5e8978a0a2f296670a4ab29a8038a21a0e by llvm-dev
[X86] Improve optimizeCompareInstr for signed comparisons after ANDN instructions

Extend D94856 to handle 'andn' instructions as well
The file was modifiedllvm/test/CodeGen/X86/bmi.ll
The file was modifiedllvm/lib/Target/X86/X86InstrInfo.cpp
Commit 88c2454057b6cd1b122f7fadde666e6b8ea6ebd3 by llvm-dev
[InstCombine] Add PR38929 test case

Fold (~x & y) | ~(x | y) --> ~x
The file was modifiedllvm/test/Transforms/InstCombine/or.ll
Commit 7344f3d39a0dc934b22ee43b4f92160fc3ea2db6 by kerry.mclaughlin
[LoopVectorize] Add strict in-order reduction support for fixed-width vectorization

Previously we could only vectorize FP reductions if fast math was enabled, as this allows us to
reorder FP operations. However, it may still be beneficial to vectorize the loop by moving
the reduction inside the vectorized loop and making sure that the scalar reduction value
be an input to the horizontal reduction, e.g:

  %phi = phi float [ 0.0, %entry ], [ %reduction, %vector_body ]
  %load = load <8 x float>
  %reduction = call float @llvm.vector.reduce.fadd.v8f32(float %phi, <8 x float> %load)

This patch adds a new flag (IsOrdered) to RecurrenceDescriptor and makes use of the changes added
by D75069 as much as possible, which already teaches the vectorizer about in-loop reductions.
For now in-order reduction support is off by default and controlled with the `-enable-strict-reductions` flag.

Reviewed By: david-arm

Differential Revision: https://reviews.llvm.org/D98435
The file was modifiedllvm/lib/Transforms/Vectorize/LoopVectorize.cpp
The file was modifiedllvm/include/llvm/Analysis/IVDescriptors.h
The file was modifiedllvm/lib/Analysis/IVDescriptors.cpp
The file was modifiedllvm/lib/Transforms/Utils/LoopUtils.cpp
The file was addedllvm/test/Transforms/LoopVectorize/AArch64/strict-fadd.ll
The file was modifiedllvm/include/llvm/Transforms/Utils/LoopUtils.h
Commit e9608a84d881e3190d17d8b11f9fdf6d745018ef by jay.foad
[AMDGPU][SDag] Add IMG init also for image_gather4 instructions

This fixes an oversight in D99747 which moved the IMG init code from
SIAddIMGInit to AdjustInstrPostInstrSelection, but did not set the
hasPostISelHook flag on gather4 instructions.

Differential Revision: https://reviews.llvm.org/D99953
The file was modifiedllvm/lib/Target/AMDGPU/MIMGInstructions.td
The file was modifiedllvm/test/CodeGen/AMDGPU/llvm.amdgcn.image.gather4.dim.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.gather4.dim.ll
Commit ccb361af6cf771ba5d9e50a9dc5b845a1a196697 by llvm-dev
[llvm-symbolizer] Don't use the same 'OutputStyle' name for the enum type and instance. NFCI.

This was causing some buildbot problems, e.g. http://lab.llvm.org:8011/#/builders/110/builds/2306
The file was modifiedllvm/tools/llvm-symbolizer/llvm-symbolizer.cpp
Commit cf4f5292f637d4ff1217da67d07147d63257ca87 by jay.foad
[AMDGPU] SIFoldOperands: use getVRegDef instead of getUniqueVRegDef

We are in SSA so getVRegDef is equivalent but simpler. NFC.
The file was modifiedllvm/lib/Target/AMDGPU/SIFoldOperands.cpp
Commit ce9cca6c3a31998b924ac9c67d8e1c70ada5665b by jay.foad
[AMDGPU] SIFoldOperands: rename tryFoldInst to tryFoldCndMask

This follows the pattern of the other tryFold* functions. NFC.
The file was modifiedllvm/lib/Target/AMDGPU/SIFoldOperands.cpp
Commit 005dcd196ef64f77cc3070ed3a2df6ba6e78c628 by jay.foad
[AMDGPU] SIFoldOperands: use range-based loops and make_early_inc_range

NFC.
The file was modifiedllvm/lib/Target/AMDGPU/SIFoldOperands.cpp
Commit efc7bf27f5ee87ac106c6e48c4276e26f4f04715 by jay.foad
[AMDGPU] SIFoldOperands: use MachineRegisterInfo::hasOneNonDBGUser

NFC.
The file was modifiedllvm/lib/Target/AMDGPU/SIFoldOperands.cpp
Commit ce4acb01b315b74e04da83d89304bd159b31dadd by benny.kra
Avoid unused variable warning in Release builds
The file was modifiedllvm/lib/Transforms/Utils/LoopUtils.cpp
Commit fb6a5237aa73e42d476f3736afcd531a593d3c33 by Jan Svoboda
Revert "[IR] Ignore bitcasts of function pointers which are only used as callees in callbase instruction"

This reverts commit 167ea67d

This causes a bunch of build failures:
* http://lab.llvm.org:8011/#/builders/121/builds/6287
* http://green.lab.llvm.org/green/job/clang-stage1-RA/19915
The file was modifiedllvm/lib/IR/Function.cpp
The file was modifiedllvm/test/Transforms/SCCP/arg-count-mismatch.ll
The file was modifiedllvm/test/Transforms/Attributor/IPConstantProp/arg-type-mismatch.ll
The file was modifiedllvm/test/Transforms/OpenMP/parallel_deletion_cg_update.ll
The file was modifiedllvm/test/Transforms/SCCP/arg-type-mismatch.ll
The file was modifiedllvm/test/Transforms/Attributor/IPConstantProp/arg-count-mismatch.ll
The file was removedllvm/test/Transforms/GlobalOpt/bitcast-callees-fastcc.ll
The file was modifiedllvm/lib/Transforms/IPO/GlobalOpt.cpp
The file was removedllvm/test/Analysis/CallGraph/ignore-bitcast-callees2.ll
The file was removedllvm/test/Transforms/GlobalOpt/bitcast-call-argument-fastcc.ll
The file was removedllvm/test/Analysis/CallGraph/ignore-bitcast-call-argument.ll
The file was removedllvm/test/Transforms/GlobalOpt/assumelike-bitcast-fastcc.ll
The file was removedllvm/test/Analysis/CallGraph/ignore-bitcast-callees.ll
The file was removedllvm/test/Analysis/CallGraph/ignore-bitcast-call-argument-callee.ll
The file was removedllvm/test/Transforms/GlobalOpt/blockaddr-bitcast-fastcc.ll
Commit 23929af383f27a6ddf23704192a25591481152b3 by Abhina.Sreeskantharajan
[Windows] Turn off text mode correctly in Rewriter to stop CRLF translation

I incorrectly changed the RewriteTestAction::ExecuteAction's file to binary instead of the proper RewriteIncludesAction::BeginSourceFileAction in https://reviews.llvm.org/rGbc5d4bcc2deb71ab647270c9754a83484b3d6f87. In the original commit, I actually changed RewriteIncludesAction::BeginSourceFileAction in https://reviews.llvm.org/rGfdb640ea30d416368b76b68b106deda580c6aced. This should fix the issue @aganea is facing.

Reviewed By: aganea

Differential Revision: https://reviews.llvm.org/D99837
The file was modifiedclang/lib/Frontend/Rewrite/FrontendActions.cpp
Commit 52ecd94cfbca726aae2532db43aac5dec92ced15 by listmail
Remove last remnants of PR49607 migration [NFC]

The key change (4f5e92c) to switch gc.result and gc.relocate to being readnone landed nearly two weeks ago, and we haven't seen any fallout.  Time to remove the code added to make reverting easy.
The file was modifiedllvm/lib/Transforms/Scalar/GVN.cpp
The file was modifiedllvm/lib/Transforms/Scalar/EarlyCSE.cpp
Commit 844012940e177cea9d4deb49c2d79d808adf815e by kzhuravl_dev
AMDGPU: Add isBranch=1 to SOPP branch instructions

Differential Revision: https://reviews.llvm.org/D99955
The file was modifiedllvm/lib/Target/AMDGPU/SOPInstructions.td
Commit b660abc80d0d0943c54e9440636ddfa89c2d626d by erik.pilkington
[ObjC] Add a command line flag that disables recognition of objc_direct for testability

Programmers would like to be able to test direct methods by calling them from a
different linkage unit or mocking them, both of which are impossible. This
patch adds a flag that effectively disables the attribute, which will fix this
when enabled in testable builds. rdar://71190891

Differential revision: https://reviews.llvm.org/D95845
The file was modifiedclang/include/clang/AST/DeclObjC.h
The file was addedclang/test/CodeGenObjC/disable-direct-method.m
The file was modifiedclang/test/Driver/clang_f_opts.c
The file was addedclang/test/SemaObjC/disable-direct-method.m
The file was modifiedclang/include/clang/Driver/Options.td
The file was modifiedclang/lib/Driver/ToolChains/Clang.cpp
The file was modifiedclang/lib/Sema/SemaDeclObjC.cpp
The file was modifiedclang/include/clang/Basic/LangOptions.def
The file was modifiedclang/lib/AST/DeclObjC.cpp
Commit 14a7296c0120913e949739e4e90ea5a5f1bd8af1 by ty1208chiang
[clang][clangd] Avoid inconsistent target creation

As proposed in D97109, I tried to make target creation consistent in `clang` and `clangd` by replacing the original procedure with a single function introduced in D97493.

This also helps `clangd` works with CUDA, OpenMP, etc.

Reviewed By: kadircet

Differential Revision: https://reviews.llvm.org/D98128
The file was modifiedclang/lib/Frontend/PrecompiledPreamble.cpp
The file was modifiedclang-tools-extra/clangd/Compiler.cpp
The file was modifiedclang/lib/Frontend/ASTUnit.cpp
Commit b36ef9f47db774f53baf6a527c8ea60d7e111287 by thomasp
[MLIR, test] Fix use of undef FileCheck var

MLIR test Dialect/Linalg/tile-indexed-generic.mlir has a CHECK-NOT
directive referring to a variable only defined in a CHECK directive with
a different prefix, and thus undefined in the CHECK-NOT.

This commit removes the variable reference altogether to error on any
content it might have.

Reviewed By: pifon2a

Differential Revision: https://reviews.llvm.org/D99956
The file was modifiedmlir/test/Dialect/Linalg/tile-indexed-generic.mlir
Commit fa818bb0357d140987155f75296b1205303be31d by Dan Liew
[CMake][Compiler-rt] Compute `LLVM_MAIN_SRC_DIR` assuming the monorepo
layout.

When doing a standalone compiler-rt build we currently rely on
getting information from the `llvm-config` binary. Previously
we would rely on calling `llvm-config --src-root` to find the
LLVM sources. Unfortunately the returned path could easily be wrong
if the sources were built on another machine.

Now that compiler-rt is part of a monorepo we can easily fix this
problem by finding the LLVM source tree next to `compiler-rt` in
the monorepo. We do this regardless of whether or not the `llvm-config`
binary is available which moves us one step closer to not requiring
`llvm-config` to be available.

To try avoid anyone breaking anyone who relies on the current behavior,
if the path assuming the monorepo layout doesn't exist we invoke
`llvm-config --src-root` to get the path. A deprecation warning is
emitted if this path is taken because we should remove this path
in the future given that other runtimes already assume the monorepo
layout.

We also now emit a warning if `LLVM_MAIN_SRC_DIR` does not exist.
The intention is that this should be a hard error in future but
to avoid breaking existing users we'll keep this as a warning
for now.

rdar://76016632

Differential Revision: https://reviews.llvm.org/D99620
The file was modifiedcompiler-rt/cmake/Modules/CompilerRTUtils.cmake
Commit fd28517d878e1d3d14f492ab659aabdf729fd331 by Dan Liew
[CMake][Compiler-rt] Make it possible to configure standalone compiler-rt without `LLVMConfig.cmake`.

Previously it wasn't possible to configure a standalone compiler-rt
build if the `LLVMConfig.cmake` file isn't present in a shipped
toolchain.

This patch adds a fallback behaviour for when `LLVMConfig.cmake` is not
available in the toolchain being used for configure. The fallback
behaviour mocks out the bare minimum required to make a configure
succeed when the host is Darwin. Support for other platforms could
be added in future patches.

The new code path is taken either in one of the following cases:

* `llvm-config` is not available.
* `llvm-config` is available but it provides an invalid path for the CMake files.

The motivation here is to be able to generate the compiler-rt lit test
suites for an arbitrary LLVM toolchain and then run the tests against
it.

The invocation to do this looks something like.

```
CC=/path/to/cc \
CXX=/path/to/c++ \
cmake \
  -G Ninja \
  -DLLVM_CONFIG_PATH=/path/to/llvm-config \
  -DCOMPILER_RT_INCLUDE_TESTS=ON \
  /path/to/llvm-project/compiler-rt

# Note we don't compile compiler-rt in this workflow.
bin/llvm-lit -v test/path/to/generated/test_suite
```

A possible alternative approach is to configure the
`cmake/modules/LLVMConfig.cmake.in` file in the LLVM source tree
and then include it. This approach was not taken because it is more
complicated.

An interesting side benefit of this patch is that it is now
possible to configure on Darwin without `llvm-config` being available
by configuring with `-DLLVM_CONFIG_PATH=""`. This moves us a step
closer to a world where no LLVM build artefacts are required to
build compiler-rt.

rdar://76016632

Differential Revision: https://reviews.llvm.org/D99621
The file was modifiedcompiler-rt/cmake/Modules/CompilerRTUtils.cmake
The file was addedcompiler-rt/cmake/Modules/CompilerRTMockLLVMCMakeConfig.cmake
Commit 21d48399484cc5dbc94af8aff2a3b2208783ab08 by listmail
Move GCRelocateInst and GCResultInst to IntrinsicInst.h [nfc]

These two are part of the IntrinsicInst class hierarchy and it helps to cut down on some redundant includes.
The file was modifiedllvm/lib/Transforms/Scalar/EarlyCSE.cpp
The file was modifiedllvm/lib/Analysis/Loads.cpp
The file was modifiedllvm/lib/IR/Value.cpp
The file was modifiedllvm/lib/IR/IntrinsicInst.cpp
The file was modifiedllvm/include/llvm/IR/Statepoint.h
The file was modifiedllvm/include/llvm/IR/IntrinsicInst.h
The file was modifiedllvm/lib/IR/AsmWriter.cpp
The file was modifiedllvm/lib/Transforms/Scalar/GVN.cpp
Commit 916093f49fafa54a7a4a8473ec4704eca3dc5a67 by zibi
[SystemZ][z/OS] correct rc and errno within nanosleep()

This patch fixes rc and errno within nanosleep(). It also updates __rem parameter as well it introduces cast to handle conversions from long into unsigned int to avoid warnings.

Reviewed By: Mordante

Differential Revision: https://reviews.llvm.org/D99373
The file was modifiedlibcxx/include/__support/ibm/nanosleep.h
Commit 518e6f341dddab7824592b3769146318950a01be by nicolas.vasilache
[mlir][Linalg] Fix fusion on tensors operands / bbArg mismatch

Linalg fusion on tensors has mismatching assumptions on the operand side than on the region bbArg side.
Relax the behavior on the operand/indexing map side so that we better support output operands that may also be read from.

Differential revision: https://reviews.llvm.org/D99499
The file was modifiedmlir/include/mlir/Dialect/Linalg/IR/LinalgInterfaces.td
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/FusionOnTensors.cpp
The file was modifiedmlir/test/Dialect/Linalg/fusion-tensor.mlir
Commit 53283cc2f1ddc2562bac0f623aa48eeeba359798 by llvm-dev
[X86][SSE] canonicalizeShuffleWithBinOps - add MOVSD/MOVSS handling.
The file was modifiedllvm/test/CodeGen/X86/horizontal-sum.ll
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
Commit f98567b3fecb2d0efe390f7c3f309333287d9398 by wei.huang
[AIX][TLS] Add support for TLS variables to XCOFF object writer

This patch adds support for TLS variables to the XCOFF object writer:
- Add TData and TBSS sections
- Add CsectGroups for the mapping classes XCOFF::XMC_TL and XCOFF::XMC_UL
- Add XMC_UL in the enum entry of CsectStorageMapping class to print the string
  while reading the symbol properties for TLS variables
- Fix the starting address of TData and TBSS sections

Reviewed by: hubert.reinterpretcast, DiggerLin

Differential Revision: https://reviews.llvm.org/D98946
The file was addedllvm/test/CodeGen/PowerPC/aix-tls-xcoff-variables.ll
The file was modifiedllvm/tools/llvm-readobj/XCOFFDumper.cpp
The file was modifiedllvm/lib/MC/XCOFFObjectWriter.cpp
Commit 17f4f23eeab402c792fb5c6a8e66be6afd88c33f by thomasp
[MLIR, test] Fix use of undef FileCheck var

MLIR test Transforms/canonicalize.mlir tries to check for the absence of
a sequence of instructions with several CHECK-NOT with one of those
directives using a variable defined in another. However CHECK-NOT are
checked independently so that is using a variable defined in a pattern
that should not occur in the input.

This commit removes the dependency between those CHECK-NOT by replacing
occurences of variables by the regex that were used to define them.

Reviewed By: pifon2a

Differential Revision: https://reviews.llvm.org/D99958
The file was modifiedmlir/test/Transforms/canonicalize.mlir
Commit 9c5ebf0358960adf28931569a0c801b56c8008d9 by thomasp
[test, GVN] Fix use of var defined in CHECK-NOT

Commit 22ce5eb051591b828b1ce4238624b6e95d334a5b, changed checks in
GVN/big-endian.ll into CHECK-NOT. The intent was to check that a
succession of lines does not occur but each CHECK-NOT is checked
independently. In other word, one CHECK-NOT uses a variable defined
in a pattern (the one defining the variable) that should not occur in
the input. The bug was then copied over in NewGVN/big-endian.ll.

This commit only checks for the absence of i16 load which rules out the
presence of the whole sequence and does not involve an undefined
variable.

Reviewed By: nikic

Differential Revision: https://reviews.llvm.org/D99581
The file was modifiedllvm/test/Transforms/NewGVN/big-endian.ll
The file was modifiedllvm/test/Transforms/GVN/big-endian.ll
The file was modifiedllvm/test/Transforms/GVN/PRE/load-pre-nonlocal.ll
Commit 93c87fc06eca8d8a65ff6c0bdd9f2671227224ac by blangmuir
[index] Improve macro indexing support

The major change here is to index macro occurrences in more places than
before, specifically

* In non-expansion references such as `#if`, `#ifdef`, etc.
* When the macro is a reference to a builtin macro such as __LINE__.
* When using the preprocessor state instead of callbacks, we now include
  all definition locations and undefinitions instead of just the latest
  one (which may also have had the wrong location previously).
* When indexing an existing module file (.pcm), we now include module
  macros, and we no longer report unrelated preprocessor macros during
  indexing the module, which could have caused duplication.

Additionally, we now correctly obey the system symbol filter for macros,
so by default in system headers only definition/undefinition occurrences
are reported, but it can be configured to report references as well if
desired.

Extends FileIndexRecord to support occurrences of macros. Since the
design of this type is to keep a single list of entities organized by
source location, we incorporate macros into the existing DeclOccurrence
struct.

Differential Revision: https://reviews.llvm.org/D99758
The file was modifiedclang/lib/Index/IndexingAction.cpp
The file was modifiedclang/include/clang/Index/DeclOccurrence.h
The file was modifiedclang/test/Index/Core/Inputs/module/SubModA.h
The file was modifiedclang/include/clang/Index/IndexingOptions.h
The file was modifiedclang/lib/Index/IndexingContext.h
The file was modifiedclang/test/Index/Core/Inputs/module/ModA.h
The file was modifiedclang/unittests/Index/IndexTests.cpp
The file was modifiedclang/lib/Index/FileIndexRecord.cpp
The file was modifiedclang/lib/Index/FileIndexRecord.h
The file was modifiedclang/lib/Index/IndexingContext.cpp
The file was modifiedclang/test/Index/Core/index-macros.c
The file was modifiedclang/lib/Index/USRGeneration.cpp
The file was modifiedclang/test/Index/Core/index-with-module.m
The file was modifiedclang/test/Index/Core/Inputs/sys/system-head.h
The file was modifiedclang/tools/c-index-test/core_main.cpp
Commit a3e1b1112317bace8bf77de79cb0b421d833ec70 by julian.lettner
[Sanitizer] Adopt Python 3 for iOS simulator test scripts

Differential Revision: https://reviews.llvm.org/D99911
The file was modifiedcompiler-rt/test/sanitizer_common/ios_commands/iossim_run.py
The file was modifiedcompiler-rt/test/sanitizer_common/ios_commands/iossim_prepare.py
The file was modifiedcompiler-rt/test/sanitizer_common/ios_commands/iossim_compile.py
The file was modifiedcompiler-rt/test/sanitizer_common/ios_commands/iossim_env.py
Commit 710651c61dcdb2f969811b9a8c7efb425b5e2918 by Jonas Devlieghere
[lldb] Fix bug where memory read --outfile is not truncating the file

The memory read --outfile command should truncate the output when unless
--append-outfile. Fix the bug and add a test.

rdar://76062318

Differential revision: https://reviews.llvm.org/D99890
The file was modifiedlldb/source/Commands/CommandObjectMemory.cpp
The file was modifiedlldb/test/API/functionalities/memory/read/TestMemoryRead.py
Commit 5571cc7deed6dc01f4764adbbf3d668866f22173 by pifon
[mlir][linalg] Add helpers for linalg.tiled_loop [nfc].

Differential Revision: https://reviews.llvm.org/D99968
The file was modifiedmlir/include/mlir/Dialect/Linalg/IR/LinalgOps.td
Commit 04b3c8c52c549ee57e69a1b23484b8c4109f83b8 by paul.robinson
Pass -fcrash-diagnostics-dir along to LLVM

This allows frontend and backend diagnostic files to all go into the
same place.  Have it control the Windows (mini-)dump location.

Differential Revision: https://reviews.llvm.org/D99199
The file was modifiedllvm/lib/Support/Windows/Signals.inc
The file was addedclang/test/Driver/crash-diagnostics-dir-2.c
The file was modifiedclang/lib/Driver/ToolChains/Clang.cpp
The file was modifiedllvm/lib/Support/Signals.cpp
Commit 9c8b28a69b95db539f5da5ee5af6e273504bf869 by aeubanks
[llvm-reduce] Remove unwanted module inline asm

We can clear line by line, but that's likely not very important.

Reviewed By: hans

Differential Revision: https://reviews.llvm.org/D99921
The file was addedllvm/test/tools/llvm-reduce/remove-module-inline-asm.ll
The file was addedllvm/tools/llvm-reduce/deltas/ReduceModuleInlineAsm.cpp
The file was modifiedllvm/utils/gn/secondary/llvm/tools/llvm-reduce/BUILD.gn
The file was modifiedllvm/tools/llvm-reduce/DeltaManager.cpp
The file was modifiedllvm/tools/llvm-reduce/CMakeLists.txt
The file was addedllvm/tools/llvm-reduce/deltas/ReduceModuleInlineAsm.h
Commit 96dbdd753a1f8bfe0d03f13de484fa18c8bca8db by cjdb
[libcxx] adds remaining callable concepts

* `std::predicate`
* `std::relation`
* `std::equivalence_relation`
* `std::strict_weak_order`

Implements parts of:
    - P0898R3 Standard Library Concepts
    - P1754 Rename concepts to standard_case for C++20, while we still can

Differential Revision: https://reviews.llvm.org/D96477
The file was addedlibcxx/test/std/concepts/concepts.callable/concept.predicate/predicate.compile.pass.cpp
The file was addedlibcxx/test/std/concepts/concepts.callable/concept.equiv/equivalence_relation.subsumption.compile.pass.cpp
The file was modifiedlibcxx/include/concepts
The file was addedlibcxx/test/std/concepts/concepts.callable/concept.equiv/equivalence_relation.compile.pass.cpp
The file was addedlibcxx/test/std/concepts/concepts.callable/concept.relation/relation.subsumption.compile.pass.cpp
The file was addedlibcxx/test/std/concepts/concepts.callable/concept.strictweakorder/strict_weak_order.compile.pass.cpp
The file was modifiedlibcxx/docs/Cxx2aStatusPaperStatus.csv
The file was addedlibcxx/test/std/concepts/concepts.callable/concept.predicate/predicate.subsumption.compile.pass.cpp
The file was addedlibcxx/test/std/concepts/concepts.callable/concept.strictweakorder/strict_weak_order.subsumption.compile.pass.cpp
The file was addedlibcxx/test/std/concepts/concepts.callable/concept.relation/relation.compile.pass.cpp
Commit dc8d63de5d5ec987b89256564a038cb580cae607 by Jonas Devlieghere
[lldb] Format Plugins/Language/ObjC/Cocoa.cpp (NFC)
The file was modifiedlldb/source/Plugins/Language/ObjC/Cocoa.cpp
Commit 8f798566a3988491b8ff4d2e77cff5063e2fc92f by jay.foad
[AMDGPU] SIFoldOperands: use isUseMIInFoldList. NFC.
The file was modifiedllvm/lib/Target/AMDGPU/SIFoldOperands.cpp
Commit 3ae03f67fe41f336c022ada37f8525bfa2bc5a8e by craig.topper
[RISCV] Add helper function to share some of the code for isel of vector load/store intrinsics.

Many of the operands are handled the same or in the same order
for all these intrinsics. Factor out the code for selecting and
pushing them into the Operands vector.

Differential Revision: https://reviews.llvm.org/D99923
The file was modifiedllvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
The file was modifiedllvm/lib/Target/RISCV/RISCVISelDAGToDAG.h
Commit 91d6debbb9136a0ac30278135bd4089c9e614ad1 by martin
[libcxx] [test] Use dedicated types for the invocable concept tests for multiple overloads

This should be clearer, instead of relying on rules for implicit
conversions regarding built in float/integer types.

Differential Revision: https://reviews.llvm.org/D99928
The file was modifiedlibcxx/test/std/concepts/concepts.callable/concept.regularinvocable/regular_invocable.pass.cpp
The file was modifiedlibcxx/test/std/concepts/concepts.callable/concept.invocable/invocable.compile.pass.cpp
Commit 948dd664c3ed30dd853df03cb931436f280bad4a by martin
[libcxx] Fix the type attribute for a couple templates

Use `_LIBCPP_TEMPLATE_VIS` instead of `_LIBCPP_TYPE_VIS` for a template
class.

This fixes the nodiscard_extensions.pass.cpp and a couple
func.search.default test cases when built in MSVC/DLL configurations.

Differential Revision: https://reviews.llvm.org/D99932
The file was modifiedlibcxx/include/experimental/functional
The file was modifiedlibcxx/test/libcxx/diagnostics/nodiscard_extensions.pass.cpp
The file was modifiedlibcxx/test/std/utilities/function.objects/func.search/func.search.default/default.pass.cpp
The file was modifiedlibcxx/test/std/utilities/function.objects/func.search/func.search.default/default.pred.pass.cpp
The file was modifiedlibcxx/include/functional
The file was modifiedlibcxx/include/utility
Commit 48268aa0a9c18ab244b252b9617b91f6f5055c95 by nicolas.vasilache
[mlir][python] Add missing affine map compression test
The file was modifiedmlir/test/Bindings/Python/ir_affine_map.py
Commit 4059c1c32d37ff3738428dcc2a4c98c4677d3a24 by flo
[SimplifyInst] Use correct type for GEPs with vector indices.

The current code does not properly handle vector indices unless they are
the first index.

At the moment LangRef gives the impression that the vector index must be
the one and only index (https://llvm.org/docs/LangRef.html#getelementptr-instruction).

But vector indices can appear at any position and according to the
verifier there may be multiple vector indices. If that's the case, the
number of elements must match.

This patch updates SimplifyGEPInst to properly handle those additional
cases.

Reviewed By: nikic

Differential Revision: https://reviews.llvm.org/D99961
The file was modifiedllvm/lib/Analysis/InstructionSimplify.cpp
The file was modifiedllvm/test/Transforms/InstSimplify/gep.ll
Commit 801cea2ce9515cc6b6c9b59dfac6e48074737da1 by Jonas Devlieghere
[lldb] Fix else-after-return in AppleObjCRuntimeV2 (NFC)

Use early returns to associate the error message with the corresponding
condition and eliminate some else-after-returns in the process.
The file was modifiedlldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.cpp
Commit 4e83e59eb8f096c8399489c61c1db034814a76ba by aeubanks
[GVN] Add missing ICF update

performScalarPREInsertion() inserts instructions into blocks that we
need to tell ImplicitControlFlowTracking about, otherwise the ICF cache
may be invalid.

Fixes PR49193.

Reviewed By: nikic

Differential Revision: https://reviews.llvm.org/D99909
The file was modifiedllvm/lib/Transforms/Scalar/GVN.cpp
The file was addedllvm/test/Transforms/GVN/pr49193.ll
Commit a9a7498b3f25750608ae07eb009a4091cbe9060f by martin
[libcxx] [test] Allow C:\System Volume Information to be missing

If running in a Windows Container, there is no such directory at all.

If running from within bash on Windows Server, the directory seems to
be fully accessible. (The mechanics of this isn't fully understood, and
it doesn't seem to happen on desktop versions.)

If the directory isn't available with the expected behaviour, mark those
individual tests as unsupported. (The test as a whole is considered to
pass, but the unsupported test is mentioned in a test summary printed on
stdout.)

Differential Revision: https://reviews.llvm.org/D98960
The file was modifiedlibcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/ctor.pass.cpp
The file was modifiedlibcxx/test/support/filesystem_test_helper.h
The file was modifiedlibcxx/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.members/ctor.pass.cpp
The file was modifiedlibcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.exists/exists.pass.cpp
The file was modifiedlibcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.cons/path.pass.cpp
Commit 3b1b1d7530e6cf2c3aac25fc9d079f083e929137 by jyknight
Fix f6ee97d8271e1dfd9b6572222fefe8f40433952e:

PrintAddress needs to be false (as it was before), or this breaks sanitizer backtraces.
The file was modifiedcompiler-rt/lib/sanitizer_common/symbolizer/sanitizer_symbolize.cpp
Commit a6d2a8d6f59a974752666305c4baaabebee41b95 by listmail
Add a subclass of IntrinsicInst for llvm.assume [nfc]

Add the subclass, update a few places which check for the intrinsic to use idiomatic dyn_cast, and update the public interface of AssumptionCache to use the new class.  A follow up change will do the same for the newer assumption query/bundle mechanisms.
The file was modifiedllvm/lib/Transforms/Utils/AssumeBundleBuilder.cpp
The file was modifiedllvm/lib/Analysis/AssumptionCache.cpp
The file was modifiedllvm/include/llvm/Analysis/AssumptionCache.h
The file was modifiedllvm/lib/Transforms/InstCombine/InstructionCombining.cpp
The file was modifiedllvm/lib/Transforms/Utils/PromoteMemoryToRegister.cpp
The file was modifiedllvm/lib/Transforms/Vectorize/LoopVectorize.cpp
The file was modifiedllvm/lib/Transforms/Utils/InlineFunction.cpp
The file was modifiedllvm/lib/Transforms/Scalar/LoopUnswitch.cpp
The file was modifiedllvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp
The file was modifiedllvm/lib/Transforms/Utils/SimplifyCFG.cpp
The file was modifiedllvm/lib/Transforms/Utils/CodeExtractor.cpp
The file was modifiedllvm/lib/Transforms/Utils/LoopUnroll.cpp
The file was modifiedllvm/include/llvm/IR/IntrinsicInst.h
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
The file was modifiedllvm/lib/Transforms/Utils/LoopUnrollAndJam.cpp
The file was modifiedllvm/lib/Transforms/Utils/LoopRotationUtils.cpp
The file was modifiedllvm/unittests/Analysis/AssumeBundleQueriesTest.cpp
Commit e0df2b540a5a7d6076bb77352e50fcd0e14522e0 by jezng
[lld-macho] Rename SubsectionMapping to SubsectionMap

We bikeshedded about it here: https://reviews.llvm.org/D98837#inline-931557

I initially suggested SubsectionMapping, but I thought the discussion
landed on doing `std::vector<SubsectionEntry>`. @alexshap went and did
both, but on hindsight I regret adding 3 more characters to an already
long name, and I think SubsectionEntry is descriptive enough...

This diff also renames `subsectionMap` to `subsecMap` for consistency
with other variable names in the codebase.
The file was modifiedlld/MachO/Driver.cpp
The file was modifiedlld/MachO/InputFiles.h
The file was modifiedlld/MachO/InputFiles.cpp
Commit 174deb0539ee4af7d20bfead9f73055782e878e3 by jezng
[lld-macho] clang-format cleanup

  find . -type f -name "*.cpp" -o -name "*.h" | xargs clang-format -i
The file was modifiedlld/MachO/Symbols.cpp
The file was modifiedlld/MachO/Driver.h
The file was modifiedlld/MachO/SyntheticSections.cpp
The file was modifiedlld/MachO/Symbols.h
The file was modifiedlld/MachO/Driver.cpp
Commit fb41cae03976f5148af15684a64b3172beed47d5 by listmail
More precisely type code used for gc.relocate assertions [nfc]
The file was modifiedllvm/lib/CodeGen/SelectionDAG/StatepointLowering.h
Commit a7ef45bc5c1d0c2788680dbcb261304d7dfae03c by i
[NewPM] Fix -Wunused-lambda-capture in -DLLVM_ENABLE_ASSERTIONS=off builds after D91327
The file was modifiedllvm/lib/Passes/StandardInstrumentations.cpp
Commit bd6033eca7be937a236401fdbbf414d6929a44e8 by amy.kwan1
[PowerPC] Materialize 34-bit constants with pli directly

Previously, 34-bit constants were materialized in selectI64Imm(), and we relied
on td pattern matching to instead produce a pli. This becomes problematic as
there is no guarantee that the 34-bit constant will reach the td pattern
selection for pli. It is also possible for other transformations (such as complex
bit permutations) to also produce and utilize the 34-bit constant materialized
through selectI64Imm().

This patch instead produces pli on Power10 directly whenever the constant fits
within 34-bits.

Differential Revision: https://reviews.llvm.org/D99906
The file was modifiedllvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp
The file was modifiedllvm/test/CodeGen/PowerPC/p10-constants.ll
Commit 1d9d7f6a2c0f6121df9468ea156d3a147c3b604c by thomasp
[MLIR, test] Fix use of undef FileCheck var

MLIR test Dialect/Linalg/transform-patterns.mlir tries to check for the
absence of a sequence of instructions with several CHECK-NOT with one of
those directives using a variable defined in another. However CHECK-NOT
are checked independently so that is using a variable defined in a
pattern that should not occur in the input.

This commit removes the dependency between those CHECK-NOT by replacing
occurences of variables by the regex that were used to define them.

Note to reviewers: please pay attention to whether the remaining
reference to l0 is correct. There was a l0 defined in those CHECK-NOT
and one defined before. I'm not sure what was the intent there.

Reviewed By: nicolasvasilache

Differential Revision: https://reviews.llvm.org/D99957
The file was modifiedmlir/test/Dialect/Linalg/transform-patterns.mlir
Commit 9456e720ec8465a9da2acbda14cd7d67cddf16f7 by jezng
[lld-macho][nfc] Rename some tests

"stub" is a bit too overloaded... we were using it to refer to
TAPI files, but it's also the name for the PLT trampolines in Mach-O.
Going ahead, let's just use "TAPI" or ".tbd" to refer to TAPI stuff.

Reviewed By: #lld-macho, oontvoo

Differential Revision: https://reviews.llvm.org/D99807
The file was removedlld/test/MachO/dylink-lazy.s
The file was addedlld/test/MachO/tapi-framework.s
The file was removedlld/test/MachO/stub-framework.s
The file was addedlld/test/MachO/tapi-link-by-arch.s
The file was removedlld/test/MachO/stub-link-by-arch.s
The file was addedlld/test/MachO/tapi-link.s
The file was addedlld/test/MachO/x86-64-stubs.s
The file was removedlld/test/MachO/stub-link.s
Commit 94f75202accb26d71fd3149f410e80d602fc562d by jezng
[lld-macho][nfc] Remove HelpHidden from aliases to implemented flags

This is a no-op. Just cleaning up Options.td...

Reviewed By: #lld-macho, oontvoo

Differential Revision: https://reviews.llvm.org/D99874
The file was modifiedlld/test/MachO/sectcreate.s
The file was modifiedlld/test/MachO/why-load.s
The file was modifiedlld/MachO/Options.td
Commit ceec610754b045cdac4ae0d705d8d9651e323fc4 by jezng
[lld-macho] Fix & refactor symbol size calculations

I noticed two problems with the previous implementation:

* N_ALT_ENTRY symbols weren't being handled correctly -- they should
  determine the size of the previous symbol, even though they don't
  cause a new section to be created
* The last symbol in a section had its size calculated wrongly;
  the first subsection's size was used instead of the last one

I decided to take the opportunity to refactor things as well, mainly to
realize my observation
[here](https://reviews.llvm.org/D98837#inline-931511) that we could
avoid doing a binary search to match symbols with subsections. I think
the resulting code is a bit simpler too.

      N           Min           Max        Median           Avg        Stddev
  x  20          4.31          4.43          4.37        4.3775   0.034162922
  +  20          4.32          4.43          4.38        4.3755    0.02799906
  No difference proven at 95.0% confidence

Reviewed By: #lld-macho, alexshap

Differential Revision: https://reviews.llvm.org/D99972
The file was modifiedlld/test/MachO/stabs.s
The file was modifiedlld/test/MachO/symtab.s
The file was modifiedlld/MachO/SymbolTable.cpp
The file was modifiedlld/MachO/Symbols.h
The file was modifiedlld/MachO/InputFiles.cpp
Commit fcc57558783b12de7a7d2cea809f72705ea849b4 by csigg
[mlir] Remove no-op array assignment in dictionaryAttrSort().

Reviewed By: rriddle

Differential Revision: https://reviews.llvm.org/D99954
The file was modifiedmlir/lib/IR/BuiltinAttributes.cpp
Commit ae318beb35517c70505114cab8d1fb286f99ab4b by arthur.j.odwyer
[libc++] Post-commit review on D99928.

The "user-defined conversion by implicit constructor" codepath is already
handled by `B(int)`; we don't need to test `A(const A&)` a second time
via `DA` (nor the isomorphic case with `DB`).
We don't need `&` anywhere in this test.
Generally, `operator()` should be const; this test needn't be special.
(No functional change in test coverage.)
The file was modifiedlibcxx/test/std/concepts/concepts.callable/concept.invocable/invocable.compile.pass.cpp
The file was modifiedlibcxx/test/std/concepts/concepts.callable/concept.regularinvocable/regular_invocable.pass.cpp
Commit 2d0f1fa472a99dbb46735623363fe918feeda795 by arthur.j.odwyer
[libc++] Header inclusion tests.

As mandated by the Standard's various synopses, e.g. [iterator.synopsis].
Searching the TeX source for '#include' is a good way to find all of these
mandates.

The new tests are all autogenerated by utils/generate_header_inclusion_tests.py.
I was SHOCKED by how many mandates there are, and how many of them
libc++ wasn't conforming with.

Differential Revision: https://reviews.llvm.org/D99309
The file was modifiedlibcxx/include/variant
The file was addedlibcxx/test/libcxx/inclusions/map.inclusions.compile.pass.cpp
The file was addedlibcxx/test/libcxx/inclusions/regex.inclusions.compile.pass.cpp
The file was addedlibcxx/test/libcxx/inclusions/variant.inclusions.compile.pass.cpp
The file was modifiedlibcxx/include/memory
The file was addedlibcxx/test/libcxx/inclusions/thread.inclusions.compile.pass.cpp
The file was addedlibcxx/test/libcxx/inclusions/system_error.inclusions.compile.pass.cpp
The file was addedlibcxx/test/libcxx/inclusions/tuple.inclusions.compile.pass.cpp
The file was modifiedlibcxx/include/string_view
The file was addedlibcxx/test/libcxx/inclusions/algorithm.inclusions.compile.pass.cpp
The file was modifiedlibcxx/include/iterator
The file was addedlibcxx/test/libcxx/inclusions/complex.h.inclusions.compile.pass.cpp
The file was modifiedlibcxx/include/tuple
The file was modifiedlibcxx/docs/Contributing.rst
The file was modifiedlibcxx/include/queue
The file was addedlibcxx/test/libcxx/inclusions/set.inclusions.compile.pass.cpp
The file was addedlibcxx/test/libcxx/inclusions/utility.inclusions.compile.pass.cpp
The file was modifiedlibcxx/include/regex
The file was modifiedlibcxx/include/set
The file was addedlibcxx/test/libcxx/inclusions/memory.inclusions.compile.pass.cpp
The file was modifiedlibcxx/include/string
The file was modifiedlibcxx/include/deque
The file was addedlibcxx/utils/generate_header_inclusion_tests.py
The file was addedlibcxx/test/libcxx/inclusions/optional.inclusions.compile.pass.cpp
The file was addedlibcxx/test/libcxx/inclusions/unordered_map.inclusions.compile.pass.cpp
The file was addedlibcxx/test/libcxx/inclusions/vector.inclusions.compile.pass.cpp
The file was addedlibcxx/test/libcxx/inclusions/array.inclusions.compile.pass.cpp
The file was addedlibcxx/test/libcxx/inclusions/forward_list.inclusions.compile.pass.cpp
The file was addedlibcxx/test/libcxx/inclusions/iterator.inclusions.compile.pass.cpp
The file was addedlibcxx/test/libcxx/inclusions/tgmath.h.inclusions.compile.pass.cpp
The file was addedlibcxx/test/libcxx/inclusions/typeindex.inclusions.compile.pass.cpp
The file was addedlibcxx/test/libcxx/inclusions/filesystem.inclusions.compile.pass.cpp
The file was addedlibcxx/test/libcxx/inclusions/chrono.inclusions.compile.pass.cpp
The file was modifiedlibcxx/include/system_error
The file was addedlibcxx/test/libcxx/inclusions/random.inclusions.compile.pass.cpp
The file was modifiedlibcxx/include/vector
The file was addedlibcxx/test/libcxx/inclusions/list.inclusions.compile.pass.cpp
The file was modifiedlibcxx/include/optional
The file was modifiedlibcxx/include/utility
The file was addedlibcxx/test/libcxx/inclusions/unordered_set.inclusions.compile.pass.cpp
The file was modifiedlibcxx/include/unordered_set
The file was addedlibcxx/test/libcxx/inclusions/stack.inclusions.compile.pass.cpp
The file was modifiedlibcxx/include/typeindex
The file was addedlibcxx/test/libcxx/inclusions/bitset.inclusions.compile.pass.cpp
The file was modifiedlibcxx/include/filesystem
The file was addedlibcxx/test/libcxx/inclusions/ios.inclusions.compile.pass.cpp
The file was addedlibcxx/test/libcxx/inclusions/string.inclusions.compile.pass.cpp
The file was addedlibcxx/test/libcxx/inclusions/string_view.inclusions.compile.pass.cpp
The file was addedlibcxx/test/libcxx/inclusions/queue.inclusions.compile.pass.cpp
The file was addedlibcxx/test/libcxx/inclusions/cinttypes.inclusions.compile.pass.cpp
The file was addedlibcxx/test/libcxx/inclusions/iostream.inclusions.compile.pass.cpp
The file was modifiedlibcxx/include/unordered_map
The file was addedlibcxx/test/libcxx/inclusions/deque.inclusions.compile.pass.cpp
The file was modifiedlibcxx/include/map
The file was modifiedlibcxx/include/chrono
The file was addedlibcxx/test/libcxx/inclusions/valarray.inclusions.compile.pass.cpp
Commit 8fbc05acd5531a8bb74f689699e8de2788bcb769 by alexandre.ganea
[Windows] Add test coverage for line endings when rewriting includes

Validate that we're properly generating a single line ending on Windows when
using -frewrite-includes. Otherwise we're breaking split-line macros. The test
fails before 23929af383f27a6ddf23704192a25591481152b3.

See discussion in https://reviews.llvm.org/D96363#2650460 and D99426

Differential Revision: https://reviews.llvm.org/D99973
The file was addedclang/test/Frontend/rewrite-includes-macros.cpp
Commit ddebed8e9742add4372d54021cb55e06b655cfd6 by flx
[clang-tidy] performance-* checks: Match AllowedTypes against qualified type names when they contain "::".

This allows users to be more precise and exclude a type in a specific namespace
from triggering the check instead of excluding all types with the same
unqualified name.

This change should not interfere with correctly configured clang-tidy setups
since an AllowedType with "::" would never match.

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

Reviewed-by: ymandel, hokein
The file was modifiedclang-tools-extra/docs/clang-tidy/checks/performance-for-range-copy.rst
The file was modifiedclang-tools-extra/clang-tidy/utils/Matchers.h
The file was modifiedclang-tools-extra/docs/clang-tidy/checks/performance-unnecessary-value-param.rst
The file was modifiedclang-tools-extra/docs/clang-tidy/checks/performance-unnecessary-copy-initialization.rst
The file was modifiedclang-tools-extra/test/clang-tidy/checkers/performance-for-range-copy-allowed-types.cpp
Commit 61d065e21ff37fb9040aed711c97daddac2f7577 by Yaxun.Liu
Let clang atomic builtins fetch add/sub support floating point types

Recently atomicrmw started to support fadd/fsub:

https://reviews.llvm.org/D53965

However clang atomic builtins fetch add/sub still does not support
emitting atomicrmw fadd/fsub.

This patch adds that.

Reviewed by: John McCall, Artem Belevich, Matt Arsenault, JF Bastien,
James Y Knight, Louis Dionne, Olivier Giroux

Differential Revision: https://reviews.llvm.org/D71726
The file was modifiedclang/test/Sema/atomic-ops.c
The file was modifiedclang/lib/Sema/SemaChecking.cpp
The file was modifiedclang/test/CodeGenOpenCL/atomic-ops.cl
The file was addedclang/test/CodeGenCUDA/amdgpu-atomic-ops.cu
The file was addedclang/test/CodeGen/fp-atomic-ops.c
The file was modifiedclang/test/SemaOpenCL/atomic-ops.cl
The file was modifiedclang/include/clang/Basic/DiagnosticSemaKinds.td
The file was modifiedclang/lib/CodeGen/CGAtomic.cpp
Commit 0c3bc1f3a47752489871b7a0b06f6986935c4a1e by luismarques
[ASan][RISCV] Fix RISC-V memory mapping

Fixes the ASan RISC-V memory mapping (originally introduced by D87580 and
D87581). This should be an improvement both in terms of first principles
soundness and observed test failures --- test failures would occur
non-deterministically depending on the ASLR random offset.

On RISC-V Linux (64-bit), `TASK_UNMAPPED_BASE` is currently defined as
`PAGE_ALIGN(TASK_SIZE / 3)`. The non-power-of-two divisor makes the result
be the not very round number 0x1555556000. That address had to be further
rounded to ensure page alignment after the shadow scale shifting is applied.
Still, that value explains why the mapping table may look less regular than
expected.

Further cleanups:
- Moved the mapping table comment, to ensure that the two Linux/AArch64
tables stayed together;
- Removed mention of Sv48. Neither the original mapping nor this one are
compatible with an actual Linux Sv48 address space (mainline Linux still
operates Sv48 in Sv39 mode). A future patch can improve this;
- Removed the additional comments, for consistency.

Differential Revision: https://reviews.llvm.org/D97646
The file was modifiedcompiler-rt/lib/asan/asan_mapping.h
The file was modifiedllvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
Commit b09df246cad93436325150f9115b69471dda2531 by luismarques
[lit testing] Fix xfail-cl.py test worker count

This would fail in test environments with < 3 hardware threads.

Differential Revision: https://reviews.llvm.org/D99858
The file was modifiedllvm/utils/lit/tests/xfail-cl.py
Commit 96caf3817f4771eb6ef496371b62e69994ef28cf by jpienaar
[mlir] Hoist out getRequestedOpDefinitions helper

Enables performing the same filtering in the op doc definition as in the op definition generator.

Differential Revision: https://reviews.llvm.org/D99793
The file was addedmlir/tools/mlir-tblgen/OpGenHelpers.cpp
The file was modifiedmlir/tools/mlir-tblgen/OpDefinitionsGen.cpp
The file was modifiedmlir/tools/mlir-tblgen/CMakeLists.txt
The file was modifiedmlir/tools/mlir-tblgen/OpDocGen.cpp
The file was addedmlir/tools/mlir-tblgen/OpGenHelpers.h
Commit 9ef6aa020b6fb9c7672919985b0ed2a6953a3596 by listmail
Plumb AssumeInst through operand bundle apis [nfc]

Follow up to a6d2a8d6f5.  This covers all the public interfaces of the bundle related code.  I tried to cleanup the internals where the changes were obvious, but there's definitely more room for improvement.
The file was modifiedllvm/lib/Transforms/Utils/AssumeBundleBuilder.cpp
The file was modifiedllvm/include/llvm/Transforms/Scalar/GVN.h
The file was modifiedllvm/include/llvm/Analysis/AssumeBundleQueries.h
The file was modifiedllvm/include/llvm/Transforms/Utils/AssumeBundleBuilder.h
The file was modifiedllvm/lib/Analysis/AssumeBundleQueries.cpp
The file was modifiedllvm/unittests/Analysis/AssumeBundleQueriesTest.cpp
The file was modifiedllvm/lib/Transforms/Scalar/GVN.cpp
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
The file was modifiedllvm/lib/Transforms/Utils/Local.cpp
The file was modifiedllvm/lib/Transforms/IPO/Attributor.cpp
Commit d0615a93bb6d7aedc43323dc8957fe57e86ed8ae by tra
[NVPTX] Handle bitcast and ASC(101) when trying to avoid argument copy.

This allows us to skip the copy in few more cases.

Differential Revision: https://reviews.llvm.org/D99979
The file was modifiedllvm/lib/Target/NVPTX/NVPTXLowerArgs.cpp
The file was modifiedllvm/test/CodeGen/NVPTX/lower-byval-args.ll
Commit 3ba246719b7cde7cb5f4603dd25c0c46df22ea36 by thomasp
[test, AArch64] Fix use of var defined in CHECK-NOT

LLVM test CodeGen/AArch64/speculation-hardening.ll tries to check for
the absence of a sequence of instructions with several CHECK-NOT with
one of those directives using a variable defined in another. However
CHECK-NOT are checked independently so that is using a variable defined
in a pattern that should not occur in the input.

This commit removes the dependency between those CHECK-NOT by replacing
single occurence of the undefined variable by a regex match, and
multiple occurences by a definition followed by a use.

Reviewed By: aemerson

Differential Revision: https://reviews.llvm.org/D99866
The file was modifiedllvm/test/CodeGen/AArch64/speculation-hardening.ll
Commit 69190f95b1698cec8366ad657000b275c2039c1b by Louis Dionne
[libc++] NFCI: Fix test pinning down RTTI implementation on Apple platforms

The test didn't handle arm64 correctly.
The file was modifiedlibcxx/test/libcxx/language.support/support.rtti/type.info/type_info.comparison.apple.compile.pass.cpp
Commit 908215b34636f579533ecd6671bb6213b8327dbc by listmail
Use AssumeInst in a few more places [nfc]

Follow up to a6d2a8d6f5.  These were found by simply grepping for "::assume", and are the subset of that result which looked cleaner to me using the isa/dyn_cast patterns.
The file was modifiedllvm/lib/IR/Value.cpp
The file was modifiedllvm/lib/Analysis/ModuleSummaryAnalysis.cpp
The file was modifiedllvm/lib/CodeGen/CodeGenPrepare.cpp
The file was modifiedllvm/lib/Transforms/Utils/SimplifyCFG.cpp
The file was modifiedllvm/lib/Transforms/IPO/LowerTypeTests.cpp
The file was modifiedllvm/lib/Analysis/TypeMetadataUtils.cpp
The file was modifiedllvm/lib/Analysis/AssumptionCache.cpp
The file was modifiedllvm/lib/Transforms/Scalar/EarlyCSE.cpp
The file was modifiedllvm/lib/IR/User.cpp
The file was modifiedllvm/lib/Transforms/InstCombine/InstructionCombining.cpp
Commit 4bf8985f4fb1411831505a4b38265eb517783dc7 by listmail
Replace calls to IntrinsicInst::Create with CallInst::Create [nfc]

There is no IntrinsicInst::Create.  These are binding to the method in the super type.  Be explicitly about which method is being called.
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
Commit dfec26b186d2f0c80f2b70901b7cc5747f5b377c by aaron.puchert
Thread safety analysis: Don't warn about managed locks on join points

We already did so for scoped locks acquired in the constructor, this
change extends the treatment to deferred locks and scoped unlocking, so
locks acquired outside of the constructor. Obviously this makes things
more consistent.

Originally I thought this was a bad idea, because obviously it
introduces false negatives when it comes to double locking, but these
are typically easily found in tests, and the primary goal of the Thread
safety analysis is not to find double locks but race conditions.
Since the scoped lock will release the mutex anyway when the scope ends,
the inconsistent state is just temporary and probably fine.

Reviewed By: delesley

Differential Revision: https://reviews.llvm.org/D98747
The file was modifiedclang/test/SemaCXX/warn-thread-safety-analysis.cpp
The file was modifiedclang/lib/Analysis/ThreadSafety.cpp
Commit 0312b25df0a872295f8db203fbebfb4a0d7f0f3e by rob.suderman
[mlir][tosa] Add tosa.table lowering to linalg.generic

Table op lowering to linalg.generic for both i8 (behaves like a gather) and a
pair of gathers with a quantized interpolation.

Differential Revision: https://reviews.llvm.org/D99756
The file was modifiedmlir/test/Conversion/TosaToLinalg/tosa-to-linalg.mlir
The file was modifiedmlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp
Commit c060945b23a1c54d4b2a053ff4b093a2277b303d by vince.a.bridgers
[docs] Update documentation for bugprone-misplaced-widening-cast

The default setting for CheckImplicitCasts was changed in
https://reviews.llvm.org/D32164 but the documentation was not updated.
This simple change just syncs the documentation with the behavior of
that checker.

Reviewed By: aaron.ballman

Differential Revision: https://reviews.llvm.org/D99991
The file was modifiedclang-tools-extra/docs/clang-tidy/checks/bugprone-misplaced-widening-cast.rst
Commit d81d9e8b8604c85709de0a22bb8dd672a28f0401 by sidharth.baveja
[SplitEdge] Update SplitCriticalEdge to return a nullptr only when the edge is not critical

Summary:
The function SplitCriticalEdge (called by SplitEdge) can return a nullptr in
cases where the edge is a critical. SplitEdge uses SplitCriticalEdge assuming it
can always split all critical edges, which is an incorrect assumption.

The three cases where the function SplitCriticalEdge will return a nullptr is:
1. DestBB is an exception block
2. Options.IgnoreUnreachableDests is set to true and
isa(DestBB->getFirstNonPHIOrDbgOrLifetime()) is not equal to a nullptr
3. LoopSimplify form must be preserved (Options.PreserveLoopSimplify is true)
and it cannot be maintained for a loop due to indirect branches

For each of these situations they are handled in the following way:
1. Modified the function ehAwareSplitEdge originally from
llvm/lib/Transforms/Coroutines/CoroFrame.cpp to handle the cases when the DestBB
is an exception block. This function is called directly in SplitEdge.
SplitEdge does not call SplitCriticalEdge in this case
2. Options.IgnoreUnreachableDests is set to false by default, so this situation
does not apply.
3. Return a nullptr in this situation since the SplitCriticalEdge also returned
nullptr. Nothing we can do in this case.

Reviewed By: asbirlea

Differential Revision:https://reviews.llvm.org/D94619
The file was modifiedllvm/lib/Transforms/Utils/BreakCriticalEdges.cpp
The file was modifiedllvm/lib/Transforms/Utils/BasicBlockUtils.cpp
The file was modifiedllvm/include/llvm/Transforms/Utils/BasicBlockUtils.h
The file was modifiedllvm/unittests/Transforms/Utils/BasicBlockUtilsTest.cpp
The file was modifiedllvm/lib/Transforms/Coroutines/CoroFrame.cpp
Commit 0126e906483c50c47db0687195e4b0216479846e by john.demme
[MLIR] [Python] Add capsule methods for pybind11 to PyOperation

Add the `getCapsule()` and `createFromCapsule()` methods to the PyOperation class.

Reviewed By: stellaraccident

Differential Revision: https://reviews.llvm.org/D99927
The file was modifiedmlir/lib/Bindings/Python/IRModule.h
The file was modifiedmlir/test/Bindings/Python/ir_operation.py
The file was modifiedmlir/lib/Bindings/Python/IRCore.cpp
Commit 0d6dd23ca9a32325bb756c656cfc1a275984b05e by craig.topper
[MachineValueTypes] Add blank lines between floating point vectors with different element types. NFC
The file was modifiedllvm/include/llvm/Support/MachineValueType.h
Commit 2461804b484e53e448632de0b195ce187e9b0b04 by jezng
[lld-macho] Symbol::value should always be uint64_t

D98837 migrated a bunch of `value`s to uint64_t, but missed these.
The file was modifiedlld/MachO/InputFiles.cpp
The file was modifiedlld/MachO/SymbolTable.h
The file was modifiedlld/MachO/SymbolTable.cpp
Commit 3da61ddae7fe77f71b89ce20cf6b5febd68d216a by hansang.bae
[OpenMP] Define omp_is_initial_device() variants in omp.h

omp_is_initial_device() is marked as a built-in function in the current
compiler, and user code guarded by this call may be optimized away,
resulting in undesired behavior in some cases. This patch provides a
possible fix for such cases by defining the routine as a variant
function and removing it from builtin list.

Differential Revision: https://reviews.llvm.org/D99447
The file was modifiedopenmp/runtime/src/include/omp.h.var
The file was modifiedclang/lib/AST/ExprConstant.cpp
The file was removedclang/test/OpenMP/is_initial_device.c
The file was modifiedclang/include/clang/Basic/Builtins.def
The file was addedopenmp/libomptarget/test/api/is_initial_device.c
Commit 2641c1f15ea53125eb4119af036c60553b30f7bf by craig.topper
[RISCV] Don't custom type legalize fixed vector to scalar integer bitcasts if the fixed vector type isn't legal.

We encountered a hang in our internal code base. I'm having trouble
creating a test case because the test that hit it was testing some
code that is not upstream.
The file was modifiedllvm/lib/Target/RISCV/RISCVISelLowering.cpp
Commit 52cc9df1c14cf34dbfe491cf2b4079c920a2190e by psteinfeld
[flang] Improve constant folding for type parameter inquiries

We were not folding type parameter inquiries for the form 'var%typeParam'
where 'typeParam' was a KIND or LEN type parameter of a derived type and 'var'
was a designator of the derived type.  I fixed this by adding code to the
function 'FoldOperation()' for 'TypeParamInquiry's to handle this case.  I also
cleaned up the code for the case where there is no designator.

In order to make the error messages correctly refer to both the points of
declaration and instantiation, I needed to add an argument to the function
'InstantiateIntrinsicType()' for the location of the instantiation.

I also changed the formatting of 'TypeParamInquiry' to correctly format this
case.  I also added tests for both KIND and LEN type parameter inquiries in
resolve104.f90.

Making these changes revealed an error in resolve89.f90 and caused one of the
error messages in assign04.f90 to be different.

Reviewed By: klausler

Differential Revision: https://reviews.llvm.org/D99892
The file was modifiedflang/test/Semantics/resolve89.f90
The file was modifiedflang/lib/Evaluate/formatting.cpp
The file was modifiedflang/lib/Semantics/type.cpp
The file was modifiedflang/test/Semantics/assign04.f90
The file was modifiedflang/lib/Evaluate/fold-integer.cpp
The file was addedflang/test/Semantics/resolve104.f90
Commit a1aada75f565fe9312e341cb850d415529a84eb2 by mizvekov
[docs] Fix doxygen comments wrongly attached to the llvm namespace

Looking at the Doxygen-generated documentation for the llvm namespace
currently shows all sorts of random comments from different parts of the
codebase. These are mostly caused by:

- File doc comments that aren't marked with \file, so they're attached to
  the next declaration, which is usually "namespace llvm {".
- Class doc comments placed before the namespace rather than before the
  class.
- Code comments before the namespace that (in my opinion) shouldn't be
  extracted by doxygen at all.

This commit fixes these comments. The generated doxygen documentation now
has proper docs for several classes and files, and the docs for the llvm
and llvm::detail namespaces are now empty.

Reviewed By: thakis, mizvekov

Differential Revision: https://reviews.llvm.org/D96736
The file was modifiedllvm/include/llvm/CodeGen/TargetPassConfig.h
The file was modifiedllvm/include/llvm/IR/PassManagerImpl.h
The file was modifiedllvm/include/llvm/CodeGen/GlobalISel/GISelKnownBits.h
The file was modifiedllvm/include/llvm/CodeGen/GlobalISel/LegalizerInfo.h
The file was modifiedllvm/include/llvm/CodeGen/AccelTable.h
The file was modifiedllvm/include/llvm/ExecutionEngine/Orc/SpeculateAnalyses.h
The file was modifiedllvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
The file was modifiedllvm/lib/CodeGen/LiveRangeUtils.h
The file was modifiedllvm/include/llvm/CodeGen/GlobalISel/Combiner.h
The file was modifiedllvm/include/llvm/CodeGen/GlobalISel/LostDebugLocObserver.h
The file was modifiedllvm/include/llvm/Analysis/ValueLattice.h
The file was modifiedllvm/include/llvm/CodeGen/GlobalISel/CombinerInfo.h
The file was modifiedllvm/include/llvm/CodeGen/GlobalISel/CSEInfo.h
The file was modifiedllvm/include/llvm/CodeGen/GlobalISel/RegBankSelect.h
The file was modifiedllvm/include/llvm/CodeGen/Passes.h
The file was modifiedllvm/include/llvm/Support/LowLevelTypeImpl.h
The file was modifiedllvm/lib/CodeGen/EdgeBundles.cpp
The file was modifiedllvm/include/llvm/CodeGen/LowLevelType.h
The file was modifiedllvm/include/llvm/Support/BinaryStreamArray.h
The file was modifiedllvm/lib/Target/X86/X86OptimizeLEAs.cpp
The file was modifiedllvm/include/llvm/CodeGen/GlobalISel/MIPatternMatch.h
The file was modifiedllvm/include/llvm/ADT/STLExtras.h
The file was modifiedllvm/include/llvm/CodeGen/GlobalISel/GISelChangeObserver.h
The file was modifiedllvm/include/llvm/IR/GlobalIFunc.h
The file was modifiedllvm/lib/Target/Hexagon/HexagonISelDAGToDAG.cpp
The file was modifiedllvm/lib/CodeGen/MachineSSAUpdater.cpp
The file was modifiedllvm/include/llvm/BinaryFormat/MsgPackDocument.h
The file was modifiedllvm/include/llvm/IR/PassManagerInternal.h
The file was modifiedllvm/include/llvm/Support/Chrono.h
The file was modifiedllvm/include/llvm/Support/OptimizedStructLayout.h
The file was modifiedllvm/include/llvm/InterfaceStub/ELFObjHandler.h
The file was modifiedllvm/lib/Target/X86/ImmutableGraph.h
Commit 01a23dccb1a167869cb08f23817e5a885bd7b555 by craig.topper
[RISCV] Add an assertion to the ReplaceNodeResults handling of bitcasts to make sure the VT is always a scalar integer.
The file was modifiedllvm/lib/Target/RISCV/RISCVISelLowering.cpp
Commit 4fd05e0ad7fba41f27a6f61d9f7fec4382cb96fe by Yaxun.Liu
[HIP] Change to code object v4

Change to code object v4 by default to match ROCm 4.1.

Reviewed by: Artem Belevich

Differential Revision: https://reviews.llvm.org/D99235
The file was modifiedclang/test/Driver/hip-toolchain-device-only.hip
The file was modifiedclang/test/Driver/hip-toolchain-rdc-separate.hip
The file was modifiedclang/tools/clang-offload-bundler/ClangOffloadBundler.cpp
The file was modifiedclang/test/Driver/hip-target-id.hip
The file was modifiedclang/test/Driver/hip-toolchain-rdc-static-lib.hip
The file was modifiedclang/test/Driver/hip-toolchain-no-rdc.hip
The file was modifiedclang/test/Driver/hip-toolchain-rdc.hip
The file was modifiedclang/lib/Driver/ToolChains/HIP.cpp
The file was modifiedclang/lib/Driver/ToolChains/CommonArgs.cpp
The file was modifiedclang/test/Driver/hip-code-object-version.hip
Commit 86175d5fedba7c09ad09ee5afd359e7f9246367a by Yaxun.Liu
Minor fix for test hip-code-object-version.hip

Changed the order of checking of v2 and v3.

Change-Id: Ifea8197b398afdfb0aa1bd40140cda30f00f0c17
The file was modifiedclang/test/Driver/hip-code-object-version.hip
Commit e74e6afcf13aeb7d0a30e55b2eda89f5910d6e68 by jpienaar
[shape] Add min and max ops

These are element-wise operations that operates on shapes with equal ranks.
Also add missing printer/parser for join operator.

Differential Revision: https://reviews.llvm.org/D99986
The file was modifiedmlir/test/Dialect/Shape/ops.mlir
The file was modifiedmlir/include/mlir/Dialect/Shape/IR/ShapeOps.td
Commit 401826800ef1d2e73ac9ea8e7e31d6c12d543c5e by rtrieu
Add missing CHECK lines in test
The file was modifiedclang/test/SemaCXX/warn-max-unsigned-zero.cpp
Commit b5c63e30ca1af7e36ba5069eb0121d1eb4b06ebb by yrouban
[NewPM] Set verify-cfg-preserved=1 by default for debug builds
The file was modifiedllvm/lib/Passes/StandardInstrumentations.cpp
Commit c4c98c1b0a0c276475fdbd895aa21a85d23352e4 by aorlov
Removed redundant code.
The file was modifiedllvm/tools/llvm-pdbutil/llvm-pdbutil.cpp
Commit 5d07dc897707f877c45cab6c7e4b65dad7d3ff6d by Jonas Devlieghere
[dsymutil] Don't emit .debug_pubnames and .debug_pubtypes

Consider the .debug_pubnames and .debug_pubtypes their own kind of
accelerator and stop emitting them together with the Apple-style
accelerator tables. The only reason we were still emitting both was for
(byte-for-byte) compatibility with dsymutil-classic.

- This patch adds a new accelerator table kind "Pub" which can be
   specified with --accelerator=Pub.
- This patch removes the ability to emit both pubnames/types and apple
   style accelerator tables. I don't think anyone is relying on that but
   it's worth pointing out.
- This patch removes the --minimize option and makes this behavior the
   default. Specifying the flag will result in a warning but won't abort
   the program.

Differential revision: https://reviews.llvm.org/D99907
The file was modifiedllvm/include/llvm/DWARFLinker/DWARFStreamer.h
The file was modifiedllvm/test/tools/dsymutil/cmdline.test
The file was removedllvm/test/tools/dsymutil/X86/minimize.test
The file was modifiedllvm/tools/dsymutil/DwarfLinkerForBinary.cpp
The file was modifiedllvm/lib/DWARFLinker/DWARFStreamer.cpp
The file was modifiedllvm/tools/dsymutil/LinkUtils.h
The file was modifiedllvm/include/llvm/DWARFLinker/DWARFLinker.h
The file was modifiedllvm/test/tools/dsymutil/X86/basic-linking-x86.test
The file was modifiedllvm/lib/DWARFLinker/DWARFLinker.cpp
The file was modifiedllvm/test/tools/dsymutil/X86/basic-linking-bundle.test
The file was modifiedllvm/test/tools/dsymutil/X86/dsym-companion.test
The file was modifiedllvm/tools/dsymutil/Options.td
The file was modifiedllvm/test/tools/dsymutil/ARM/obfuscated.test
The file was modifiedllvm/test/tools/dsymutil/X86/basic-lto-dw4-linking-x86.test
The file was modifiedllvm/test/tools/dsymutil/X86/basic-lto-linking-x86.test
The file was modifiedllvm/test/tools/dsymutil/X86/update.test
The file was modifiedllvm/tools/dsymutil/dsymutil.cpp
Commit 233c24330b8e253c4a22053fb405cffb6da769d9 by Jonas Devlieghere
[dsymutil] Don't keep old abbreviations

Don't keep the old abbreviations around. This code existed for
compatibility with dsymutil-classic.
The file was modifiedllvm/lib/DWARFLinker/DWARFLinker.cpp
Commit 162c2759b66a5ecc5ffa59fb0e894e8bbb377f6a by Jonas Devlieghere
[dsymutil] Stop emulating dsymutil-classic CIE caching behavior

Stop emulating dsymutil-classic which only cached the last used CIE for
reuse.
The file was modifiedllvm/lib/DWARFLinker/DWARFLinker.cpp
The file was modifiedllvm/test/tools/dsymutil/X86/frame-2.test
Commit 8b109bc2eae0d33a140982c02c77501932bfa394 by jpienaar
[mlir,shape] Add max/min folder for simple case

When both arguments are the same for these ops, propagate this argument.
The file was modifiedmlir/lib/Dialect/Shape/IR/Shape.cpp
The file was modifiedmlir/include/mlir/Dialect/Shape/IR/ShapeOps.td
The file was modifiedmlir/test/Dialect/Shape/canonicalize.mlir
Commit a547b4e26b311e417cd51100e379693f51a3f448 by phosek
Revert "[InstCombine] Fold `((X - Y) - Z)` to `X - (Y + Z)` (PR49858)"

This reverts commit 31d219d2997fed1b7dc97e0adf170d5aaf65883e which
causes an infinite loop when compiling the XRay runtime.
The file was modifiedllvm/test/Transforms/InstCombine/sub-from-sub.ll
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
The file was modifiedllvm/test/Transforms/InstCombine/abs-1.ll
Commit cedd07df5136ba446be23dbd2ca7d29d7b82cd60 by cjdb
[libcxx] fixes `common_reference` requirement for `swappable_with`

LWG3175 identifies that the `common_reference` requirement for
`swappable_with` is over-constraining and doesn't need to concern itself
with cv- or reference qualifiers.

Differential Revision: https://reviews.llvm.org/D99817
The file was modifiedlibcxx/test/std/concepts/concepts.lang/concept.swappable/swappable_with.compile.pass.cpp
The file was modifiedlibcxx/include/concepts
The file was modifiedlibcxx/docs/Cxx2aStatusIssuesStatus.csv
Commit 000cf84cf1bb2f5475600737c16c3ccf43096f58 by phosek
Revert "[NFC][Clang] Speculative fix for builtins-ppc-quadword-noi128.c"

This reverts commit 849d3729433e05e6d89892c1814fa07ed3ec18e2 which
depends on 31d219d2997fed1b7dc97e0adf170d5aaf65883e that was reverted.
The file was modifiedclang/test/CodeGen/builtins-ppc-quadword-noi128.c