Changes

Summary

  1. Turned off the assertions for ThinLTO deterministic build, as unreachable emits a full path to a autogenerated files in the build directory. (details)
  2. [zorg] Remove the clang-ppc64le-linux bot (details)
Commit dd585d5dbde5996399a60ebd4d3b881010e4d949 by gkistanova
Turned off the assertions for ThinLTO deterministic build, as unreachable emits a full path to a autogenerated files in the build directory.
The file was modifiedbuildbot/osuosl/master/config/builders.py (diff)
Commit 7752cc0ec70a27562735441d54603f983e312df8 by amy.kwan1
[zorg] Remove the clang-ppc64le-linux bot

This patch aims to remove the clang-ppc64le-linux bot.

The clang-ppc64le-linux bot was originally meant to be a bot to build LLVM and
run LIT tests, in order to quickly notify of any regressions. However, building
on the bot is not particularly quick at all.

As this bot only performs a subset of the tests that the other bots runs, and
that the average build times shown on the webpage exceeds that of other bots
(such as the multistage bot), it defeats the purpose of having this "quick bot"
in the first place.

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

Summary

  1. [JITLink][MachO][arm64] Mask high bits out of immediate for LDRLiteral19. (details)
  2. [Polly] Fix unused variable in non-assert builds. NFC. (details)
  3. [WebAssembly] Make EH work with dynamic linking (details)
  4. [mlir] Make OpResult usable with DenseSet etc. (details)
  5. Revert "[fir] Update clang-tidy for the Optimizer directory" (details)
  6. [mlir][python] Expose CallSiteLoc Python side (details)
  7. [fir][NFC] Remove unused variable (details)
  8. [flang] Implement GET_ENVIRONMENT_VARIABLE(LENGTH) (details)
  9. [analyzer] Bifurcate on getenv() calls (details)
  10. [analyzer] Introduce the assume-controlled-environment config option (details)
  11. [NFC][CSKY] Remove unneeded MC test case (details)
  12. Avoid one branch in Operation::getOpOperand()/getOperand() (NFC) (details)
  13. [clang][modules] Avoid using uninitialized SourceLocation (details)
  14. [X86][SSE] Add tests showing missing shuffle(avg(shuffle(),shuffle())) -> avg(shuffle(),shuffle()) fold (details)
  15. [X86][SSE] Add X86ISD::AVG to isCommutativeBinOp to support folding shuffles through the binop (details)
  16. [NFC] Added test for PR49927 (details)
  17. [NFC] Added test for PR50339 (details)
  18. [SVE][CodeGen] Add patterns for ADD/SUB + element count (details)
  19. [doc][clang] correct version for p0388 implementation (details)
  20. [lldb][NFC] Split out DW_TAG_inheritance parsing into own function (details)
  21. [clangd] TargetFinder: Fix assert-crash on TemplateExpansion args. (details)
  22. [clang][NFC] Correct doc markup (details)
  23. Revert "[RISCV] (2/2) Add the tail policy argument to builtins/intrinsics." (details)
  24. [RISCV] After reverting _mt builtins, add `ta` argument for LLVM IR. (details)
  25. [DebugInfo][InstrRef] Use PHI placement utilities for machine locations (details)
  26. [libc++abi] Change LIBCXXABI_NO_TIMER to LIBCXXABI_USE_TIMER (details)
  27. [libc++abi][ci] Add a from-scratch config for libc++abi on Apple/system (details)
  28. Follow up a3936a6c19c to work around an old compiler bug (details)
  29. [mlir][python] Provide some methods and properties for API completeness (details)
  30. [mlir] Fix typos in the Python bindings doc (details)
  31. [lldb][NFC] for-range loop when iterating over delayed_properties (details)
  32. [InstCombine] add vector splat tests for foldLogOpOfMaskedICmps(); NFC (details)
  33. [InstCombine] allow matching vector splat constants in foldLogOpOfMaskedICmps() (details)
  34. [PowerPC][Builtin] Allowing __rlwnm to accept a variable as a shift parameter (details)
  35. [InstCombine] improve code comments; NFC (details)
  36. [llvm-reduce] Introduce operands-to-args pass. (details)
  37. [gn build] Port dd71b65ca85d (details)
  38. [DebugInfo][InstrRef] Only calculate IDF for reg units (details)
  39. [mlir][vector] Add canonicalization extract + splat (details)
  40. [mlir][python] Add custom constructor for memref load (details)
  41. [lldb] Add a test for CRTP (details)
  42. [mlir] fix python bindings cmake (details)
  43. [fir][NFC] Add disclaimer to affine promotion/demotion passes (details)
  44. [mlir][spirv] Add memory semantics verify for atomic operations (details)
  45. [clang] NFC: Move class to make it reusable (details)
  46. [clang][modules] Cache loads of modules imported by PCH (details)
  47. [AMDGPU] Enable load clustering in the post-RA scheduler (details)
  48. [SCEV] Add test for propagating poison through select condition. (details)
  49. [instcombine] propagate single use freeze(gep inbounds X) (details)
  50. bugprone-argument-comment: SourceLocation valid judgment avoid emitting coredump in isInSystemHeader (details)
  51. [OPENMP51]Initial parsing/sema for adjust_args clause for 'declare variant' (details)
  52. [lldb] Skip several lldb tests that are flaky on Windows (details)
  53. [mlir][sparse] add init sparse tensor operation (details)
  54. [SystemZ/z/OS] Implement save of non-volatile registers on z/OS XPLINK (details)
  55. [AMDGPU] Remove unneeded emit literal check (details)
  56. [OpenMP] libomp: fix warning on comparison of integer expressions of different signedness (details)
  57. [llvm-jitlink] Don't use thread pool task dispatch when LLVM_ENABLE_THREADS=Off (details)
  58. [mlir][sparse] emergency fix after constant -> arith.constant change (details)
  59. Make various assume bundle data structures use uint64_t (details)
  60. [OpenMP] libomp: fix ittnotify usage. (details)
  61. [CMake] Add optional libCURL dependency to llvm build configuration (details)
  62. [OpenMP] libomp: add atomic functions for new OpenMP 5.1 atomics. (details)
  63. [FuncSpec] Don't run the solver if there's nothing to do (details)
  64. [clang] Delete unused class DiagsUninitializedSeveretyRAII (details)
  65. [Builtins] Remove stale comment. NFC (details)
  66. [HIP] Fix test rcom-detect.hip (details)
  67. [sanitizer] Add trivial StackDepot benchmark (details)
  68. [X86][Costmodel] Fix `X86TTIImpl::getGSScalarCost()` (details)
  69. [NFC][Costmodel][X86] Fix broken `CHECK-NOT`'s in interleave costmodel tests (details)
  70. [NFC][X86][LV] Autogenerate checklines in cost-model.ll to simplify further updates (details)
  71. [fir] Add the DoLoopHelper (details)
  72. [clang] [Windows] Mark PIC as implicitly enabled for aarch64, just like for x86_64 (details)
  73. [libcxx] [test] Generalize the conditions for testing bitcasts between long double, double and int128 (details)
  74. [clang][Tooling] Use Windows command lines on all Windows, except Cygwin (details)
  75. [Support] [Path] Use std::replace instead of an explicit comparison loop. NFC. (details)
  76. [Support] [Path] Move function declarations to the right doxygen group in the header. NFC. (details)
  77. [instcombine] PRE freeze to only potentially posion/undef operand of phi (details)
  78. [sanitizer] Cleanup benchmark (details)
  79. [mlgo][aot] requrie the model is autogenerated for test determinism (details)
  80. [InstCombine] Remove attributes after hoisting free above null check (details)
  81. [gn build] (manually) port 6c76d0101193 (details)
  82. [mlir][sparse] Factoring out helper functions for generating constants (details)
  83. [mlir][sparse] Misc code cleanup (details)
  84. [ORC] Add a missing definition. (details)
  85. [ORC] Use a Setup object for SimpleRemoteEPC construction. (details)
  86. [llvm-profgen] Ignore stack samples before aggregation (details)
  87. [llvm-profgen] Ignore the whole trace with the leading external branch (details)
  88. [examples] Fix LLJITWithRemoteDebugging example after 4fcc0ac15e0. (details)
  89. [mlir] Ability to build CAPI dylibs from out of tree projects against installed LLVM. (details)
  90. [RISCV][test] Add more tests of immediate materialisation (details)
  91. [RISCV] Optimize immediate materialisation with SLLI.UW (details)
  92. docs: Document workaround for arcanist failures (details)
  93. [AMDGPU] Fix 24-bit mul intrinsic generation for > 32-bit result. (details)
  94. [clang] Use llvm::is_contained (NFC) (details)
  95. [RISCV] Optimize immediate materialisation with BSETI/BCLRI (details)
  96. [fir] Remove unused variable in FIRBuilder.h (details)
  97. Set LLVM_HAS_RVALUE_REFERENCE_THIS when __GNUC__ is defined (details)
  98. [SCEV][NFC] Reorder checks to delay call of all_of (details)
  99. [SCEV][NFC] Simplify check with CI->isZero() exit condition (details)
  100. [lldb] Print embedded nuls in char arrays (PR44649) (details)
  101. [lldb] Make the thread_local g_global_boundary accessed from a single file (details)
  102. [SystemZ] Bugfix and refactorization of mem-mem operations (details)
  103. [SystemZ] Reapply memcmp and memcpy patches. (details)
  104. [lldb] Fix TestStackCorefile.py for ca0ce99fc8 (details)
  105. [mlir][linalg] Verify every LinalgOp has a body. (details)
  106. [Flang] flang-omp-report replace std::vector's with llvm::SmallVector (details)
  107. [mlir][linalg] Expose flag to control nofold attribute when padding. (details)
  108. [MLIR] Fix assert crash when an unregistered dialect op is encountered (details)
  109. Follow up to a3936a6c19c, correctly select LiveDebugValues implementation (details)
  110. [mlir][python] Fix MemRefType IsAFunction in Python bindings (details)
  111. [mlir][python] Better support for variadic regions in Python bindings (details)
  112. [Orc] ELFNixPlatform::setupJITDylib - remove dead return. NFCI. (details)
  113. [CostModel][X86] Pre-SSE41 targets can use PMADDWD for sext sub-i16 -> i32 (details)
  114. [mlir] NFC - Avoid unused symbol in opt mode. (details)
  115. [clangd] IncludeCleaner: Handle macros coming from ScratchBuffer (details)
  116. [clang][sema] instantiateOMPDeclareVariantAttr - merge repeated VariantFuncRef.get() calls. NFCI. (details)
  117. [Codegen] TargetLowering::getCanonicalIndexType - early out scaled MVT::i8 indices. NFCI. (details)
  118. [ARM] Simplify address calculation for NEON load/store (details)
  119. [SystemZ] Remove some now unused ISD XXX_LOOP opcodes. (details)
  120. [VectorCombine] Add test showing issue when running VectorCombine early. (details)
  121. [NVPTX] Add VRFrame and VRFrameLocal to integer register classes (details)
  122. Fixup [NVPTX] Add VRFrame and VRFrameLocal to integer register classes (details)
  123. [hexagon] Add system register, transfer support (details)
  124. [DebugInfo][InstrRef] Place variable-values PHI using LLVM utilities (details)
  125. [mlir][linalg] Fix FusionOnTensors header and make local method static (NFC). (details)
  126. [RISCV][test] Add tests of (add (shl r, c0), c1) (details)
  127. [NFC][compiler-rt][profile] Remove non-Posix -h option from test (details)
  128. [JITLink][NFC] Add TableManager to replace PerGraph...Builder pass (details)
  129. [mlir][Linalg] Fix insertion point in comprehensive bufferization (details)
  130. [mlir][Linalg] Tighten canonicalization of InsertSliceOp that triggers infinite loop (details)
  131. [lldb] Fix 'frame diagnose' docstring typo (details)
  132. [libc++][NFC] Fixes placement of the return type. (details)
  133. [analyzer][solver] Handle simplification to ConcreteInt (details)
  134. [AMDGPU] Add more tests for build_vector (details)
  135. [libc++] LWG3480: make (recursive_)directory_iterator C++20 ranges (details)
  136. [llvm-profgen] Allow generating AutoFDO profile from CSSPGO binary (details)
  137. [ValueTracking] Simplify getKnowledgeValidInContext() call (NFC) (details)
  138. [sanitizer] Move out stack trace pointer from header StackDepot (details)
  139. [RISCV] Update Zba, Zbb, Zbc, and Zbs version from 0.93 to 1.0. (details)
  140. [FPEnv][InstSimplify] Fold fadd X, 0 ==> X, when we know X is not -0 (details)
  141. [libTooling] Add "switch"-like Stencil combinator (details)
  142. [Transforms] eliminateDeadStores - remove unused variable. NFC. (details)
  143. [TTI][X86] Swap getInterleavedMemoryOpCostAVX2/getInterleavedMemoryOpCostAVX512 implementations. NFC. (details)
  144. [Polly] Clean up Polly's getting started docs. (details)
  145. [Driver][WebAssembly] Use ToolChain reference instead of getToolChain(). (details)
  146. [TTI][X86] Merge getInterleavedMemoryOpCostAVX2 into getInterleavedMemoryOpCost. NFC (details)
  147. [AIX] Ignore case when comparing output from od (details)
  148. [llvm-mca][timeline] Indicate output was stopped due to cycle limit. (details)
  149. [BasicAA] Improve scalable vector handling (details)
  150. [libc++][AIX] Add scripts and config for building with the libcxx CI infrastructure (details)
  151. [lldb] Rewrite TestDiamond and document some bugs. (details)
  152. [mlir][tosa] Fix tosa.cast UiToFp32 for tosa-to-linalg (details)
  153. [lldb] Remove logging from Platform::~Platform (details)
  154. Fix a rejects-valid with consteval on overloaded operators (details)
  155. [Polly][docs] Fix itemize list for release notes. (details)
  156. [Polly] Remove support for code generated by gfortran+DragonEgg. (details)
  157. [X86] Use CMOVNS for abs instead of CMOVGE. (details)
  158. [Driver][Darwin] Use T reference instead of getToolChain().getTriple(). (details)
  159. [lldb] Move ~Platform to source file (details)
  160. Fix a crash on valid consteval code. (details)
  161. [IVUsers] Move preheader check into SCEVExpander (details)
  162. [RISCV] Remove unused member variable. NFC (details)
  163. autogen tests for ease of update (details)
  164. [X86][Costmodel] Improve cost modelling for not-fully-interleaved load (details)
  165. [AArch64] Add extra tests for fptosisat vector variants (details)
  166. [tests] Add indvars tests showing missing transforms with small IVs (details)
  167. [mlir][vector] Refactor linalg vectorization for reductions (details)
  168. [MLIR][arith] fix references to std.constant in comments (details)
  169. [TableGen][PGO] Disable profile instrumentation for printInstruction function (details)
  170. [clang] Support -clear-ast-before-backend without -disable-free (details)
  171. [test] Fix asan dynamic unit tests with per-target runtime dirs (details)
  172. [bazel] Move MC header usage from Support to tblgen (details)
  173. Compress formatting of array type names (int [4] -> int[4]) (details)
  174. [SLP]Fix PR52090: clang crashes: Assertion `Index < Length && "Invalid index!"' failed. (details)
  175. [OpenMP][host runtime] Add support for teams affinity (details)
  176. Disable add_mlir_aggregate() debug file generation. (details)
  177. [flang] Expunge bogus semantic check for ELEMENTAL without dummies (details)
  178. Revert "Compress formatting of array type names (int [4] -> int[4])" (details)
  179. [OpenMP][host runtime] small fixup of RTM CPUID bit check (details)
  180. [OpenMP][host runtime] Add initial hybrid CPU support (details)
  181. [hwasan] Add default "/" prefix. (details)
  182. [hwasan] Fix TestCases/thread-uaf.c. (details)
  183. [scudo] Fix running tests under hwasan. (details)
  184. [NFC][Interpreter] Remove unused CompilerInvocation (details)
  185. [flang] Fold LGE/LGT/LLE/LLT intrinsic functions (details)
  186. [mlir][ods] Enable emitting getter/setter prefix (details)
  187. [flang] Admit NULL() in generic procedure resolution cases (details)
  188. [libc] add memccpy and mempcpy (details)
  189. [NFC][asan] Use more common socket type in test (details)
  190. [NFC][sanitizer] Remove %stdcxx11 (details)
  191. [NFC][asan] Speedup uar_signals.cpp test (details)
  192. [CSSPGO] Turn off PseudoProbeUpdatePass for non-FDO builds. (details)
  193. Fix getInlineCost with ComputeFullInlineCost enabled (details)
  194. [mlir][linalg][bufferize] Rewrite conflict detection (details)
  195. [mlir][linalg][bufferize] Handle scf::ForOp correctly in bufferizesToMemoryRead (details)
  196. [MLIR][ODS] default-valued strings should be in quotes (details)
  197. [SCEV][NFC] Reduce memory footprint & compile time via DFS refactoring (details)
  198. PR52183: Don't emit code for a void-typed constant expression. (details)
  199. [analyzer] Fix property access kind detection inside parentheses. (details)
  200. [PowerPC] Support ppc-asm-full-reg-names for AIX (details)
  201. [SCEV] Prove implication of predicates to their sign-flipped counterparts (details)
  202. [llvm] Use llvm::is_contained (NFC) (details)
Commit 447d3017e476e1dd2a5779051f26fa5eb12d9465 by Lang Hames
[JITLink][MachO][arm64] Mask high bits out of immediate for LDRLiteral19.

Negative deltas for LDRLiteral19 have their high bits set. If these bits aren't
masked out then they will overwrite other instruction bits, leading to a bogus
encoding.

This long-standing relocation bug was exposed by e50aea58d59, "[JITLink][ORC]
Major JITLinkMemoryManager refactor.", which caused memory layouts to be
reordered, which in turn lead to a previously unseen negative delta. (Unseen
because LDRLiteral19s were only created in JITLink passes where they always
pointed at segments that were layed-out-after in the old layout).

No testcase yet: Our existing regression test infrastructure is good at checking
that operand bits are correct, but provides no easy way to test for bad opcode
bits. I'll have a think about the right way to approach this.

https://llvm.org/PR52153
The file was modifiedllvm/lib/ExecutionEngine/JITLink/MachO_arm64.cpp
Commit fa6c5107c369be63c1923632d206e21a932f9870 by llvm-project
[Polly] Fix unused variable in non-assert builds. NFC.
The file was modifiedpolly/lib/Transform/ScheduleTreeTransform.cpp
Commit 9261ee32dc41ae6f2ebf0608c3cec22daf5ec494 by aheejin
[WebAssembly] Make EH work with dynamic linking

This makes Wasm EH work with dynamic linking. So far we were only able
to handle destructors, which do not use any tags or LSDA info.

1. This uses `TargetExternalSymbol` for `GCC_except_tableN` symbols,
   which points to the address of per-function LSDA info. It is more
   convenient to use than `MCSymbol` because it can take additional
   target flags.

2. When lowering `wasm_lsda` intrinsic, if PIC is enabled, make the
   symbol relative to `__memory_base` and generate the `add` node. If
   PIC is disabled, continue to use the absolute address.

3. Make tag symbols (`__cpp_exception` and `__c_longjmp`) undefined in
   the backend, because it is hard to make it work with dynamic
   linking's loading order. Instead, we make all tag symbols undefined
   in the LLVM backend and import it from JS.

4. Add support for undefined tags to the linker.

Companion patches:
- https://github.com/WebAssembly/binaryen/pull/4223
- https://github.com/emscripten-core/emscripten/pull/15266

Reviewed By: sbc100

Differential Revision: https://reviews.llvm.org/D111388
The file was modifiedlld/test/wasm/tag-section.ll
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyAsmPrinter.cpp
The file was modifiedlld/wasm/InputFiles.cpp
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyInstrInfo.td
The file was modifiedlld/wasm/Symbols.h
The file was modifiedlld/wasm/SyntheticSections.h
The file was modifiedlld/wasm/Symbols.cpp
The file was modifiedlld/wasm/SymbolTable.cpp
The file was modifiedllvm/lib/Object/WasmObjectFile.cpp
The file was modifiedlld/test/wasm/Inputs/tag-section1.ll
The file was modifiedlld/test/wasm/Inputs/tag-section2.ll
The file was modifiedlld/wasm/SyntheticSections.cpp
The file was modifiedllvm/test/CodeGen/WebAssembly/eh-lsda.ll
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
The file was modifiedlld/wasm/SymbolTable.h
The file was modifiedllvm/lib/CodeGen/AsmPrinter/WasmException.cpp
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyMCInstLower.cpp
Commit c1610847232d2c7b03f6dcc51d5fefb8f72ad5f9 by springerm
[mlir] Make OpResult usable with DenseSet etc.

`DenseSet<Value>` works but `DenseSet<OpResult>` currently results in a compile error.

Differential Revision: https://reviews.llvm.org/D111694
The file was modifiedmlir/include/mlir/IR/Value.h
Commit 80bdf9c180adcfc5b26b2b68c82ab39551b013fa by clementval
Revert "[fir] Update clang-tidy for the Optimizer directory"

This reverts commit edec659f480f02642461cebd422ab35152cdfd23.
The file was modifiedflang/include/flang/Optimizer/.clang-tidy
The file was modifiedflang/lib/Optimizer/.clang-tidy
Commit e67cbbef03392edc7f5a0e8bd1f64d798d2cfeef by zinenko
[mlir][python] Expose CallSiteLoc Python side

This exposes creating a CallSiteLoc with a callee & list of frames for
callers. Follows the creation approach in C++ side where a list of
frames may be provided.

Reviewed By: ftynse

Differential Revision: https://reviews.llvm.org/D111670
The file was modifiedmlir/lib/Bindings/Python/IRCore.cpp
The file was modifiedmlir/test/python/ir/location.py
Commit 665970d421c8e2d3c162ec8f39247c22577892fe by clementval
[fir][NFC] Remove unused variable
The file was modifiedflang/lib/Optimizer/Transforms/RewriteLoop.cpp
Commit fc2ba5e53d47a07f505ddee2441b3768e446624c by diana.picus
[flang] Implement GET_ENVIRONMENT_VARIABLE(LENGTH)

Search for the environment variable in the envp string passed to
ProgramStart. This doesn't work if the main program isn't Fortran.

Differential Revision: https://reviews.llvm.org/D111394
The file was modifiedflang/runtime/command.cpp
The file was modifiedflang/runtime/environment.cpp
The file was modifiedflang/unittests/Runtime/CommandTest.cpp
The file was modifiedflang/runtime/environment.h
Commit 7fc150309d27b0f98239bec758b895efda8c0481 by balazs.benics
[analyzer] Bifurcate on getenv() calls

The `getenv()` function might return `NULL` just like any other function.
However, in case of `getenv()` a state-split seems justified since the
programmer should expect the failure of this function.

`secure_getenv(const char *name)` behaves the same way but is not handled
right now.
Note that `std::getenv()` is also not handled.

Reviewed By: martong

Differential Revision: https://reviews.llvm.org/D111245
The file was modifiedclang/lib/StaticAnalyzer/Checkers/StdLibraryFunctionsChecker.cpp
The file was modifiedclang/test/Analysis/std-c-library-functions.c
Commit edde4efc66df2257f0b2351d5f98b4fbb2ced620 by balazs.benics
[analyzer] Introduce the assume-controlled-environment config option

If the `assume-controlled-environment` is `true`, we should expect `getenv()`
to succeed, and the result should not be considered tainted.
By default, the option will be `false`.

Reviewed By: NoQ, martong

Differential Revision: https://reviews.llvm.org/D111296
The file was modifiedclang/test/Analysis/analyzer-config.c
The file was modifiedclang/lib/StaticAnalyzer/Checkers/StdLibraryFunctionsChecker.cpp
The file was modifiedclang/include/clang/StaticAnalyzer/Core/AnalyzerOptions.def
The file was addedclang/test/Analysis/assume-controlled-environment.c
The file was modifiedclang/lib/StaticAnalyzer/Checkers/GenericTaintChecker.cpp
Commit 747b0472905dea3dcdb0f8224232475402582c87 by zixuan.wu
[NFC][CSKY] Remove unneeded MC test case
The file was removedllvm/test/MC/CSKY/csky-error.s
Commit 6f5c6858392415fa245f99ebdb9da0795a85c1a6 by joker.eph
Avoid one branch in Operation::getOpOperand()/getOperand() (NFC)

Skip the check on "hasOperandStorage" since the array will be indexed anyway.

Reviewed By: rriddle

Differential Revision: https://reviews.llvm.org/D111696
The file was modifiedmlir/include/mlir/IR/Operation.h
Commit 28fa77feeb7db46abea1a6699d7a88a02d8dab46 by Jan Svoboda
[clang][modules] Avoid using uninitialized SourceLocation

At this point, `F.ImportLoc` has not been initialized by the `ASTReader` yet and using it leads to an assertion failure.

Introduced in 638c673a8c3e27b6532049ac17ac9bc96640fc45 and 444513510999e4c1ea23253654196793834d53bf.
The file was modifiedclang/lib/Serialization/ASTReader.cpp
Commit cceceb72427c296909087fb3602c922d82757729 by llvm-dev
[X86][SSE] Add tests showing missing shuffle(avg(shuffle(),shuffle())) -> avg(shuffle(),shuffle()) fold

X86ISD::AVG needs to be added to isCommutativeBinOp to use these folds.
The file was modifiedllvm/test/CodeGen/X86/avg.ll
Commit fb2539b9d88a48366859e73a2c9cea9f2cbbee5c by llvm-dev
[X86][SSE] Add X86ISD::AVG to isCommutativeBinOp to support folding shuffles through the binop
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/test/CodeGen/X86/avg.ll
Commit 005b715b543e782321408c5ec9f30644161c18e0 by Dávid Bolvanský
[NFC] Added test for PR49927
The file was modifiedllvm/test/Transforms/DeadStoreElimination/stores-of-existing-values.ll
Commit 93fd30a1632743d377d8c6525401074ef9eca562 by Dávid Bolvanský
[NFC] Added test for PR50339
The file was modifiedllvm/test/Transforms/DeadStoreElimination/stores-of-existing-values.ll
Commit 1a2e90199f83e7e3a7267b8fa9715d87ed5b2f88 by kerry.mclaughlin
[SVE][CodeGen] Add patterns for ADD/SUB + element count

This patch adds patterns to match the following with INC/DEC:
- @llvm.aarch64.sve.cnt[b|h|w|d] intrinsics + ADD/SUB
- vscale + ADD/SUB

For some implementations of SVE, INC/DEC VL is not as cheap as ADD/SUB and
so this behaviour is guarded by the "use-scalar-inc-vl" feature flag, which for SVE
is off by default. There are no known issues with SVE2, so this feature is
enabled by default when targeting SVE2.

Reviewed By: david-arm

Differential Revision: https://reviews.llvm.org/D111441
The file was modifiedllvm/lib/Target/AArch64/AArch64Subtarget.h
The file was addedllvm/test/CodeGen/AArch64/sve-vl-arith.ll
The file was modifiedllvm/test/CodeGen/AArch64/sve-extract-fixed-vector.ll
The file was modifiedllvm/test/CodeGen/AArch64/sve-split-extract-elt.ll
The file was modifiedllvm/test/CodeGen/AArch64/sve-gep.ll
The file was modifiedllvm/test/CodeGen/AArch64/sve-intrinsics-counting-elems.ll
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
The file was modifiedllvm/lib/Target/AArch64/AArch64InstrInfo.td
The file was modifiedllvm/test/CodeGen/AArch64/sve-stepvector.ll
The file was modifiedllvm/lib/Target/AArch64/SVEInstrFormats.td
The file was modifiedllvm/test/CodeGen/AArch64/sve-split-insert-elt.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
The file was modifiedllvm/test/CodeGen/AArch64/sve-insert-vector.ll
The file was modifiedllvm/test/CodeGen/AArch64/named-vector-shuffles-sve.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64.td
The file was modifiedllvm/test/CodeGen/AArch64/sve-insert-element.ll
Commit d45526e6c34a82376f05b702a2969b4c4970cb1c by nathan
[doc][clang] correct version for p0388 implementation

The p0388 patch series took so long, the clang version was incorrect,
and I failed to realize that.
The file was modifiedclang/www/cxx_status.html
Commit 7103753733a83602199958fb189d24f62c7400e8 by Raphael Isemann
[lldb][NFC] Split out DW_TAG_inheritance parsing into own function

Just moving that block inside DWARFASTParserClang::ParseChildMembers into
its own function. Also early-exiting instead of a large if when
num_attributes is 0.
The file was modifiedlldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
The file was modifiedlldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.h
Commit fba563e92b6412f49e7e49299d3d27f04f2e1400 by adamcz
[clangd] TargetFinder: Fix assert-crash on TemplateExpansion args.

Previously we would call getAsTemplate() when kind == TemplateExpansion,
which triggers an assertion. The call is now replaced with
getAsTemplateOrTemplatePattern(), which is exactly the same as
getAsTemplate(), except it allows calls when kind == TemplateExpansion.

No change in behavior for no-assert builds.

Differential Revision: https://reviews.llvm.org/D111648
The file was modifiedclang-tools-extra/clangd/FindTarget.cpp
The file was modifiedclang-tools-extra/clangd/unittests/FindTargetTests.cpp
Commit b8ff780f205022d354b7604ebf1307e696804ac7 by nathan
[clang][NFC] Correct doc markup

Spotted when implementing an extension.
The file was modifiedclang/docs/LanguageExtensions.rst
Commit 7ccd31c900edecb1ec3eb75bb6f917dbe674bc72 by kai.wang
Revert "[RISCV] (2/2) Add the tail policy argument to builtins/intrinsics."

This reverts commit 7afa61e71877a5b7892ffe4992f804cd84807240.
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vluxseg.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfneg.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfabs.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vlseg.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vslide1up.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vsse.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vsuxseg.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vwmul.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vsll.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vsuxei.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vnsrl.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfabs.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vsoxei.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vxor.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vlse.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vluxei.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vmfne.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vneg.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfmul.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vsrl.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfrdiv.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vrem.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfsgnj.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfwadd.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vzext.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfslide1down.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vrsub.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfwmul.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vrgather.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vzext.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vslide1down.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vand.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vwsub.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vmul.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfmax.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfadd.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vslide1up.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vasub.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vsub.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vasub.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vmfge.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vwsub.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vwadd.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfcvt.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vlsegff.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vlseg.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfncvt.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vadd.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfrec7.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfrsub.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfmin.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vneg.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vse.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vlmul.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfrec7.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vlsseg.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vwmul.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vmfgt.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vadd.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vlse.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vcompress.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfncvt.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vncvt.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vsetvlmax.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vsext.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfsqrt.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfsgnj.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vnsra.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vaadd.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfrsub.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vsub.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vssseg.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vssra.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vlsseg.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfwcvt.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vdiv.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vleff.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vmfle.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfwsub.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfcvt.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfslide1up.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vsse.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vssrl.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vloxseg.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vssra.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vmax.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfwadd.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfmax.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vsoxei.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfneg.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfwcvt.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vmax.c
The file was removedclang/test/CodeGen/RISCV/rvv-intrinsics/vadd-policy.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vmflt.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vle.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vmin.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vsetvl.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfslide1down.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vwcvt.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vlsegff.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vloxei.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfsub.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vsadd.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vluxseg.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfdiv.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vmv.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vloxei.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vloxseg.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfmv.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vssrl.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfmul.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vsmul.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vwadd.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfrsqrt7.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vnot.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vnsrl.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vnot.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vor.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vsra.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vrgather.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfadd.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfwmul.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfdiv.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vle.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vnclip.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfrsqrt7.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vrem.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vnclip.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vsadd.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfwsub.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vmul.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfsub.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vsseg.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vand.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vxor.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vor.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfrdiv.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vslide1down.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vsext.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vmin.c
The file was modifiedclang/include/clang/Basic/riscv_vector.td
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfsqrt.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vse.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfmin.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vmfeq.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vaadd.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vssub.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vncvt.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vdiv.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vsll.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vssub.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vsoxseg.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vwcvt.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vsra.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vsrl.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vrsub.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vsmul.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vsuxei.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vreinterpret.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vluxei.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfslide1up.c
The file was modifiedclang/utils/TableGen/RISCVVEmitter.cpp
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vnsra.c
Commit 5158cfef8bd7d086b08e323a284c98e6d1b18942 by kai.wang
[RISCV] After reverting _mt builtins, add `ta` argument for LLVM IR.

Previous patch only reverts C builtins for tail policy. In order to keep
LLVM IR intact, add the `ta` argument in vector builtins.
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vsmul.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfmin.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfrsub.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vaadd.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfwadd.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vluxseg.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vwadd.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfabs.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vmax.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vrsub.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfwmul.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfrsqrt7.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vlsseg.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vssub.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vsub.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vneg.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vslide1up.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vsse.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vxor.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vnot.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vsra.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vzext.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vnsrl.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfrsub.c
The file was modifiedclang/utils/TableGen/RISCVVEmitter.cpp
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfwcvt.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vsrl.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfslide1down.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vleff.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vwmul.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfwcvt.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vsext.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfrec7.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vncvt.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vslide1up.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vluxei.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfmin.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vrgather.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfrec7.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vsadd.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vnsra.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vluxseg.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfmax.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vslide1down.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfsqrt.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vsrl.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vmul.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfabs.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vzext.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vmin.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vsuxei.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vwadd.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vrem.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfncvt.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfmul.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vssrl.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vsub.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vsll.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfcvt.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vlseg.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfredsum.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vlsseg.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vlsegff.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vmin.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vssra.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vloxseg.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vand.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vsll.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vdiv.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vor.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfncvt.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vadd.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vlsegff.c
The file was modifiedclang/lib/CodeGen/CGBuiltin.cpp
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfrdiv.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vlseg.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vloxei.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vsra.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfrsqrt7.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vand.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vrgather.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vloxseg.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vsmul.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfadd.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vle.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vnot.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vssra.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfdiv.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfwsub.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfwredsum.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vle.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vaadd.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfslide1up.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfslide1up.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfdiv.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfwsub.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfcvt.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vslide1down.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vwsub.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfslide1down.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vmul.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfsub.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vluxei.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vloxei.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfsgnj.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vssub.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vneg.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vlse.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfneg.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vnclip.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vse.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vsoxei.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vsext.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vxor.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vwsub.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vadd.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vsadd.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfneg.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vor.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfsub.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vrem.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfadd.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vwcvt.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfsgnj.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfmul.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfmax.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vdiv.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vnsra.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vlse.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vnsrl.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vssrl.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vwcvt.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vwmul.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vasub.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfrdiv.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vncvt.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vrsub.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfwmul.c
The file was modifiedclang/include/clang/Basic/riscv_vector.td
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vmax.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vnclip.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfwadd.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vasub.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfsqrt.c
Commit a3936a6c19c7914b86ee7a30ce95439ffb72b9c9 by jeremy.morse
[DebugInfo][InstrRef] Use PHI placement utilities for machine locations

InstrRefBasedLDV used to try and determine which values are in which
registers using a lattice approach; however this is hard to understand, and
broken in various ways. This patch replaces that approach with a standard
SSA approach using existing LLVM utilities. PHIs are placed at dominance
frontiers; value propagation then eliminates un-necessary PHIs.

This patch also adds a bunch of unit tests that should cover many of the
weirder forms of control flow.

Differential Revision: https://reviews.llvm.org/D110173
The file was modifiedllvm/lib/CodeGen/LiveDebugValues/LiveDebugValues.h
The file was modifiedllvm/unittests/CodeGen/InstrRefLDVTest.cpp
The file was modifiedllvm/lib/CodeGen/LiveDebugValues/LiveDebugValues.cpp
The file was modifiedllvm/lib/CodeGen/LiveDebugValues/VarLocBasedImpl.cpp
The file was modifiedllvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.cpp
The file was modifiedllvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.h
Commit df3de7647e034797ae3c965d6737bc0a4bc7a779 by Louis Dionne
[libc++abi] Change LIBCXXABI_NO_TIMER to LIBCXXABI_USE_TIMER

Instead of always defining LIBCXXABI_NO_TIMER to run the tests, only
define LIBCXXABI_USE_TIMER when we want to enable the timer. This makes
the libc++abi testing configuration simpler.

As a fly-by fix, remove the unused LIBUNWIND_NO_TIMER macro from libunwind.

Differential Revision: https://reviews.llvm.org/D111667
The file was modifiedlibcxxabi/test/libcxxabi/test/config.py
The file was modifiedlibcxxabi/test/support/timer.h
The file was modifiedlibunwind/test/libunwind/test/config.py
Commit d1e0f02e0ba98cd371749c8d70ee9d153c559e91 by Louis Dionne
[libc++abi][ci] Add a from-scratch config for libc++abi on Apple/system

I came across an issue where since we build the library for Apple with
the install name directory being /usr/lib, which means that if we don't
run the tests with DYLD_LIBRARY_PATH, we'll end up loading the
system-provided libc++abi when running the tests. That wreaks havoc.

Instead of fixing it in the legacy config file, this commit introduces
an Apple libc++abi config file that does the right thing.

Differential Revision: https://reviews.llvm.org/D111279
The file was modifiedlibcxx/utils/ci/apple-install-libcxx.sh
The file was modifiedlibcxx/utils/ci/run-buildbot
The file was modifiedlibcxxabi/CMakeLists.txt
The file was addedlibcxxabi/test/configs/apple-libc++abi-shared.cfg.in
The file was addedlibcxxabi/test/configs/cmake-bridge.cfg.in
The file was modifiedlibcxxabi/test/CMakeLists.txt
Commit e845ca2ff121b31bef49c1271d2a0926d7fe5989 by jeremy.morse
Follow up a3936a6c19c to work around an old compiler bug

Old versions of gcc want template specialisations to happen within the
namespace where the template lives; this is still present in gcc 5.1, which
we officially support, so it has to be worked around.
The file was modifiedllvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.cpp
Commit 78f2dae00d32504d1f645f74c67bf4340ebcda82 by zinenko
[mlir][python] Provide some methods and properties for API completeness

When writing the user-facing documentation, I noticed several inconsistencies
and asymmetries in the Python API we provide. Fix them by adding:

- the `owner` property to regions, similarly to blocks;
- the `isinstance` method to any class derived from `PyConcreteAttr`,
  `PyConcreteValue` and `PyConreteAffineExpr`, similar to `PyConcreteType` to
  enable `isa`-like calls without having to handle exceptions;
- a mechanism to create the first block in the region as we could only create
  blocks relative to other blocks, with is impossible in an empty region.

Reviewed By: gysit

Differential Revision: https://reviews.llvm.org/D111556
The file was modifiedmlir/lib/Bindings/Python/IRCore.cpp
The file was modifiedmlir/test/python/ir/blocks.py
The file was modifiedmlir/test/python/ir/value.py
The file was modifiedmlir/docs/Bindings/Python.md
The file was modifiedmlir/lib/Bindings/Python/IRAffine.cpp
The file was modifiedmlir/lib/Bindings/Python/IRModule.h
The file was modifiedmlir/test/python/ir/affine_expr.py
The file was modifiedmlir/test/python/ir/attributes.py
The file was modifiedmlir/test/python/ir/operation.py
Commit 90a6c3c2e4d91ba081e553d7fe33c89ceacc9e4a by zinenko
[mlir] Fix typos in the Python bindings doc
The file was modifiedmlir/docs/Bindings/Python.md
Commit 0648b3c0265e74a6920ae356885d0c29a1f6a44e by Raphael Isemann
[lldb][NFC] for-range loop when iterating over delayed_properties
The file was modifiedlldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
Commit d67022fba91b3ea3af5bcccea930cd96a430ffb2 by spatel
[InstCombine] add vector splat tests for foldLogOpOfMaskedICmps(); NFC

There's a substantial pile of scalar tests for transforms that
depend on this code, but zero vector coverage. This patch adds
a vector test next to the first scalar test in each file that
is affected by foldLogOpOfMaskedICmps.

The code that handles these transforms is artificially limited
from working with vector splat constants.
The file was modifiedllvm/test/Transforms/InstCombine/or.ll
The file was modifiedllvm/test/Transforms/InstCombine/onehot_merge.ll
The file was modifiedllvm/test/Transforms/InstCombine/bit-checks.ll
The file was modifiedllvm/test/Transforms/InstCombine/icmp-logical.ll
The file was modifiedllvm/test/Transforms/InstCombine/sign-test-and-or.ll
Commit 905d170803b0aafd5b4872ce084ed3f84746b6c9 by spatel
[InstCombine] allow matching vector splat constants in foldLogOpOfMaskedICmps()

This is NFC-intended for scalar code. There are still unnecessary
m_ConstantInt restrictions in surrounding code, so this is not a
complete fix.

This prevents regressions seen with a planned follow-on to D111410.
The file was modifiedllvm/test/Transforms/InstCombine/bit-checks.ll
The file was modifiedllvm/test/Transforms/InstCombine/icmp-logical.ll
The file was modifiedllvm/test/Transforms/InstCombine/sign-test-and-or.ll
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
The file was modifiedllvm/test/Transforms/InstCombine/or.ll
The file was modifiedllvm/test/Transforms/InstCombine/onehot_merge.ll
Commit 89ec99c778943151213118f096e8008197c9ba10 by kamau.bridgeman.ibm
[PowerPC][Builtin] Allowing __rlwnm to accept a variable as a shift parameter

The builtin __rlwnm is currently constrained to accept only constants
for the shift parameter but the instructions emitted for it have no such
constraint, this patch allows the builtins to accept variable shift.

Reviewed By: NeHuang, amyk

Differential Revision: https://reviews.llvm.org/D111229
The file was modifiedclang/test/CodeGen/builtins-ppc-xlcompat-error.c
The file was modifiedclang/include/clang/Basic/BuiltinsPPC.def
The file was modifiedclang/test/CodeGen/builtins-ppc-xlcompat-rotate.c
The file was modifiedclang/lib/Sema/SemaChecking.cpp
Commit 02928fcb8c64aaebd2b54d98b94a8ad83e6a4490 by spatel
[InstCombine] improve code comments; NFC
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
Commit dd71b65ca85dd2f80aca3ad0f0235180580f5824 by llvm-project
[llvm-reduce] Introduce operands-to-args pass.

Instead of setting operands to undef as the "operands" pass does,
convert the operands to a function argument. This avoids having to
introduce undef values into the IR which have some unpredictability
during optimizations.

For instance,

    define void @func() {
    entry:
      %val = add i32 32, 21
      store i32 %val, i32* null
      ret void
    }

is reduced to

    define void @func(i32 %val) {
    entry:
      %val1 = add i32 32, 21
      store i32 %val, i32* null
      ret void
    }

(note that the instruction %val is renamed to %val1 when printing
the IR to avoid ambiguity; ideally %val1 would be removed by dce or the
instruction reduction pass)

Any call to @func is replaced with a call to the function with the
new signature and filled with undef. This is not ideal for IPA passes,
but those out-of-scope for now.

Reviewed By: aeubanks

Differential Revision: https://reviews.llvm.org/D111503
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/ReduceOperandsToArgs.cpp
The file was addedllvm/test/tools/llvm-reduce/operands-to-args.ll
The file was addedllvm/tools/llvm-reduce/deltas/ReduceOperandsToArgs.h
The file was modifiedllvm/test/tools/llvm-reduce/remove-call-site-attributes.ll
Commit 8a9faef30eea46e806e6528c5dab4f5b0c095dab by llvmgnsyncbot
[gn build] Port dd71b65ca85d
The file was modifiedllvm/utils/gn/secondary/llvm/tools/llvm-reduce/BUILD.gn
Commit fbf269c71e9e50fb9225ac84425019dfe3b03b0f by jeremy.morse
[DebugInfo][InstrRef] Only calculate IDF for reg units

In D110173 we start using the existing LLVM IDF calculator to place PHIs as
we reconstruct an SSA form of machine-code program. Sadly that's slower
than the old (but broken) way, this patch attempts to recover some of that
performance.

The key observation: every time we def a register, we also have to def it's
register units. If we def'd $rax, in the current implementation we
independently calculate PHI locations for {al, ah, ax, eax, hax, rax}, and
they will all have the same PHI positions. Instead of doing that, we can
calculate the PHI positions for {al, ah} and place PHIs for any aliasing
registers in the same positions. Any def of a super-register has to def
the unit, and vice versa, so this is sound. It cuts down the SSA placement
we need to do significantly.

This doesn't work for stack slots, or registers we only ever read, so place
PHIs normally for those. LiveDebugValues choses to ignore writes to SP at
calls, and now have to ignore writes to SP register units too.

Differential Revision: https://reviews.llvm.org/D111627
The file was modifiedllvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.cpp
The file was modifiedllvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.h
Commit cc83c2444f8a3bdb7f4b92f52a14b53792346057 by thomasraoux
[mlir][vector] Add canonicalization extract + splat

Make canonicalization working on broadcast also work on splat op.

Differential Revision: https://reviews.llvm.org/D111690
The file was modifiedmlir/test/Dialect/Vector/canonicalize.mlir
The file was modifiedmlir/lib/Dialect/Vector/VectorOps.cpp
Commit 7fd6f40dbd4ebd5c3378819e51a42d9d24c3dd9d by zinenko
[mlir][python] Add custom constructor for memref load

The type can be inferred trivially, but it is currently done as string
stitching between ODS and C++ and is not easily exposed to Python.

Reviewed By: nicolasvasilache

Differential Revision: https://reviews.llvm.org/D111712
The file was addedmlir/python/mlir/dialects/_memref_ops_ext.py
The file was modifiedmlir/test/python/dialects/memref.py
Commit 4019699fa5fd153586f02fd7f6b7cfc51a688bf2 by Raphael Isemann
[lldb] Add a test for CRTP
The file was addedlldb/test/API/lang/cpp/crtp/Makefile
The file was addedlldb/test/API/lang/cpp/crtp/main.cpp
The file was addedlldb/test/API/lang/cpp/crtp/TestCppCRTP.py
Commit 2b55e1438475d67a295ec7aabe01e526ae21ed91 by zinenko
[mlir] fix python bindings cmake
The file was modifiedmlir/python/CMakeLists.txt
Commit b2169992aabea4bd896c6c57e7332d22868e2200 by clementval
[fir][NFC] Add disclaimer to affine promotion/demotion passes

AffinePromotion and AffineDemotion passes where upstreamed
in their current status from fir-dev. In order to make sure everybody
is on the same page, this patch add some comments to state that.

Reviewed By: schweitz

Differential Revision: https://reviews.llvm.org/D111629
The file was modifiedflang/lib/Optimizer/Transforms/AffineDemotion.cpp
The file was modifiedflang/lib/Optimizer/Transforms/AffinePromotion.cpp
Commit 8c1553f0d7bd1d78a9e7e742099372ad5bf647aa by xndchn
[mlir][spirv] Add memory semantics verify for atomic operations

Differential Revision: https://reviews.llvm.org/D111510
The file was modifiedmlir/lib/Dialect/SPIRV/IR/SPIRVOps.cpp
The file was modifiedmlir/test/Dialect/SPIRV/IR/atomic-ops.mlir
The file was modifiedmlir/utils/spirv/report_coverage.sh
The file was modifiedmlir/include/mlir/Dialect/SPIRV/IR/SPIRVBarrierOps.td
Commit aae776a5341ccf90a2c0a4e2e952ae4ec5ffb422 by Jan Svoboda
[clang] NFC: Move class to make it reusable

This is a prep patch for D111560.
The file was modifiedclang/lib/Frontend/CompilerInstance.cpp
Commit 08c8016cfb2af9463514709271ae8c4ad6b19377 by Jan Svoboda
[clang][modules] Cache loads of modules imported by PCH

During explicit modular build, PCM files are typically specified via the `-fmodule-file=<path>` command-line option. Early during the compilation, Clang uses the `ASTReader` to read their contents and caches the result so that the module isn't loaded implicitly later on. A listener is attached to the `ASTReader` to collect names of the modules read from the PCM files. However, if the PCM has already been loaded previously via PCH:
1. the `ASTReader` doesn't do anything for the second time,
2. the listener is not invoked at all,
3. the module load result is not cached,
4. the compilation fails when attempting to load the module implicitly later on.

This patch solves this problem by attaching the listener to the `ASTReader` for PCH reading as well.

Reviewed By: dexonsmith

Differential Revision: https://reviews.llvm.org/D111560
The file was addedclang/test/Modules/Inputs/pch-shared-module/pch.h
The file was addedclang/test/Modules/Inputs/pch-shared-module/mod.h
The file was addedclang/test/Modules/Inputs/pch-shared-module/module.modulemap
The file was modifiedclang/lib/Tooling/DependencyScanning/DependencyScanningTool.cpp
The file was modifiedclang/test/ClangScanDeps/modules-pch.c
The file was modifiedclang/lib/Frontend/CompilerInstance.cpp
The file was addedclang/test/Modules/pch-shared-module.c
Commit c885857e9d03dbf2563c43e8a0a99b3f63a4d106 by jay.foad
[AMDGPU] Enable load clustering in the post-RA scheduler

This has a couple of benefits:
1. It can sometimes fix clusters that got broken apart when the register
   allocator inserted a copy.
2. Post-RA scheduling does not have to worry about increasing register
   pressure, which in some cases gives it more freedom to reorder
   instructions.

Testing on a collection of 10,000 graphics shaders compiled for gfx1010
showed:
- The average length of each run of one or more load instructions
  increased by about 1%.
- The number of runs of two or more load instructions increased by
  about 4%.

Differential Revision: https://reviews.llvm.org/D111646
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/sdiv64.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/promote-constOffset-to-imm.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/amdgpu-codegenprepare-idiv.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/urem64.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/udiv64.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/udivrem.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/idiv-licm.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/extractelement.i128.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/srem64.ll
Commit 4cd6cc64edb3833327601fb9eb2b5a9b6fb2bb7f by flo
[SCEV] Add test for propagating poison through select condition.

Precommit a test for D111643.
The file was modifiedllvm/test/Analysis/ScalarEvolution/nsw.ll
Commit 24c90165742625272b72961405ae00ced356ec74 by listmail
[instcombine] propagate single use freeze(gep inbounds X)

This is a follow on for D111675 which implements the gep case. I'd originally left it out because I was hoping to actually implement the inrange todo, but after a bit of staring at the code, decided to leave it as is since it doesn't effect this use case (i.e. instcombine requires the op to freeze to be an instruction).

Differential Revision: https://reviews.llvm.org/D111691
The file was modifiedllvm/lib/Analysis/ValueTracking.cpp
The file was modifiedllvm/test/Transforms/InstCombine/freeze.ll
Commit ea72b55b5c7c281cb21bb7bd50e6e039ca63dfe8 by aaron
bugprone-argument-comment: SourceLocation valid judgment avoid emitting coredump in isInSystemHeader

If the Node has an invalid location, it will trigger assert in
isInSystemHeader(...).

void test() {
  __builtin_va_list __args;
  // __builtin_va_list has no defination in any source file and its
  // CXXConstructorDecl has invalid sourcelocation
}
coredump with "Assertion `Loc.isValid() && "Can't get file
characteristic of invalid loc!"' failed." in
getFileCharacteristic(SourceLocation).
The file was modifiedclang-tools-extra/test/clang-tidy/checkers/bugprone-argument-comment.cpp
The file was modifiedclang-tools-extra/clang-tidy/bugprone/ArgumentCommentCheck.cpp
Commit fb4c451001d06c600394382e2c6ad6872f78f646 by michael.p.rice
[OPENMP51]Initial parsing/sema for adjust_args clause for 'declare variant'

Adds initial parsing and sema for the 'adjust_args' clause.

Note that an AST clause is not created as it instead adds its expressions
to the OMPDeclareVariantAttr.

Differential Revision: https://reviews.llvm.org/D99905
The file was modifiedclang/include/clang/Basic/Attr.td
The file was modifiedclang/lib/Parse/ParseOpenMP.cpp
The file was modifiedclang/lib/Basic/OpenMPKinds.cpp
The file was addedclang/test/OpenMP/declare_variant_clauses_messages.cpp
The file was modifiedllvm/include/llvm/Frontend/OpenMP/OMP.td
The file was modifiedclang/include/clang/Basic/DiagnosticSemaKinds.td
The file was modifiedclang/lib/AST/AttrImpl.cpp
The file was modifiedclang/lib/CodeGen/CGStmtOpenMP.cpp
The file was modifiedclang/include/clang/Basic/OpenMPKinds.h
The file was addedclang/test/OpenMP/declare_variant_clauses_ast_print.cpp
The file was modifiedclang/test/OpenMP/declare_variant_messages.cpp
The file was modifiedclang/lib/Sema/SemaTemplateInstantiateDecl.cpp
The file was modifiedclang/test/OpenMP/declare_variant_messages.c
The file was modifiedflang/lib/Semantics/check-omp-structure.cpp
The file was modifiedclang/include/clang/Sema/Sema.h
The file was modifiedclang/lib/Sema/SemaOpenMP.cpp
The file was modifiedclang/include/clang/Basic/DiagnosticParseKinds.td
The file was modifiedclang/include/clang/Basic/OpenMPKinds.def
Commit 58917054c29878ff3462f73b32a3e5dfa64d83f9 by stilis
[lldb] Skip several lldb tests that are flaky on Windows

These tests fail every 10 or so runs on Windows causing both local failures as well as buildbot failures.

Differential Revision: https://reviews.llvm.org/D111659
The file was modifiedlldb/test/API/tools/lldb-server/TestGdbRemoteAttachWait.py
The file was modifiedlldb/test/API/commands/target/auto-install-main-executable/TestAutoInstallMainExecutable.py
The file was modifiedlldb/test/API/commands/process/attach/TestProcessAttach.py
The file was modifiedlldb/test/API/tools/lldb-server/TestGdbRemoteAttachOrWait.py
Commit 35517a251dcef1c555d341a4955cbee2f2fae80a by ajcbik
[mlir][sparse] add init sparse tensor operation

This is the first step towards supporting general sparse tensors as output
of operations. The init sparse tensor is used to materialize an empty sparse
tensor of given shape and sparsity into a subsequent computation (similar to
the dense tensor init operation counterpart).

Example:
  %c = sparse_tensor.init %d1, %d2 : tensor<?x?xf32, #SparseMatrix>
  %0 = linalg.matmul
    ins(%a, %b: tensor<?x?xf32>, tensor<?x?xf32>)
    outs(%c: tensor<?x?xf32, #SparseMatrix>) -> tensor<?x?xf32, #SparseMatrix>

Reviewed By: bixia

Differential Revision: https://reviews.llvm.org/D111684
The file was modifiedmlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorOps.td
The file was modifiedmlir/test/Dialect/SparseTensor/roundtrip.mlir
The file was modifiedmlir/lib/Dialect/SparseTensor/IR/SparseTensorDialect.cpp
The file was modifiedmlir/test/Dialect/SparseTensor/invalid.mlir
Commit 0a950a2e94f2f5f1596a9c8af44d3bbd26497927 by kai.nacke
[SystemZ/z/OS] Implement save of non-volatile registers on z/OS XPLINK

This PR implements the save of the XPLINK callee-saved registers
on z/OS.

Reviewed By: uweigand, Kai

Differential Revision: https://reviews.llvm.org/D111653
The file was modifiedllvm/lib/Target/SystemZ/SystemZRegisterInfo.h
The file was modifiedllvm/lib/Target/SystemZ/SystemZSubtarget.h
The file was modifiedllvm/lib/Target/SystemZ/SystemZCallingConv.td
The file was modifiedllvm/lib/Target/SystemZ/SystemZFrameLowering.h
The file was modifiedllvm/lib/Target/SystemZ/SystemZRegisterInfo.cpp
The file was modifiedllvm/lib/Target/SystemZ/SystemZFrameLowering.cpp
The file was addedllvm/test/CodeGen/SystemZ/zos-prologue-epilog.ll
Commit b44eac1b851a63861e61fa47f43de27773c3ce70 by Joseph.Nash
[AMDGPU] Remove unneeded emit literal check

NFC. This check does not verify any functional property since size 8
was added. Remove it for simplicity.

Reviewed By: rampitec

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

Change-Id: Ifd7cbd324a137f939d8dc04acb8fbd54c9527a42
The file was modifiedllvm/lib/Target/AMDGPU/MCTargetDesc/SIMCCodeEmitter.cpp
Commit 5e58b63b28695e4174a1c6ee57867f8aaff2b21d by Andrey.Churbanov
[OpenMP] libomp: fix warning on comparison of integer expressions of different signedness

Replaced macro with global variable of correspondent type.

Differential Revision: https://reviews.llvm.org/D111562
The file was modifiedopenmp/runtime/src/kmp_settings.cpp
Commit 92bec0e9704a2006087fe46abfff5efac46942b8 by Lang Hames
[llvm-jitlink] Don't use thread pool task dispatch when LLVM_ENABLE_THREADS=Off

This should fix compile errors in llvm-jitlink.cpp in LLVM_ENABLE_THREADS=Off
builds due to f3411616896.
The file was modifiedllvm/tools/llvm-jitlink/llvm-jitlink.cpp
Commit a652e5b53a1ab2a19fa96178721c6cf168a511f9 by ajcbik
[mlir][sparse] emergency fix after constant -> arith.constant change

Reviewed By: Mogball

Differential Revision: https://reviews.llvm.org/D111743
The file was modifiedmlir/test/Dialect/SparseTensor/roundtrip.mlir
The file was modifiedmlir/lib/Dialect/SparseTensor/IR/SparseTensorDialect.cpp
The file was modifiedmlir/test/Dialect/SparseTensor/invalid.mlir
Commit 3628bb743642f1399d16718f584737e9b33d89a4 by aeubanks
Make various assume bundle data structures use uint64_t

Following D110451, we need to make sure to support 64 bit values.
The file was modifiedllvm/lib/Analysis/AssumeBundleQueries.cpp
The file was modifiedllvm/lib/Analysis/ValueTracking.cpp
The file was modifiedllvm/test/Transforms/InstCombine/assume-align.ll
The file was modifiedllvm/lib/Transforms/Utils/AssumeBundleBuilder.cpp
The file was modifiedllvm/include/llvm/Analysis/AssumeBundleQueries.h
Commit 6e98ec9b2099475c057612a7af680a27c0b91a24 by Andrey.Churbanov
[OpenMP] libomp: fix ittnotify usage.

Replaced storing of ittnotify domain array index into
location info structure (which is now read-only) with storing of
(location info address + ittnotify domain + team size) into hash map.
Replaced __kmp_itt_barrier_domains and __kmp_itt_imbalance_domains arrays with
__kmp_itt_barrier_domains hash map; __kmp_itt_region_domains and
__kmp_itt_region_team_size arrays with __kmp_itt_region_domains hash map.
Basic functionality did not change (at least tried to not change).

The patch fixes https://bugs.llvm.org/show_bug.cgi?id=48644.

Differential Revision: https://reviews.llvm.org/D111580
The file was modifiedopenmp/runtime/src/kmp_itt.inl
The file was modifiedopenmp/runtime/src/kmp_runtime.cpp
The file was modifiedopenmp/runtime/src/kmp_itt.cpp
The file was modifiedopenmp/runtime/src/kmp_itt.h
Commit 2de43d4202a3caea894f6b91de4604fd2a7501fe by phosek
[CMake] Add optional libCURL dependency to llvm build configuration

This finds the curl libraries if LLVM_ENABLE_CURL is set. This is needed
to implement the debuginfod client library in LLVM.

Patch By: noajshu

Differential Revision: https://reviews.llvm.org/D111238
The file was modifiedllvm/cmake/config-ix.cmake
Commit 621d7a75b16dd2e00fe4acc6c1e2c33d91114d96 by Andrey.Churbanov
[OpenMP] libomp: add atomic functions for new OpenMP 5.1 atomics.

Added functions those implement "atomic compare".
Though clang does not use library interfaces to implement OpenMP atomics,
the functions added for consistency.
Also added missed functions for 80-bit floating min/max atomics.

Differential Revision: https://reviews.llvm.org/D110109
The file was modifiedopenmp/runtime/src/kmp_atomic.cpp
The file was addedopenmp/runtime/test/atomic/kmp_atomic_float10_max_min.c
The file was modifiedopenmp/runtime/src/kmp_atomic.h
The file was modifiedopenmp/runtime/src/dllexports
The file was addedopenmp/runtime/test/atomic/kmp_atomic_cas_cpt.c
The file was addedopenmp/runtime/test/atomic/kmp_atomic_cas.c
Commit 67a58fa3a687ec7463511f8e447e9ae8a26037fc by sjoerd.meijer
[FuncSpec] Don't run the solver if there's nothing to do

Even if there are no interesting functions, the SCCP solver would still run
before bailing. Now bail earlier, avoid running the solver for nothing.

Differential Revision: https://reviews.llvm.org/D111645
The file was addedllvm/test/Transforms/FunctionSpecialization/function-specialization-nothing-todo.ll
The file was modifiedllvm/lib/Transforms/IPO/FunctionSpecialization.cpp
Commit 1bef22950a5c72fe630f4d6aa7f161bc1e2cb2d1 by thakis
[clang] Delete unused class DiagsUninitializedSeveretyRAII
The file was modifiedclang/lib/Sema/SemaOpenMP.cpp
Commit d2e6f471b012579f950b81a2460393e0299f10d2 by craig.topper
[Builtins] Remove stale comment. NFC

The header name was made a separate string more than 12.5 years ago.
I think it was part of the attribute string for less than a week.
The file was modifiedclang/include/clang/Basic/Builtins.def
Commit 1439df00fc5e6dfffeb6a99e3537f6de2e539785 by Yaxun.Liu
[HIP] Fix test rcom-detect.hip

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

Some builds use custom resource directory for clang, therefore the test
cannot assume default resource directory for clang. Use -resource-dir
to force it.

Differential Revision: https://reviews.llvm.org/D111726
The file was modifiedclang/test/Driver/rocm-detect.hip
Commit 43bae7ae26b18c3d5a04a84e43dc7481c9f38c52 by Vitaly Buka
[sanitizer] Add trivial StackDepot benchmark
The file was modifiedcompiler-rt/lib/sanitizer_common/tests/sanitizer_stackdepot_test.cpp
Commit 18eef13dad225e5064e1b37cfb39c4bfea988249 by lebedev.ri
[X86][Costmodel] Fix `X86TTIImpl::getGSScalarCost()`

`X86TTIImpl::getGSScalarCost()` has (at least) two issues:
* it naively computes the cost of sequence of `insertelement`/`extractelement`.
  If we are operating not on the XMM (but YMM/ZMM),
  this widely overestimates the cost of subvector insertions/extractions.
* Gather/scatter takes a vector of pointers, and scalarization results in us performing
  scalar memory operation for each of these pointers, but we never account for the cost
  of extracting these pointers out of the vector of pointers.

Reviewed By: RKSimon

Differential Revision: https://reviews.llvm.org/D111222
The file was modifiedllvm/test/Analysis/CostModel/X86/masked-intrinsic-cost-inseltpoison.ll
The file was modifiedllvm/test/Analysis/CostModel/X86/masked-gather-i32-with-i8-index.ll
The file was modifiedllvm/test/Analysis/CostModel/X86/scatter-i64-with-i8-index.ll
The file was modifiedllvm/test/Analysis/CostModel/X86/scatter-i32-with-i8-index.ll
The file was modifiedllvm/test/Analysis/CostModel/X86/gather-i64-with-i8-index.ll
The file was modifiedllvm/test/Analysis/CostModel/X86/masked-scatter-i32-with-i8-index.ll
The file was modifiedllvm/lib/Target/X86/X86TargetTransformInfo.cpp
The file was modifiedllvm/test/Analysis/CostModel/X86/gather-i32-with-i8-index.ll
The file was modifiedllvm/test/Analysis/CostModel/X86/intrinsic-cost-kinds.ll
The file was modifiedllvm/test/Analysis/CostModel/X86/masked-intrinsic-cost.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/X86/gather_scatter.ll
Commit cb41efb5f42f6e7a17ef96094294b0a07342f672 by lebedev.ri
[NFC][Costmodel][X86] Fix broken `CHECK-NOT`'s in interleave costmodel tests
The file was modifiedllvm/test/Analysis/CostModel/X86/interleaved-store-f32-stride-2.ll
The file was modifiedllvm/test/Analysis/CostModel/X86/interleaved-store-i32-stride-2.ll
The file was modifiedllvm/test/Analysis/CostModel/X86/interleaved-store-i8-stride-2.ll
The file was modifiedllvm/test/Analysis/CostModel/X86/interleaved-load-f32-stride-2.ll
The file was modifiedllvm/test/Analysis/CostModel/X86/interleaved-load-i32-stride-2.ll
The file was modifiedllvm/test/Analysis/CostModel/X86/interleaved-load-f64-stride-2.ll
The file was modifiedllvm/test/Analysis/CostModel/X86/interleaved-store-f64-stride-2.ll
Commit a8a64eaafcacc9cd5979625280af1c1a46be2b2a by lebedev.ri
[NFC][X86][LV] Autogenerate checklines in cost-model.ll to simplify further updates
The file was modifiedllvm/test/Transforms/LoopVectorize/X86/cost-model.ll
Commit bde89ac7f1dafb7b7900c52b0d441672ce19c749 by clementval
[fir] Add the DoLoopHelper

Add the DoLoopHelper. Some helpers functions
to create fir.do_loop operations.

This code was part of D111337 and was extracted in order to
make the patch easier to review.

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

Reviewed By: kiranchandramohan

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

Co-authored-by: Valentin Clement <clementval@gmail.com>
Co-authored-by: Jean Perier <jperier@nvidia.com>
The file was modifiedflang/lib/Optimizer/CMakeLists.txt
The file was addedflang/include/flang/Optimizer/Builder/DoLoopHelper.h
The file was addedflang/lib/Optimizer/Builder/FIRBuilder.cpp
The file was addedflang/lib/Optimizer/Builder/DoLoopHelper.cpp
The file was addedflang/unittests/Optimizer/Builder/DoLoopHelperTest.cpp
The file was modifiedflang/unittests/Optimizer/CMakeLists.txt
The file was addedflang/lib/Optimizer/Builder/CMakeLists.txt
The file was addedflang/include/flang/Optimizer/Builder/FIRBuilder.h
Commit b541845ea082d1dfca53074b4353e1ee0c22dd76 by martin
[clang] [Windows] Mark PIC as implicitly enabled for aarch64, just like for x86_64

This doesn't practically affect the code generation.

Differential Revision: https://reviews.llvm.org/D111707
The file was modifiedclang/lib/Driver/ToolChains/MinGW.cpp
The file was modifiedclang/test/Driver/pic.c
The file was modifiedclang/lib/Driver/ToolChains/MSVC.cpp
Commit a03e17d4d9419811da16bc2e893fd0cf9b8aa2a7 by martin
[libcxx] [test] Generalize the conditions for testing bitcasts between long double, double and int128

MSVC targets also have a 64 bit long double, as do MinGW targets on ARM.
This hasn't been noticed in CI because the MSVC configurations there run
with _LIBCPP_HAS_NO_INT128 defined.

This avoids assuming that either __int128_t or double is equal in size to
long double. i386 MinGW targets have sizeof(long double) == 10, which
doesn't match any of the tested types.

Differential Revision: https://reviews.llvm.org/D111671
The file was modifiedlibcxx/test/std/numerics/bit/bit.cast/bit_cast.pass.cpp
Commit d9b9a7f4287019ad7fb5ae35523e81dee36c1b40 by martin
[clang][Tooling] Use Windows command lines on all Windows, except Cygwin

Previously it only used Windows command lines for MSVC triples, but this
was causing issues for windows-gnu.  In fact, everything 'native' Windows
(ie, not Cygwin) should use Windows command line parsing.

Reviewed By: mstorsjo

Differential Revision: https://reviews.llvm.org/D111195
The file was modifiedclang/lib/Tooling/JSONCompilationDatabase.cpp
Commit 2a4b1539e991f289ea62f74a03f3fc6aa49c9c1f by martin
[Support] [Path] Use std::replace instead of an explicit comparison loop. NFC.

After 8fc7a907b93a8e9eef96e872f8f926db3ebfe9b6, this loop does
the same as a plain `std::replace`.

Also clarify the comment about what this function does.

Differential Revision: https://reviews.llvm.org/D111730
The file was modifiedllvm/include/llvm/Support/Path.h
The file was modifiedllvm/lib/Support/Path.cpp
Commit 6fbc812883ab949d2ce8ee8768f986f2cb39ac35 by martin
[Support] [Path] Move function declarations to the right doxygen group in the header. NFC.

They were in the doxygen group Observers, while they are about
mutating paths.

Differential Revision: https://reviews.llvm.org/D111732
The file was modifiedllvm/include/llvm/Support/Path.h
Commit 47d10b25f82d4df3a6953a12bbdea66ec1b5eaa4 by listmail
[instcombine] PRE freeze to only potentially posion/undef operand of phi

This extends the foldOpIntoPhi code used when visiting a freeze user of a phi to allow any non-undef/poison operand as opposed to only non-undef/poison constants.  This lets us hoist a freeze in the increment of an IV into the preheader in many cases.

Differential Revision: https://reviews.llvm.org/D111744
The file was modifiedllvm/test/Transforms/InstCombine/freeze.ll
The file was modifiedllvm/lib/Transforms/InstCombine/InstructionCombining.cpp
Commit 8383e49b5350d73be1c4895d20e950cd76d0e3c2 by Vitaly Buka
[sanitizer] Cleanup benchmark
The file was modifiedcompiler-rt/lib/sanitizer_common/tests/sanitizer_stackdepot_test.cpp
Commit 6c76d0101193aa4eb891a6954ff047eda2f9cf71 by mtrofin
[mlgo][aot] requrie the model is autogenerated for test determinism

The tests that exercise the 'release' mode, where the model is AOT-ed,
check the output has certain properties, to validate that, indeed, a
different policy from the default one was exercised. For determinism, we
can't reliably check that output for an arbitrary learned policy, since
it could be that policy happens to mimic the default one in that
particular case.

This patch adds a requirement that those tests run only when the model
is autogenerated (e.g. on build bots).

Differential Revision: https://reviews.llvm.org/D111747
The file was modifiedllvm/test/lit.cfg.py
The file was modifiedllvm/test/Transforms/Inline/ML/bounds-checks.ll
The file was modifiedllvm/test/lit.site.cfg.py.in
The file was modifiedllvm/CMakeLists.txt
The file was modifiedllvm/test/Transforms/Inline/ML/ml-test-release-mode.ll
The file was modifiedllvm/test/CMakeLists.txt
The file was modifiedllvm/lib/Analysis/CMakeLists.txt
Commit 6404f4b5af39840a2dad27abc3924eb3846ae8a4 by smeenai
[InstCombine] Remove attributes after hoisting free above null check

If the parameter had been annotated as nonnull because of the null
check, we want to remove the attribute, since it may no longer apply and
could result in miscompiles if left. Similarly, we also want to remove
undef-implying attributes, since they may not apply anymore either.

Fixes PR52110.

Reviewed By: nikic

Differential Revision: https://reviews.llvm.org/D111515
The file was modifiedllvm/lib/Transforms/InstCombine/InstructionCombining.cpp
The file was modifiedllvm/test/Transforms/InstCombine/malloc-free.ll
Commit 8e184f3d2ab553e8ac4b97c4dd7c4ff549f2c99f by thakis
[gn build] (manually) port 6c76d0101193
The file was modifiedllvm/utils/gn/secondary/llvm/test/BUILD.gn
Commit 63d4fc9483774a3b10101bc6a6de9dce1d8bdca2 by 2998727+wrengr
[mlir][sparse] Factoring out helper functions for generating constants

Reviewed By: aartbik

Differential Revision: https://reviews.llvm.org/D111763
The file was modifiedmlir/lib/Dialect/SparseTensor/Transforms/SparseTensorConversion.cpp
Commit 5167c36ab41c09703e0811bc982c0cdac2900320 by 2998727+wrengr
[mlir][sparse] Misc code cleanup

Depends On D111763

Reviewed By: aartbik

Differential Revision: https://reviews.llvm.org/D111766
The file was modifiedmlir/lib/Dialect/SparseTensor/Transforms/SparseTensorConversion.cpp
Commit 8d2736d9ddc3f2390b28ec1ce31db14edf799e36 by Lang Hames
[ORC] Add a missing definition.
The file was modifiedllvm/include/llvm/ExecutionEngine/Orc/TargetProcess/SimpleRemoteEPCServer.h
Commit 4fcc0ac15e056777012a7c62d35f825227a0b7e7 by Lang Hames
[ORC] Use a Setup object for SimpleRemoteEPC construction.

SimpleRemoteEPC notionally allowed subclasses to override the
createMemoryManager and createMemoryAccess methods to use custom objects, but
could not actually be subclassed in practice (The construction process in
SimpleRemoteEPC::Create could not be re-used).

Instead of subclassing, this commit adds a SimpleRemoteEPC::Setup class that
can be used by clients to set up the memory manager and memory access members.
A default-constructed Setup object results in no change from previous behavior
(EPCGeneric* memory manager and memory access objects used by default).
The file was modifiedllvm/lib/ExecutionEngine/Orc/SimpleRemoteEPC.cpp
The file was modifiedllvm/tools/llvm-jitlink/llvm-jitlink.cpp
The file was modifiedllvm/tools/lli/lli.cpp
The file was modifiedllvm/include/llvm/ExecutionEngine/Orc/SimpleRemoteEPC.h
Commit ab5d65e6858b25fc07672a0bd2d07f666bde6b51 by wlei
[llvm-profgen] Ignore stack samples before aggregation

With `ignore-stack-samples`, We can ignore the call stack before the samples aggregation which could reduce some redundant computations.

Reviewed By: hoy, wenlei

Differential Revision: https://reviews.llvm.org/D111577
The file was modifiedllvm/tools/llvm-profgen/PerfReader.cpp
Commit 30ca33eab00b8c815ef95fbb3a14e61dc3278b5b by wlei
[llvm-profgen] Ignore the whole trace with the leading external branch

The first LBR entry can be an external branch, we should ignore the whole trace.

```
     7f7448e889e4 0x7f7448e889e4/0x7f7448e88826/P/-/-/1  0x7f7448e8899f/0x7f7448e889d8/P/-/-/4  ...
```

Reviewed By: wenlei, hoy

Differential Revision: https://reviews.llvm.org/D111749
The file was modifiedllvm/tools/llvm-profgen/PerfReader.cpp
The file was modifiedllvm/test/tools/llvm-profgen/inline-noprobe2.test
The file was addedllvm/test/tools/llvm-profgen/Inputs/artificial-branch.perfscript
Commit abdb82b237ebf42572c5730a2265bfc98fc8b0c4 by Lang Hames
[examples] Fix LLJITWithRemoteDebugging example after 4fcc0ac15e0.
The file was modifiedllvm/examples/OrcV2Examples/LLJITWithRemoteDebugging/RemoteJITUtils.cpp
Commit fe6d9937b3846debfb2d97a32416064dc6c806e9 by stellaraccident
[mlir] Ability to build CAPI dylibs from out of tree projects against installed LLVM.

* Incorporates a reworked version of D106419 (which I have closed but has comments on it).
* Extends the standalone example to include a minimal CAPI (for registering its dialect) and a test which, from out of tree, creates an aggregate dylib and links a little sample program against it. This will likely only work today in *static* MLIR builds (until the TypeID fiasco is finally put to bed). It should work on all platforms, though (including Windows - albeit I haven't tried this exact incarnation there).
* This is the biggest pre-requisite to being able to build out of tree MLIR Python-based projects from an installed MLIR/LLVM.
* I am rather nauseated by the CMake shenanigans I had to endure to get this working. The primary complexity, above and beyond the previous patch is because (with no reason given), it is impossible to export target properties that contain generator expressions... because, of course it isn't. In this case, the primary reason we use generator expressions on the individual embedded libraries is to support arbitrary ordering. Since that need doesn't apply to out of tree (which import everything via FindPackage at the outset), we fall back to a more imperative way of doing the same thing if we detect that the target was imported. Gross, but I don't expect it to need a lot of maintenance.
* There should be a relatively straight-forward path from here to rebase libMLIR.so on top of this facility and also make it include the CAPI.

Differential Revision: https://reviews.llvm.org/D111504
The file was addedmlir/examples/standalone/include/Standalone-c/Dialects.h
The file was modifiedmlir/examples/standalone/test/CMakeLists.txt
The file was addedmlir/examples/standalone/test/CAPI/standalone-capi-test.c
The file was addedmlir/examples/standalone/test/CAPI/lit.local.cfg
The file was addedmlir/examples/standalone/lib/CAPI/CMakeLists.txt
The file was modifiedmlir/examples/standalone/lib/CMakeLists.txt
The file was modifiedmlir/examples/standalone/test/lit.cfg.py
The file was modifiedmlir/cmake/modules/AddMLIRPython.cmake
The file was modifiedmlir/cmake/modules/AddMLIR.cmake
The file was addedmlir/examples/standalone/.gitignore
The file was addedmlir/examples/standalone/test/CAPI/CMakeLists.txt
The file was addedmlir/examples/standalone/lib/CAPI/Dialects.cpp
The file was modifiedmlir/test/Examples/standalone/test.toy
Commit c1d6ba54d360c953f926ea6df547b1ba0dbcdc44 by powerman1st
[RISCV][test] Add more tests of immediate materialisation

Reviewed By: craig.topper

Differential Revision: https://reviews.llvm.org/D111704
The file was modifiedllvm/test/MC/RISCV/rv64zba-aliases-valid.s
The file was modifiedllvm/test/CodeGen/RISCV/imm.ll
Commit 481db13fec3d112a23861759247d846f120c6c8b by powerman1st
[RISCV] Optimize immediate materialisation with SLLI.UW

Use LUI+SLLI.UW to compose the upper bits instead of LUI+SLLI.

Reviewed By: craig.topper

Differential Revision: https://reviews.llvm.org/D111705
The file was modifiedllvm/test/MC/RISCV/rv64zba-aliases-valid.s
The file was modifiedllvm/lib/Target/RISCV/MCTargetDesc/RISCVMatInt.cpp
The file was modifiedllvm/test/CodeGen/RISCV/imm.ll
Commit 509fe20fbca767a65b9c27750ea9d372ed2ab05a by joker.eph
docs: Document workaround for arcanist failures

Reviewed By: smeenai

Differential Revision: https://reviews.llvm.org/D110976
The file was modifiedllvm/docs/GettingStarted.rst
Commit b3c9d84e5a8ef49e33b20e1ea9608c5c9b935591 by abinav.puthanpurayil
[AMDGPU] Fix 24-bit mul intrinsic generation for > 32-bit result.

The 24-bit mul intrinsics yields the low-order 32 bits. We should only
do the transformation if the operands are known to be not wider than 24
bits and the result is known to be not wider than 32 bits.

Differential Revision: https://reviews.llvm.org/D111523
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUCodeGenPrepare.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/amdgpu-codegenprepare-mul24.ll
Commit e567f37dabc242cb02fb8b8b288fd05a0aebfb8f by kazu
[clang] Use llvm::is_contained (NFC)
The file was modifiedclang/lib/Lex/ModuleMap.cpp
The file was modifiedclang/lib/Serialization/ASTReader.cpp
The file was modifiedclang/lib/StaticAnalyzer/Core/HTMLDiagnostics.cpp
The file was modifiedclang/lib/StaticAnalyzer/Core/BugReporter.cpp
The file was modifiedclang/lib/Format/QualifierAlignmentFixer.cpp
The file was modifiedclang/tools/libclang/CIndex.cpp
The file was modifiedclang/lib/StaticAnalyzer/Checkers/PthreadLockChecker.cpp
The file was modifiedclang/lib/StaticAnalyzer/Checkers/MoveChecker.cpp
The file was modifiedclang/tools/libclang/CIndexHigh.cpp
The file was modifiedclang/lib/Edit/EditedSource.cpp
The file was modifiedclang/lib/Parse/ParseTentative.cpp
The file was modifiedclang/lib/Lex/PPDirectives.cpp
The file was modifiedclang/lib/Lex/PPMacroExpansion.cpp
The file was modifiedclang/lib/Frontend/CompilerInvocation.cpp
The file was modifiedclang/lib/Lex/Preprocessor.cpp
The file was modifiedclang/lib/StaticAnalyzer/Checkers/GenericTaintChecker.cpp
The file was modifiedclang/lib/ARCMigrate/ARCMT.cpp
Commit 7e815261267727b1a7138e7135225c482541c677 by powerman1st
[RISCV] Optimize immediate materialisation with BSETI/BCLRI

Opitimize immediate materialisation in the following way if profitable:
1. Use BCLRI for upper 32 bits if the lower 32 bits are negative int32.
2. Use BSETI for upper 32 bits if the lower 32 bits are positive int32.

Reviewed By: craig.topper

Differential Revision: https://reviews.llvm.org/D111508
The file was modifiedllvm/test/MC/RISCV/rv64zbs-aliases-valid.s
The file was modifiedllvm/lib/Target/RISCV/MCTargetDesc/RISCVMatInt.cpp
The file was modifiedllvm/test/CodeGen/RISCV/imm.ll
Commit 0fbd3aad75f957da5a76e761509efed1988d562b by clementval
[fir] Remove unused variable in FIRBuilder.h

Remove unsused variable that break Werror on some buildbots
The file was modifiedflang/include/flang/Optimizer/Builder/FIRBuilder.h
Commit 60605a2b8fa2a1364803971e83ac829957298d40 by aeubanks
Set LLVM_HAS_RVALUE_REFERENCE_THIS when __GNUC__ is defined

gcc does not support __has_feature(), so this was accidentally changed
in D111581 when compiling with gcc.
The file was modifiedllvm/include/llvm/Support/Compiler.h
Commit 46a1dd47e630c0c528bfc02cf7c77160a7488017 by mkazantsev
[SCEV][NFC] Reorder checks to delay call of all_of

Check lightweight getter condition before calling all_of.
The file was modifiedllvm/lib/Analysis/ScalarEvolution.cpp
Commit 6e1308bc1027eb65d0d1297e4b5efa0a69d611d0 by mkazantsev
[SCEV][NFC] Simplify check with CI->isZero() exit condition

Replace check with
    if ((ExitIfTrue && CI->isZero()) || (!ExitIfTrue && CI->isOne()))
with equivalent and simpler version
    if (ExitIfTrue == CI->isZero())
The file was modifiedllvm/lib/Analysis/ScalarEvolution.cpp
Commit ca0ce99fc87c9a49b4c4a69cc6e88594bf6eb13c by pavel
[lldb] Print embedded nuls in char arrays (PR44649)

When we know the bounds of the array, print any embedded nuls instead of
treating them as terminators. An exception to this rule is made for the
nul character at the very end of the string. We don't print that, as
otherwise 99% of the strings would end in \0. This way the strings
usually come out the same as how the user typed it into the compiler
(char foo[] = "with\0nuls"). It also matches how they come out in gdb.

This resolves a FIXME left from D111399, and leaves another FIXME for dealing
with nul characters in "escape-non-printables=false" mode. In this mode the
characters cause the entire summary string to be terminated prematurely.

Differential Revision: https://reviews.llvm.org/D111634
The file was modifiedlldb/test/Shell/SymbolFile/DWARF/x86/DW_AT_const_value.s
The file was modifiedlldb/source/Core/ValueObject.cpp
The file was modifiedlldb/test/API/functionalities/data-formatter/stringprinter/main.cpp
The file was modifiedlldb/test/API/functionalities/data-formatter/builtin-formats/TestBuiltinFormats.py
Commit 7106f588567b59acb17c77f6116ba433b6226333 by martin
[lldb] Make the thread_local g_global_boundary accessed from a single file

This makes the compiler generated code for accessing the thread local
variable much simpler (no need for wrapper functions and weak pointers
to potential init functions), and can avoid toolchain bugs regarding how
to access TLS variables.

In particular, this fixes LLDB when built with current GCC/binutils for
MinGW, see https://github.com/msys2/MINGW-packages/issues/8868.

Differential Revision: https://reviews.llvm.org/D111779
The file was modifiedlldb/source/Utility/ReproducerInstrumentation.cpp
The file was modifiedlldb/include/lldb/Utility/ReproducerInstrumentation.h
Commit 00baad35b2a366437e210a0701173247a3ad5468 by paulsson
[SystemZ] Bugfix and refactorization of mem-mem operations

This patch fixes the bug that consisted of treating variable / immediate
length mem operations (such as memcpy, memset, ...) differently. The variable
length case needs to have the length minus 1 passed due to the use of EXRL
target instructions. However, the DAGCombiner can convert a register length
argument into a constant one, and whenever that happened one byte too little
would end up being performed.

This is also a refactorization by reducing the number of opcodes and variants
involved. For any opcode (variable or constant length), only the length minus
one is passed on to the ISD node. The rest of the logic is now instead
handled during isel pseudo expansion.

Review: Ulrich Weigand

Differential Revision: https://reviews.llvm.org/D111729
The file was modifiedllvm/lib/Target/SystemZ/SystemZInstrInfo.td
The file was modifiedllvm/test/CodeGen/SystemZ/memset-05.ll
The file was modifiedllvm/lib/Target/SystemZ/SystemZSelectionDAGInfo.cpp
The file was modifiedllvm/test/CodeGen/SystemZ/mverify-optypes.mir
The file was modifiedllvm/lib/Target/SystemZ/SystemZOperators.td
The file was modifiedllvm/lib/Target/SystemZ/SystemZISelLowering.cpp
The file was modifiedllvm/lib/Target/SystemZ/SystemZInstrFormats.td
The file was modifiedllvm/lib/Target/SystemZ/SystemZInstrFP.td
Commit a33e4c8ae925e99e565b2ca5dcda8ec2edbb78ee by paulsson
[SystemZ] Reapply memcmp and memcpy patches.

This reverts 3562076 and includes some refactoring as well.

Review: Ulrich Weigand

Differential Revision: https://reviews.llvm.org/D111733
The file was modifiedllvm/test/CodeGen/SystemZ/loop-03.ll
The file was modifiedllvm/test/CodeGen/SystemZ/memcmp-01.ll
The file was modifiedllvm/lib/Target/SystemZ/SystemZISelLowering.cpp
The file was modifiedllvm/lib/Target/SystemZ/SystemZInstrFormats.td
The file was modifiedllvm/test/CodeGen/SystemZ/tail-call-mem-intrinsics.ll
The file was modifiedllvm/lib/Target/SystemZ/SystemZSelectionDAGInfo.cpp
The file was modifiedllvm/test/CodeGen/SystemZ/memcpy-01.ll
Commit fa639eda6535732a5fd79c3f551d5a667b810963 by pavel
[lldb] Fix TestStackCorefile.py for ca0ce99fc8
The file was modifiedlldb/test/API/macosx/stack-corefile/main.c
Commit eaa52750ce38e5c5d7c6b681476f50da9d75bc54 by gysit
[mlir][linalg] Verify every LinalgOp has a body.

After removing the last LinalgOps that have no region attached we can verify there is a region. The patch performs the following changes:
- Move the SingleBlockImplicitTerminator trait further up the the structured op base class.
- Adapt the LinalgOp verification since the trait only check if there is 0 or 1 block.
- Introduce a getBlock method on the LinalgOp interface.
- Access the LinalgOp body using either getBlock() or getBody() if the concrete operation type is known.

This patch is a follow up to https://reviews.llvm.org/D111233.

Reviewed By: nicolasvasilache

Differential Revision: https://reviews.llvm.org/D111393
The file was modifiedmlir/include/mlir/Dialect/Linalg/IR/LinalgStructuredOps.td
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/DropUnitDims.cpp
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Generalization.cpp
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Interchange.cpp
The file was modifiedmlir/include/mlir/Dialect/Linalg/IR/LinalgInterfaces.td
The file was modifiedmlir/test/Dialect/Linalg/invalid.mlir
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
The file was modifiedmlir/lib/Dialect/Linalg/Utils/Utils.cpp
The file was modifiedmlir/tools/mlir-linalg-ods-gen/mlir-linalg-ods-yaml-gen.cpp
The file was modifiedmlir/lib/Dialect/Linalg/IR/LinalgInterfaces.cpp
The file was modifiedmlir/test/lib/Dialect/Test/TestOps.td
Commit 0b48b015b5740ac9e91b21ad4e61188e80b211cf by mats.petersson
[Flang] flang-omp-report replace std::vector's with llvm::SmallVector

This patch replaces all uses of std::vector with llvm::SmallVector in the flang-omp-report plugin.
This is a one of several patches focusing on switching containers from STL to LLVM's ADT library.

Reviewed By: Leporacanthicus

Differential Revision: https://reviews.llvm.org/D111709
The file was modifiedflang/examples/flang-omp-report-plugin/flang-omp-report-visitor.h
Commit a8f69be61fc8892db50b7e37707915ece0344452 by gysit
[mlir][linalg] Expose flag to control nofold attribute when padding.

Setting the nofold attribute enables packing an operand. At the moment, the attribute is set by default. The pack introduces a callback to control the flag.

Reviewed By: nicolasvasilache

Differential Revision: https://reviews.llvm.org/D111718
The file was modifiedmlir/test/Dialect/Linalg/tile-and-pad-tensors.mlir
The file was modifiedmlir/test/lib/Dialect/Linalg/TestLinalgTransforms.cpp
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Transforms.cpp
The file was modifiedmlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h
Commit 05fb26062c32788c7b320937705fcac772ab21ff by uday
[MLIR] Fix assert crash when an unregistered dialect op is encountered

Fix assert crash when an unregistered dialect op is encountered during
parsing and `-allow-unregistered-dialect' isn't on. Instead, emit an
error.

While on this, clean up "registered" vs "loaded" on `getDialect()` and
local clang-tidy warnings.

https://llvm.discourse.group/t/assert-behavior-on-unregistered-dialect-ops/4402

Differential Revision: https://reviews.llvm.org/D111628
The file was modifiedmlir/include/mlir/IR/OperationSupport.h
The file was modifiedmlir/include/mlir/IR/Operation.h
The file was modifiedmlir/lib/IR/Operation.cpp
The file was modifiedmlir/lib/Parser/Parser.cpp
The file was modifiedmlir/test/IR/invalid-unregistered.mlir
Commit e3e1da20d4a97085c805f7d115bd8168f49b1348 by jeremy.morse
Follow up to a3936a6c19c, correctly select LiveDebugValues implementation

Some functions get opted out of instruction referencing if they're being
compiled with no optimisations, however the LiveDebugValues pass picks one
implementation and then sticks with it through the rest of compilation.
This leads to a segfault if we encounter a function that doesn't use
instr-ref (because it's optnone, for example), but we've already decided
to use InstrRefBasedLDV which expects to be passed a DomTree.

Solution: keep both implementations around in the pass, and pick whichever
one is appropriate to the current function.
The file was modifiedllvm/lib/CodeGen/LiveDebugValues/LiveDebugValues.cpp
Commit a04c0b7ed2f92456558af2833f64cd494d161905 by zinenko
[mlir][python] Fix MemRefType IsAFunction in Python bindings

MemRefType was using a wrong `isa` function in the bindings code, which
could lead to invalid IR being constructed. Also run the verifier in
memref dialect tests.

Reviewed By: nicolasvasilache

Differential Revision: https://reviews.llvm.org/D111784
The file was modifiedmlir/python/mlir/dialects/_memref_ops_ext.py
The file was modifiedmlir/test/python/dialects/memref.py
The file was modifiedmlir/lib/Bindings/Python/IRTypes.cpp
Commit 18fbd5fe34f0f01a4f013a3864b6dc681ada58b1 by zinenko
[mlir][python] Better support for variadic regions in Python bindings

Improve support for variadic regions in ODS-generated operation view classes.
In particular, make generated constructors take an extra argument that
specifies the number of variadic regions if the operation has them. Previously,
there was no mechanism to specify a non-zero number of variadic regions. Also
generate named accessors to regions.

Reviewed By: gysit

Differential Revision: https://reviews.llvm.org/D111783
The file was modifiedmlir/tools/mlir-tblgen/OpPythonBindingGen.cpp
The file was modifiedmlir/test/mlir-tblgen/op-python-bindings.td
Commit 16729d0f62749b2e5e479dfd575f1dd90ff74bbd by llvm-dev
[Orc] ELFNixPlatform::setupJITDylib - remove dead return. NFCI.

2 returns, one after the other - reported by coverity
The file was modifiedllvm/lib/ExecutionEngine/Orc/ELFNixPlatform.cpp
Commit 77dcdc2f50cca2e2b9025a1575ba8a5ebbe03542 by llvm-dev
[CostModel][X86] Pre-SSE41 targets can use PMADDWD for sext sub-i16 -> i32

Without SSE41 sext/zext instructions the extensions will be split, meaning that the MUL->PMADDWD fold will split the sext_i32(x) into zext_i32(sext_i16(x))
The file was modifiedllvm/test/Analysis/CostModel/X86/mul32.ll
The file was modifiedllvm/lib/Target/X86/X86TargetTransformInfo.cpp
Commit 012c0cc7c38c58ca14fe51e59ddbd7399489ee7f by nicolas.vasilache
[mlir] NFC - Avoid unused symbol in opt mode.
The file was modifiedmlir/lib/ExecutionEngine/CudaRuntimeWrappers.cpp
Commit 0ce3c7111e909faa0202358bcfd6a46e3ace58b5 by kbobyrev
[clangd] IncludeCleaner: Handle macros coming from ScratchBuffer

Reviewed By: sammccall

Differential Revision: https://reviews.llvm.org/D111698
The file was modifiedclang-tools-extra/clangd/unittests/IncludeCleanerTests.cpp
The file was modifiedclang-tools-extra/clangd/IncludeCleaner.cpp
Commit b577126d626855fabc11a203e7a7e0187d48c227 by llvm-dev
[clang][sema] instantiateOMPDeclareVariantAttr - merge repeated VariantFuncRef.get() calls. NFCI.

Fixes scan-build warning about dead initialization
The file was modifiedclang/lib/Sema/SemaTemplateInstantiateDecl.cpp
Commit 88487662f7c245419e00672c42cb5adc749c1ba3 by llvm-dev
[Codegen] TargetLowering::getCanonicalIndexType - early out scaled MVT::i8 indices. NFCI.

Avoids unused assignment scan-build warning.
The file was modifiedllvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
Commit dc8a41de34933bc10c4d5d89c539dd0dc80d59cc by andrew.savonichev
[ARM] Simplify address calculation for NEON load/store

The patch attempts to optimize a sequence of SIMD loads from the same
base pointer:

    %0 = gep float*, float* base, i32 4
    %1 = bitcast float* %0 to <4 x float>*
    %2 = load <4 x float>, <4 x float>* %1
    ...
    %n1 = gep float*, float* base, i32 N
    %n2 = bitcast float* %n1 to <4 x float>*
    %n3 = load <4 x float>, <4 x float>* %n2

For AArch64 the compiler generates a sequence of LDR Qt, [Xn, #16].
However, 32-bit NEON VLD1/VST1 lack the [Wn, #imm] addressing mode, so
the address is computed before every ld/st instruction:

    add r2, r0, #32
    add r0, r0, #16
    vld1.32 {d18, d19}, [r2]
    vld1.32 {d22, d23}, [r0]

This can be improved by computing address for the first load, and then
using a post-indexed form of VLD1/VST1 to load the rest:

    add r0, r0, #16
    vld1.32 {d18, d19}, [r0]!
    vld1.32 {d22, d23}, [r0]

In order to do that, the patch adds more patterns to DAGCombine:

  - (load (add ptr inc1)) and (add ptr inc2) are now folded if inc1
    and inc2 are constants.

  - (or ptr inc) is now recognized as a pointer increment if ptr is
    sufficiently aligned.

In addition to that, we now search for all possible base updates and
then pick the best one.

Differential Revision: https://reviews.llvm.org/D108988
The file was modifiedllvm/test/CodeGen/ARM/memset-align.ll
The file was modifiedllvm/test/CodeGen/ARM/fp16-vector-argument.ll
The file was modifiedllvm/test/CodeGen/ARM/vselect_imax.ll
The file was modifiedllvm/test/Transforms/LoopStrengthReduce/ARM/ivchain-ARM.ll
The file was modifiedllvm/test/CodeGen/ARM/vext.ll
The file was modifiedllvm/lib/Target/ARM/ARMISelLowering.cpp
The file was addedllvm/test/CodeGen/ARM/arm-post-indexing-opt.ll
The file was modifiedllvm/test/CodeGen/ARM/alloc-no-stack-realign.ll
The file was modifiedllvm/test/CodeGen/ARM/memcpy-inline.ll
The file was modifiedllvm/test/CodeGen/ARM/large-vector.ll
The file was modifiedllvm/test/CodeGen/ARM/misched-fusion-aes.ll
The file was modifiedllvm/test/CodeGen/ARM/vector-load.ll
Commit c0d88613f204c72a7486e3788ec25ca5e79baed8 by paulsson
[SystemZ] Remove some now unused ISD XXX_LOOP opcodes.
The file was modifiedllvm/lib/Target/SystemZ/SystemZISelLowering.cpp
The file was modifiedllvm/lib/Target/SystemZ/SystemZISelLowering.h
Commit 094faa5fcabd0a6eeec816e6449220a850b004f2 by flo
[VectorCombine] Add test showing issue when running VectorCombine early.

Running -vector-combine early can introduce new vector operations,
blocking loop/SLP vectorization. The added test case could be better
optimized by the SLPVectorizer if no new vector operations are added
early.
The file was modifiedllvm/test/Transforms/PhaseOrdering/AArch64/matrix-extract-insert.ll
Commit 51eefa8164575326669f9cd4ee2f118407fd07a5 by andrew.savonichev
[NVPTX] Add VRFrame and VRFrameLocal to integer register classes

These registers are used as operands for instructions that expect an
integer register, so they should be added to Int32Regs or Int64Regs
register classes. Otherwise the machine verifier emits an error for
the following LIT tests when LLVM_ENABLE_MACHINE_VERIFIER=1
environment variable is set:

*** Bad machine code: Illegal physical register for instruction ***
- function:    kernel_func
- basic block: %bb.0 entry (0x55c8903d5438)
- instruction: %3:int64regs = LEA_ADDRi64 $vrframelocal, 0
- operand 1:   $vrframelocal
$vrframelocal is not a Int64Regs register.

    CodeGen/NVPTX/call-with-alloca-buffer.ll
    CodeGen/NVPTX/disable-opt.ll
    CodeGen/NVPTX/lower-alloca.ll
    CodeGen/NVPTX/lower-args.ll
    CodeGen/NVPTX/param-align.ll
    CodeGen/NVPTX/reg-types.ll
    DebugInfo/NVPTX/dbg-declare-alloca.ll
    DebugInfo/NVPTX/dbg-value-const-byref.ll

Differential Revision: https://reviews.llvm.org/D110164
The file was modifiedllvm/lib/Target/NVPTX/NVPTXRegisterInfo.td
The file was modifiedllvm/test/CodeGen/NVPTX/local-stack-frame.ll
The file was modifiedllvm/lib/Target/NVPTX/NVPTXRegisterInfo.cpp
The file was modifiedllvm/lib/Target/NVPTX/NVPTXRegisterInfo.h
The file was modifiedllvm/lib/Target/NVPTX/NVPTXFrameLowering.cpp
The file was modifiedllvm/lib/Target/NVPTX/NVPTXPeephole.cpp
Commit a567fd8a082094126a1f499e21e0e16b35171909 by andrew.savonichev
Fixup [NVPTX] Add VRFrame and VRFrameLocal to integer register classes
The file was modifiedllvm/test/DebugInfo/NVPTX/debug-info.ll
Commit 743e263e085042d9c66543f942e68d5ed608dd22 by bcain
[hexagon] Add system register, transfer support

This commit adds the system reg/regpair definitions and the corresponding
register transfer instructions.
The file was modifiedllvm/lib/Target/Hexagon/Disassembler/HexagonDisassembler.cpp
The file was modifiedllvm/lib/Target/Hexagon/HexagonDepInstrFormats.td
The file was addedllvm/test/MC/Hexagon/sysregs2.s
The file was modifiedllvm/lib/Target/Hexagon/HexagonRegisterInfo.td
The file was addedllvm/test/MC/Hexagon/sysregs.s
The file was addedllvm/test/MC/Hexagon/sysregs3.s
The file was modifiedllvm/lib/Target/Hexagon/HexagonDepInstrInfo.td
Commit b5426ced71280c340b005acc661e0778541800a5 by jeremy.morse
[DebugInfo][InstrRef] Place variable-values PHI using LLVM utilities

This patch is very similar to D110173 / a3936a6c19c, but for variable
values rather than machine values. This is for the second instr-ref
problem, calculating the correct variable value on entry to each block.
The previous lattice based implementation was broken; we now use LLVMs
existing PHI placement utilities to work out where values need to merge,
then eliminate un-necessary ones through value propagation.

Most of the deletions here happen in vlocJoin: it was trying to pick a
location for PHIs to happen in, badly, leading to an infinite loop in the
MIR test added, where it would repeatedly switch between register
locations. The new approach is simpler: either PHIs can be eliminated, or
they can't, and the location of the value is a different problem.

Various bits and pieces move to the header so that they can be tested in
the unit tests. The DbgValue class grows a "VPHI" kind to represent
variable value PHIS that haven't been eliminated yet.

Differential Revision: https://reviews.llvm.org/D110630
The file was modifiedllvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.h
The file was modifiedllvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.cpp
The file was modifiedllvm/unittests/CodeGen/InstrRefLDVTest.cpp
The file was addedllvm/test/DebugInfo/MIR/InstrRef/pick-vphi-in-shifting-loop.mir
Commit 3f335ffffe47d60623820221eb3e08f20b326cba by gysit
[mlir][linalg] Fix FusionOnTensors header and make local method static (NFC).

Reviewed By: nicolasvasilache

Differential Revision: https://reviews.llvm.org/D111798
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/FusionOnTensors.cpp
Commit c2e5c95a14583a37a413ea9c336d74ee000ff80d by powerman1st
[RISCV][test] Add tests of (add (shl r, c0), c1)

Reviewed By: craig.topper, luismarques

Differential Revision: https://reviews.llvm.org/D111116
The file was addedllvm/test/CodeGen/RISCV/shlimm-addimm.ll
Commit 4fee8a16915ec461002d1cc8e452be1e06cab6d7 by Jinsong Ji
[NFC][compiler-rt][profile] Remove non-Posix -h option from test

We are running `ls -lh` in gcov-execlp.c test in Posix folder.
However `-h` is not a POSIX option,ls on some POSIX system (eg: AIX)
may not support it.

This patch remove this option to avoid break.

Reviewed By: anhtuyen

Differential Revision: https://reviews.llvm.org/D111807
The file was modifiedcompiler-rt/test/profile/Posix/gcov-execlp.c
Commit 849b36bf6f5273c2539a18b4a9c79ea1e136eb0a by luxufan
[JITLink][NFC] Add TableManager to replace PerGraph...Builder pass

This patch add a TableManager which reponsible for fixing edges that need entries to reference the target symbol and constructing such entries.

In the past, the PerGraphGOTAndPLTStubsBuilder pass was used to build GOT and PLT entry, and the PerGraphTLSInfoEntryBuilder pass was used to build TLSInfo entry. By generalizing the behavior of building entry, I added a TableManager which could be reused when built GOT, PLT and TLSInfo entries.

If this patch makes sense and can be accepted, I will apply the TableManager to other targets(MachO_x86_64, MachO_arm64, ELF_riscv), and delete the file PerGraphGOTAndPLTStubsBuilder.h

Reviewed By: lhames

Differential Revision: https://reviews.llvm.org/D110383
The file was modifiedllvm/include/llvm/ExecutionEngine/JITLink/JITLink.h
The file was addedllvm/lib/ExecutionEngine/JITLink/TableManager.h
The file was removedllvm/lib/ExecutionEngine/JITLink/PerGraphTLSInfoEntryBuilder.h
The file was modifiedllvm/lib/ExecutionEngine/JITLink/ELF_x86_64.cpp
Commit 0eeaad3012afbd3b479a8201aa67eefee137804e by nicolas.vasilache
[mlir][Linalg] Fix insertion point in comprehensive bufferization
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/ComprehensiveBufferize.cpp
The file was modifiedmlir/test/Dialect/Linalg/comprehensive-module-bufferize.mlir
Commit 82dd977bafa8ff6e0e0efa16cafcfd7d1d9249ba by nicolas.vasilache
[mlir][Linalg] Tighten canonicalization of InsertSliceOp that triggers infinite loop

I am unclear this is reproducible with correct IR but atm the verifier for InsertSliceOp
is not powerful enough and this triggers an infinite loop that is worth fixing independently.

Differential Revision: https://reviews.llvm.org/D111812
The file was modifiedmlir/test/Dialect/Tensor/canonicalize.mlir
The file was modifiedmlir/lib/Dialect/Tensor/IR/TensorOps.cpp
Commit 722a2fb7f9a3f7deea81276213c6a2a48a0827cd by davelee.com
[lldb] Fix 'frame diagnose' docstring typo
The file was modifiedlldb/source/Commands/CommandObjectFrame.cpp
Commit 25a3463c44ee4fccad19b6d8b30899f3d7bd5279 by koraq
[libc++][NFC] Fixes placement of the return type.
The file was modifiedlibcxx/include/__format/parser_std_format_spec.h
Commit ac3edc5af09947210d8f8d25ddd7e42379ef6454 by gabor.marton
[analyzer][solver] Handle simplification to ConcreteInt

The solver's symbol simplification mechanism was not able to handle cases
when a symbol is simplified to a concrete integer. This patch adds the
capability.

E.g., in the attached lit test case, the original symbol is `c + 1` and
it has a `[0, 0]` range associated with it. Then, a new condition `c == 0`
is assumed, so a new range constraint `[0, 0]` comes in for `c` and
simplification kicks in. `c + 1` becomes `0 + 1`, but the associated
range is `[0, 0]`, so now we are able to realize the contradiction.

Differential Revision: https://reviews.llvm.org/D110913
The file was modifiedclang/include/clang/StaticAnalyzer/Core/PathSensitive/RangedConstraintManager.h
The file was addedclang/test/Analysis/solver-sym-simplification-concreteint.c
The file was modifiedclang/lib/StaticAnalyzer/Core/RangedConstraintManager.cpp
The file was modifiedclang/lib/StaticAnalyzer/Core/RangeConstraintManager.cpp
Commit e4e48e2f025b95da27d00cef941f4e904f6df9df by julien.pages
[AMDGPU] Add more tests for build_vector

Differential Revision: https://reviews.llvm.org/D111652
The file was modifiedllvm/test/CodeGen/AMDGPU/build_vector.ll
Commit 1fa27f2a10e8eec15387aba7eeff65d7d332b9af by joeloser93
[libc++] LWG3480: make (recursive_)directory_iterator C++20 ranges

Implement LWG3480 which enables `directory_iterator` and
`recursive_directory_iterator` to be both a `borrowed_range` and a
`view`.

Reviewed By: ldionne, #libc

Differential Revision: https://reviews.llvm.org/D111644
The file was modifiedlibcxx/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.nonmembers/begin_end.pass.cpp
The file was addedlibcxx/test/std/input.output/filesystems/class.rec.dir.itr/range_concept_conformance.compile.pass.cpp
The file was addedlibcxx/test/std/input.output/filesystems/fs.filesystem.synopsis/enable_view.compile.pass.cpp
The file was addedlibcxx/test/std/input.output/filesystems/fs.filesystem.synopsis/enable_borrowed_range.compile.pass.cpp
The file was modifiedlibcxx/docs/Status/Cxx2bIssues.csv
The file was modifiedlibcxx/include/filesystem
The file was modifiedlibcxx/test/std/input.output/filesystems/class.directory_iterator/range_concept_conformance.compile.pass.cpp
The file was modifiedlibcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.nonmembers/begin_end.pass.cpp
The file was modifiedlibcxx/docs/Status/RangesIssues.csv
Commit a316343e193d16eca3fff45164f77e782b70e0d3 by wenlei
[llvm-profgen] Allow generating AutoFDO profile from CSSPGO binary

Add `-use-dwarf-correlation` switch to allow llvm-profgen to generate AutoFDO profile for binaries built with CSSPGO (pseudo-probe).

Differential Revision: https://reviews.llvm.org/D111776
The file was addedllvm/test/tools/llvm-profgen/inline-force-dwarf.test
The file was modifiedllvm/tools/llvm-profgen/PerfReader.cpp
The file was modifiedllvm/tools/llvm-profgen/ProfiledBinary.cpp
The file was modifiedllvm/test/tools/llvm-profgen/inline-noprobe.test
Commit a8e7d11acaa3a066ca31b909ed8644cbbf7ccdd8 by nikita.ppv
[ValueTracking] Simplify getKnowledgeValidInContext() call (NFC)

This accepts an ArrayRef, there's no need to create a SmallVector.
The file was modifiedllvm/lib/Analysis/ValueTracking.cpp
Commit 8282024a74774261c89bda8c2950e804e374f03f by Vitaly Buka
[sanitizer] Move out stack trace pointer from header StackDepot

Trace pointers accessed very rarely and don't need to
be in hot data.

Depends on D111613.

Reviewed By: dvyukov

Differential Revision: https://reviews.llvm.org/D111614
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_chained_origin_depot.cpp
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_stackdepot.cpp
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_stackdepotbase.h
Commit f7ba572483dd424c6235901d1c6cb3650c46b477 by craig.topper
[RISCV] Update Zba, Zbb, Zbc, and Zbs version from 0.93 to 1.0.

I've removed the Zbs W instructions that are not part of the frozen spec.

References to B as an extension name have been removed. Tests are updated or split accordingly.

Reviewed By: luismarques

Differential Revision: https://reviews.llvm.org/D110669
The file was modifiedclang/lib/Basic/Targets/RISCV.cpp
The file was modifiedllvm/lib/Target/RISCV/MCTargetDesc/RISCVTargetStreamer.cpp
The file was modifiedllvm/lib/Target/RISCV/RISCVInstrInfoZb.td
The file was modifiedclang/test/Driver/riscv-arch.c
The file was modifiedclang/test/Preprocessor/riscv-target-features.c
The file was modifiedclang/lib/Driver/ToolChains/Arch/RISCV.cpp
The file was modifiedllvm/test/MC/RISCV/attribute-arch.s
The file was modifiedllvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
The file was modifiedllvm/test/CodeGen/RISCV/attributes.ll
Commit 727a891ec8c42b134dfd9ac8b830fb6072d34ef3 by kevin.neal
[FPEnv][InstSimplify] Fold fadd X, 0 ==> X, when we know X is not -0

Currently the fadd optimizations in InstSimplify don't know how to do this
NoSignedZeros "X + 0.0 ==> X" fold when using the constrained intrinsics.
This adds the support.

This review is derived from D106362 with some improvements from D107285
and is a follow-on to D111085.

Differential Revision: https://reviews.llvm.org/D111450
The file was modifiedllvm/lib/Analysis/InstructionSimplify.cpp
The file was modifiedllvm/test/Transforms/InstSimplify/strictfp-fadd.ll
Commit b6c218d4fdb74c0ee467e078721438c3396dc599 by yitzhakm
[libTooling] Add "switch"-like Stencil combinator

Adds `selectBound`, a `Stencil` combinator that allows the user to supply multiple alternative cases, discriminated by bound node IDs.

Differential Revision: https://reviews.llvm.org/D111708
The file was modifiedclang/lib/Tooling/Transformer/Stencil.cpp
The file was modifiedclang/include/clang/Tooling/Transformer/Stencil.h
The file was modifiedclang/unittests/Tooling/StencilTest.cpp
Commit 13185f01546a35fb5366e50b5bb95ec3a227c5ea by llvm-dev
[Transforms] eliminateDeadStores - remove unused variable. NFC.

The initial MemoryAccess *Current assignment is never used, and all other uses are initialized/used within the worklist loop (and not across multiple iterations) - so move the variable internal to the loop.

Fixes scan-build unused assignment warning.
The file was modifiedllvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
Commit fcbec7e668ec98f5cc12cc9b5e0b22f05ef79912 by llvm-dev
[TTI][X86] Swap getInterleavedMemoryOpCostAVX2/getInterleavedMemoryOpCostAVX512 implementations. NFC.

I have some upcoming refactoring for SSE/AVX1 interleaving cost support, and the diff is a lot nicer if the (unaltered) AVX512 implementation isn't stuck between getInterleavedMemoryOpCost and getInterleavedMemoryOpCostAVX2
The file was modifiedllvm/lib/Target/X86/X86TargetTransformInfo.cpp
Commit 5f668bba55742c081947011e37d5a7386ca58d01 by llvm-project
[Polly] Clean up Polly's getting started docs.

This patch removes the broken bash scipt (polly.sh) and fixes the broken setup
instructions in get_started.html. It also adds instructions for using Ninja and
links to the LLVM getting started page.

Reviewed By: Meinersbur, InnovativeInventor

Differential Revision: https://reviews.llvm.org/D111685
The file was modifiedpolly/www/get_started.html
The file was removedpolly/www/polly.sh
Commit f7a3214306cb83c350a89e2247f67983dbd792ea by fred
[Driver][WebAssembly] Use ToolChain reference instead of getToolChain().

Differential Revision: https://reviews.llvm.org/D111786
The file was modifiedclang/lib/Driver/ToolChains/WebAssembly.cpp
Commit 871f773986c310294528a0d4229d8d64ce3b3f1c by llvm-dev
[TTI][X86] Merge getInterleavedMemoryOpCostAVX2 into getInterleavedMemoryOpCost. NFC

This a NFC refactor patch to merge the AVX2 interleaved cost handling back into the getInterleavedMemoryOpCost base method - while getInterleavedMemoryOpCostAVX512 uses instruction and patterns very specific to AVX512+, much of the costs analysis for AVX2 can be reused for all SSE targets.

This is the first step towards improving SSE and AVX1 costs that will reuse the relevant AVX2 costs by splitting some of the tables - for instance AVX1 has very similar costs for most vXi64/vXf64 interleave patterns and many sub-128bit vector costs are the same all the way down to SSE2 (or at least SSSE3).

Differential Revision: https://reviews.llvm.org/D111822
The file was modifiedllvm/lib/Target/X86/X86TargetTransformInfo.cpp
The file was modifiedllvm/lib/Target/X86/X86TargetTransformInfo.h
Commit b050564d3e93462351d6efa072716b344facf68a by kai.nacke
[AIX] Ignore case when comparing output from od

POSIX does not define the exact output from od tool.
While most implementations use lower case characters in hex output,
the z/OS USS implementation uses upper case characters.
To avoid LIT failures, the FileCheck option to ignore the case must
be used when checking hex bytes.

Reviewed By: abhina.sreeskantharajan

Differential Revision: https://reviews.llvm.org/D111427
The file was modifiedllvm/test/tools/yaml2obj/XCOFF/string-table.yaml
Commit 0a869ef3a844b3fcb64c5a1d9c7a5d4988b00c07 by daniel_l_sanders
[llvm-mca][timeline] Indicate output was stopped due to cycle limit.

It can be a bit confusing to stop with no explanation so we should indicate
when further output was prevented by the cycle limit.

Differential Revision: https://reviews.llvm.org/D111753
The file was modifiedllvm/tools/llvm-mca/Views/TimelineView.cpp
Commit 5f05ff081f391fd482e3a5c3ea9f191c6961c42e by nikita.ppv
[BasicAA] Improve scalable vector handling

Currently, DecomposeGEP() bails out on the whole decomposition if
it encounters a scalable GEP type anywhere. However, it is fine to
still analyze other GEPs that we look through before hitting the
scalable GEP. This does mean that the decomposed GEP base is no
longer required to be the same as the underlying object. However,
I don't believe this property is necessary for correctness anymore.

This allows us to compute slightly more precise aliasing results
for GEP chains containing scalable vectors, though my primary
interest here is simplifying the code.

Differential Revision: https://reviews.llvm.org/D110511
The file was modifiedllvm/lib/Analysis/BasicAliasAnalysis.cpp
The file was modifiedllvm/test/Analysis/BasicAA/vscale.ll
Commit 228b3b729d903ab539774385effbf215a45619ba by daltenty
[libc++][AIX] Add scripts and config for building with the libcxx CI infrastructure

This initial change adds the AIX configuration to run-buildbot, an AIX
CMake cache file, and appropriate compiler and linker flags for testing
AIX to the lit "from scratch" configuration files. Either of the 32-bit or 64-bit configurations
can be built by setting `OBJECT_MODE` in the build environment (as is
typical for AIX).

Reviewed By: ldionne, #libc, #libc_abi

Differential Revision: https://reviews.llvm.org/D111244
The file was addedlibcxxabi/test/configs/ibm-libc++abi-shared.cfg.in
The file was addedlibcxx/test/configs/ibm-libc++-shared.cfg.in
The file was addedlibcxx/cmake/caches/AIX.cmake
The file was modifiedlibcxx/utils/ci/run-buildbot
Commit 78e17e23aa0fe525d00a2e8f0c7469f9a6b94f40 by Raphael Isemann
[lldb] Rewrite TestDiamond and document some bugs.
The file was addedlldb/test/API/lang/cpp/diamond/TestCppDiamond.py
The file was modifiedlldb/test/API/lang/cpp/diamond/main.cpp
The file was removedlldb/test/API/lang/cpp/diamond/TestDiamond.py
Commit 59dd418e8941434a65fbace26dcd405a88b3775c by rob.suderman
[mlir][tosa] Fix tosa.cast UiToFp32 for tosa-to-linalg

Part of the arith update broke UiToFp32. Fixed the lowering and included a new
test to detect a regression.

Differential Revision: https://reviews.llvm.org/D111772
The file was modifiedmlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp
The file was modifiedmlir/test/Conversion/TosaToLinalg/tosa-to-linalg.mlir
Commit e632e900ac1092f581b42fb93662613db9977b5a by Raphael Isemann
[lldb] Remove logging from Platform::~Platform

Platform instances are stored in a function-local static list. However, the
logging code involves locking a function-local static mutex. This only works on
some implementations where the Log mutex is by accident destroyed *after* the
Platform list is destroyed.

This fixes randomly failing tests due to `recursive_mutex lock failed: Invalid
argument`.

Reviewed By: kastiglione

Differential Revision: https://reviews.llvm.org/D111816
The file was modifiedlldb/source/Target/Platform.cpp
The file was modifiedlldb/include/lldb/Target/Platform.h
Commit b9941de0bfac4bad93e11dff26396e34a53e3891 by aaron
Fix a rejects-valid with consteval on overloaded operators

It seems that Clang 11 regressed functionality that was working in
Clang 10 regarding calling a few overloaded operators in an immediate
context. Specifically, we were not checking for immediate invocations
of array subscripting and the arrow operators, but we properly handle
the other overloaded operators.

This fixes the two problematic operators and adds some test coverage to
show they're equivalent to calling the operator directly.

This addresses PR50779.
The file was modifiedclang/test/SemaCXX/cxx2a-consteval.cpp
The file was modifiedclang/lib/Sema/SemaOverload.cpp
Commit a5e52ce3f2aaa348064c08c13c9bdf3936d75a28 by llvm-project
[Polly][docs] Fix itemize list for release notes.

Make the changes top-level items, instead of subitems of the
"Changes..." placeholder.
The file was modifiedpolly/docs/ReleaseNotes.rst
Commit 19db33c06e7e7b5991f8f4b22d3bd7651b1f854d by llvm-project
[Polly] Remove support for code generated by gfortran+DragonEgg.

DragonEgg is not maintained anymore, hence there is no need for this
functionality.

Fixes llvm.org/PR52173
The file was modifiedpolly/include/polly/CodeGen/IslNodeBuilder.h
The file was removedpolly/lib/Transform/RewriteByReferenceParameters.cpp
The file was removedpolly/test/GPGPU/check-unused-fortran-array-size-param-offloaded-to-kernel.ll
The file was removedpolly/test/ScopInfo/fortran_array_global_malloc_nonvectored.ll
The file was removedpolly/test/ScopInfo/fortran_array_param_nonmalloc_nonvectored_read_and_write.ll
The file was removedpolly/test/ScopInfo/fortran_array_param_nonmalloc_nonvectored.ll
The file was modifiedpolly/include/polly/ScopBuilder.h
The file was modifiedpolly/docs/ReleaseNotes.rst
The file was modifiedpolly/include/polly/ScopInfo.h
The file was modifiedpolly/lib/CodeGen/IslNodeBuilder.cpp
The file was removedpolly/test/RewriteByReferenceParameters/fortran_io.ll
The file was modifiedpolly/include/polly/LinkAllPasses.h
The file was modifiedpolly/lib/CMakeLists.txt
The file was modifiedpolly/lib/Transform/Canonicalization.cpp
The file was modifiedpolly/lib/Analysis/ScopInfo.cpp
The file was removedpolly/test/CodeGen/fortran_array_runtime_size_generation.ll
The file was removedpolly/test/ScopInfo/fortran_array_global_nonmalloc_nonvectored.ll
The file was removedpolly/include/polly/RewriteByReferenceParameters.h
The file was modifiedpolly/lib/Analysis/ScopBuilder.cpp
The file was modifiedpolly/lib/Support/RegisterPasses.cpp
Commit 3ff9cc01f2754a78c5c90a035dad97959946f5f3 by craig.topper
[X86] Use CMOVNS for abs instead of CMOVGE.

CMOVGE reads SF and OF. CMOVNS only reads SF. This matches with
other recent changes to use a single flag where possible. It also
matches gcc codegen.

I believe this technically changes whether the conditioanl move happens
on INT_MIN, but for INT_MIN both registers are the same so it doesn't
matter.

Differential Revision: https://reviews.llvm.org/D111826
The file was modifiedllvm/test/CodeGen/X86/abs.ll
The file was modifiedllvm/test/CodeGen/X86/iabs.ll
The file was modifiedllvm/test/CodeGen/X86/neg-abs.ll
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/basic.ll.expected
The file was modifiedllvm/test/CodeGen/X86/combine-abs.ll
Commit 8ecbcd058fbd552375fda614f36a1e01755c2620 by fred
[Driver][Darwin] Use T reference instead of getToolChain().getTriple().

Differential Revision: https://reviews.llvm.org/D111793
The file was modifiedclang/lib/Driver/ToolChains/Darwin.cpp
Commit 482c53fa0dce16c0edebb494117dcc8dd383427e by Raphael Isemann
[lldb] Move ~Platform to source file

The called destructors of the members require the includes that are only
in the source file.
The file was modifiedlldb/include/lldb/Target/Platform.h
The file was modifiedlldb/source/Target/Platform.cpp
Commit 68157fe15b238428d0fdbeb38c14afd5bda574da by aaron
Fix a crash on valid consteval code.

Not all constants are emitted within the context of a function, so use
the module's ASTContext instead because 1) that's the same as the
current function ASTContext, and 2) the module can never be null.

Fixes PR50787.
The file was addedclang/test/CodeGenCXX/cxx20-consteval-crash.cpp
The file was modifiedclang/lib/CodeGen/CGExprConstant.cpp
Commit 69853f992048efa7fd1b2700b7b71def72300682 by nikita.ppv
[IVUsers] Move preheader check into SCEVExpander

Rather than checking for loop nest preheaders upfront in IVUsers,
move this requirement into isSafeToExpand() from SCEVExpander.

Historically, LSR did not check whether SCEVs are safe to expand
and fully relied on IVUsers to validate this. Later, support for
non-expandable SCEVs was added via rigid formulas.

Checking this in isSafeToExpand() makes it more obvious what
exactly this check is guarding against, and avoids the awkward
loop nest scan.

This is a followup to https://reviews.llvm.org/D111493#3055286.

Differential Revision: https://reviews.llvm.org/D111681
The file was modifiedllvm/lib/Analysis/IVUsers.cpp
The file was modifiedllvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
The file was modifiedllvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
The file was modifiedllvm/include/llvm/Analysis/IVUsers.h
The file was modifiedllvm/include/llvm/Transforms/Utils/ScalarEvolutionExpander.h
Commit 79ae9562cc156f6153004e51b0903934c564817b by craig.topper
[RISCV] Remove unused member variable. NFC
The file was modifiedllvm/lib/Target/RISCV/RISCVMergeBaseOffset.cpp
Commit 7f3861cfdb104c6b25969095f381452ccfe41565 by listmail
autogen tests for ease of update
The file was modifiedllvm/test/Transforms/IndVarSimplify/strengthen-overflow.ll
The file was modifiedllvm/test/Transforms/IndVarSimplify/lftr-address-space-pointers.ll
Commit 3d7bf6625a6e133d745161c043ae0fdb585ac7c9 by lebedev.ri
[X86][Costmodel] Improve cost modelling for not-fully-interleaved load

While i've modelled most of the relevant tuples for AVX2,
that only covered fully-interleaved groups.

By definition, interleaving load of stride N means:
load N*VF elements, and shuffle them into N VF-sized vectors,
with 0'th vector containing elements `[0, VF)*stride + 0`,
and 1'th vector containing elements `[0, VF)*stride + 1`.
Example: https://godbolt.org/z/df561Me5E (i64 stride 4 vf 2 => cost 6)

Now, not fully interleaved load, is when not all of these vectors is demanded.
So at worst, we could just pretend that everything is demanded,
and discard the non-demanded vectors. What this means is that the cost
for not-fully-interleaved group should be not greater than the cost
for the same fully-interleaved group, but perhaps somewhat less.
Examples:
https://godbolt.org/z/a78dK5Geq (i64 stride 4 (indices 012u) vf 2 => cost 4)
https://godbolt.org/z/G91ceo8dM (i64 stride 4 (indices 01uu) vf 2 => cost 2)
https://godbolt.org/z/5joYob9rx (i64 stride 4 (indices 0uuu) vf 2 => cost 1)

As we have established over the course of last ~70 patches, (wow)
`BaseT::getInterleavedMemoryOpCos()` is absolutely bogus,
it is usually almost an order of magnitude overestimation,
so i would claim that we should at least use the hardcoded costs
of fully interleaved load groups.

We could go further and adjust them e.g. by the number of demanded indices,
but then i'm somewhat fearful of underestimating the cost.

Reviewed By: RKSimon

Differential Revision: https://reviews.llvm.org/D111174
The file was modifiedllvm/test/Transforms/LoopVectorize/X86/pr48340.ll
The file was modifiedllvm/test/Analysis/CostModel/X86/interleaved-load-i32-stride-4-indices-0uuu.ll
The file was modifiedllvm/test/Analysis/CostModel/X86/interleaved-load-i32-stride-3-indices-0uu.ll
The file was modifiedllvm/test/Analysis/CostModel/X86/interleaved-load-i32-stride-2-indices-0u.ll
The file was modifiedllvm/test/Analysis/CostModel/X86/interleaved-load-i32-stride-4-indices-01uu.ll
The file was modifiedllvm/test/Analysis/CostModel/X86/interleaved-load-i32-stride-3-indices-01u.ll
The file was modifiedllvm/test/Analysis/CostModel/X86/interleaved-load-i32-stride-4-indices-012u.ll
The file was modifiedllvm/lib/Target/X86/X86TargetTransformInfo.cpp
Commit e9e6266c704df43e2c52308e1b653dccefa89e04 by david.green
[AArch64] Add extra tests for fptosisat vector variants
The file was modifiedllvm/test/CodeGen/AArch64/fptoui-sat-vector.ll
The file was modifiedllvm/test/CodeGen/AArch64/fptosi-sat-vector.ll
Commit 8b31f07cdf1302665d687b7840c3db298daacc22 by listmail
[tests] Add indvars tests showing missing transforms with small IVs

This shows the transform side of D109457, but also lets us try other approaches to the same problem.  The common trend to all is that we need to explicit reason about UB to disallow possibility of infinite loops.
The file was addedllvm/test/Transforms/IndVarSimplify/finite-exit-comparisons.ll
Commit afad0cdf31e8fe37fc805b36a2a57c4a8db8e5f7 by thomasraoux
[mlir][vector] Refactor linalg vectorization for reductions

Emit reduction during op vectorization instead of doing it when creating the
transfer write. This allow us to not broadcast output arguments for reduction
initial value.

Differential Revision: https://reviews.llvm.org/D111825
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
The file was modifiedmlir/test/Dialect/Linalg/vectorization.mlir
Commit cb3aa49ec04d4c16863e363bd5d13396d06fffe5 by jeffniu22
[MLIR][arith] fix references to std.constant in comments

Reviewed By: jpienaar

Differential Revision: https://reviews.llvm.org/D111820
The file was modifiedmlir/docs/Bufferization.md
The file was modifiedmlir/docs/Rationale/MLIRForGraphAlgorithms.md
The file was modifiedmlir/include/mlir/Dialect/StandardOps/IR/Ops.td
The file was modifiedmlir/include/mlir/Dialect/Vector/VectorTransforms.h
The file was modifiedmlir/lib/Transforms/Utils/Utils.cpp
The file was modifiedmlir/include/mlir/Dialect/Tensor/IR/TensorOps.td
The file was modifiedmlir/include/mlir/Dialect/SparseTensor/Transforms/Passes.td
The file was modifiedmlir/include/mlir/Dialect/Vector/VectorOps.td
The file was modifiedmlir/include/mlir/Transforms/Passes.td
The file was modifiedmlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
The file was modifiedmlir/lib/Conversion/ArithmeticToSPIRV/ArithmeticToSPIRV.cpp
The file was modifiedmlir/include/mlir/Dialect/Vector/VectorUtils.h
The file was modifiedmlir/lib/Conversion/ShapeToStandard/ShapeToStandard.cpp
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Tiling.cpp
The file was modifiedmlir/include/mlir/Dialect/SCF/SCFOps.td
The file was modifiedmlir/include/mlir/Dialect/Affine/Utils.h
The file was modifiedmlir/include/mlir/Dialect/Affine/IR/AffineOps.h
The file was modifiedmlir/include/mlir/Dialect/MemRef/IR/MemRefOps.td
The file was modifiedflang/include/flang/Optimizer/Dialect/FIROps.td
The file was modifiedmlir/docs/DialectConversion.md
The file was modifiedmlir/test/CAPI/ir.c
The file was modifiedmlir/lib/Conversion/StandardToSPIRV/StandardToSPIRV.cpp
The file was modifiedmlir/docs/Passes.md
The file was modifiedmlir/examples/standalone/include/Standalone/StandaloneOps.td
The file was modifiedmlir/docs/PassManagement.md
The file was modifiedmlir/lib/Dialect/Async/Transforms/AsyncToAsyncRuntime.cpp
The file was modifiedmlir/docs/Dialects/Affine.md
The file was modifiedmlir/include/mlir/Dialect/Affine/Passes.td
The file was modifiedmlir/include/mlir/Dialect/Affine/IR/AffineOps.td
Commit 21abe21280585401ce13d3217d051aa4bcfcc584 by xur
[TableGen][PGO] Disable profile instrumentation for printInstruction function

We are seeing extremely long time in building AMDGPUInstPrinter.cpp
when profile instrumentation is enabled: It takes more than 5 minutes
(compared to ~8 seconds in non-instrument build).

This caused by the huge statements in printInstruction functions. In
profile instrumentation build, we need have extra control flow to
differentiate each case statement. This in turn adds significant
compile time in block placement and branch folding.

Function printInstruction is not likely to benefit from PGO build
as it's rarely executed in a typical compilation. So here I disable
the profile instrumentation for this function.

Differential Revision: https://reviews.llvm.org/D111682
The file was modifiedllvm/utils/TableGen/AsmWriterEmitter.cpp
The file was modifiedllvm/include/llvm/Support/Compiler.h
Commit d0a5f61c4f6fccec87fd5207e3fcd9502dd59854 by aeubanks
[clang] Support -clear-ast-before-backend without -disable-free

Previously without -disable-free, -clear-ast-before-backend would crash in ~ASTContext() due to various reasons.
This works around that by doing a lot of the cleanup ahead of the destructor so that the destructor doesn't actually do any manual cleanup if we've already cleaned up beforehand.

This actually does save a measurable amount of memory with -clear-ast-before-backend, although at an almost unnoticeable runtime cost:
https://llvm-compile-time-tracker.com/compare.php?from=5d755b32f2775b9219f6d6e2feda5e1417dc993b&to=58ef1c7ad7e2ad45f9c97597905a8cf05a26258c&stat=max-rss

Previously we weren't doing any cleanup with -disable-free, so I tried measuring the impact of always doing the cleanup and didn't measure anything noticeable on llvm-compile-time-tracker.

Reviewed By: dblaikie

Differential Revision: https://reviews.llvm.org/D111767
The file was modifiedclang/lib/AST/DeclBase.cpp
The file was modifiedclang/lib/CodeGen/CodeGenAction.cpp
The file was modifiedclang/include/clang/AST/ASTContext.h
The file was modifiedclang/lib/AST/ASTContext.cpp
Commit 8c66d781721fd8779b7b57b675913789051aa946 by thakis
[test] Fix asan dynamic unit tests with per-target runtime dirs

When LLVM_ENABLE_PER_TARGET_RUNTIME_DIR=on
Asan-i386-calls-Dynamic-Test and Asan-i386-inline-Dynamic-Test fail to
run on a x86_64 host. This is because asan's unit test lit files are
configured once, rather than per target arch as with the non-unit
tests. LD_LIBRARY_PATH ends up incorrect, and the tests try linking
against the x86_64 runtime which fails.

This changes the unit test CMake machinery to configure the default
and dynamic unit tests once per target arch, similar to the other asan
tests. Then the fix from https://reviews.llvm.org/D108859 is adapted
to the unit test Lit files with some modifications.

Fixes PR52158.

Differential Revision: https://reviews.llvm.org/D111756
The file was modifiedcompiler-rt/unittests/lit.common.unit.configured.in
The file was modifiedcompiler-rt/test/asan/CMakeLists.txt
The file was modifiedcompiler-rt/test/asan/Unit/lit.site.cfg.py.in
The file was modifiedcompiler-rt/lib/asan/tests/CMakeLists.txt
Commit aeeefe97c686dd51e2614d2a3e4214701c57371b by rnk
[bazel] Move MC header usage from Support to tblgen

After the TargetRegistry.h move, nothing in Support includes headers
from MC. However, files in tablegen use MC headers, so we must add an
entry for them in tblgen srcs.

Differential Revision: https://reviews.llvm.org/D111835
The file was modifiedutils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Commit 277623f4d5a672d707390e2c3eaf30a9eb4b075c by dblaikie
Compress formatting of array type names (int [4] -> int[4])

Based on post-commit review discussion on
2bd84938470bf2e337801faafb8a67710f46429d with Richard Smith.

Other uses of forcing HasEmptyPlaceHolder to false seem OK to me -
they're all around pointer/reference types where the pointer/reference
token will appear at the rightmost side of the left side of the type
name, so they make nested types (eg: the "int" in "int *") behave as
though there is a non-empty placeholder (because the "*" is essentially
the placeholder as far as the "int" is concerned).
The file was modifiedclang/test/SemaCXX/cxx1z-decomposition.cpp
The file was modifiedclang/test/CXX/stmt.stmt/stmt.iter/stmt.ranged/p1.cpp
The file was modifiedclang/test/OpenMP/distribute_parallel_for_simd_shared_messages.cpp
The file was modifiedclang/test/SemaCXX/constant-expression-cxx2a.cpp
The file was modifiedclang/test/SemaCXX/cxx0x-type-convert-construct.cpp
The file was modifiedclang/test/SemaObjC/warn-write-strings.m
The file was modifiedclang/test/Sema/builtin-expect-with-probability.cpp
The file was modifiedclang/test/CXX/temp/temp.explicit/p8.cpp
The file was modifiedclang/test/Sema/nullability.c
The file was modifiedclang/test/SemaCXX/address-space-initialize.cpp
The file was modifiedclang/test/Analysis/cfg.cpp
The file was modifiedclang/test/SemaCXX/compare-cxx2a.cpp
The file was modifiedclang/test/SemaObjC/method-bad-param.m
The file was modifiedclang/test/SemaCXX/warn-string-conversion.cpp
The file was modifiedclang/test/AST/ast-dump-expr.cpp
The file was modifiedclang/test/CXX/special/class.ctor/p5-0x.cpp
The file was modifiedclang/test/OpenMP/distribute_firstprivate_messages.cpp
The file was modifiedclang/test/PCH/objc_exprs.m
The file was modifiedclang/test/SemaCXX/no-wchar.cpp
The file was modifiedclang/unittests/AST/ASTImporterTest.cpp
The file was modifiedclang/test/SemaOpenCLCXX/address-space-deduction.clcpp
The file was modifiedclang/test/AST/ast-dump-expr.c
The file was modifiedclang/test/AST/ast-dump-APValue-arithmetic.cpp
The file was modifiedclang/test/SemaObjC/nullability.m
The file was modifiedclang/test/Import/array-init-loop-expr/test.cpp
The file was modifiedclang/test/SemaOpenCL/invalid-kernel-parameters.cl
The file was modifiedclang/test/SemaCXX/dcl_init_aggr.cpp
The file was modifiedclang/test/Analysis/more-dtors-cfg-output.cpp
The file was modifiedclang/test/SemaCXX/c99-variable-length-array.cpp
The file was modifiedclang/test/SemaCXX/overload-member-call.cpp
The file was modifiedclang/test/Sema/types.c
The file was modifiedclang/test/Sema/typedef-retain.c
The file was modifiedclang/test/OpenMP/distribute_simd_firstprivate_messages.cpp
The file was modifiedclang/test/CXX/temp/temp.param/p10-2a.cpp
The file was modifiedclang/test/CXX/expr/expr.prim/expr.prim.id/mixed-constraints.cpp
The file was modifiedclang/test/CXX/expr/expr.prim/expr.prim.id/p4.cpp
The file was modifiedclang/test/SemaCXX/c99-variable-length-array-cxx11.cpp
The file was modifiedclang/test/Sema/var-redecl.c
The file was modifiedclang/test/Modules/cxx-templates.cpp
The file was modifiedclang/test/SemaCXX/MicrosoftExtensions.cpp
The file was modifiedclang/test/Parser/atomic.c
The file was modifiedclang/test/OpenMP/target_teams_distribute_firstprivate_messages.cpp
The file was modifiedclang/test/Analysis/scopes-cfg-output.cpp
The file was modifiedclang/test/CXX/temp/temp.constr/temp.constr.constr/non-function-templates.cpp
The file was modifiedclang/test/Misc/diag-macro-backtrace2.c
The file was modifiedclang/test/CXX/dcl.decl/dcl.meaning/dcl.fct/p13.cpp
The file was modifiedclang/test/SemaCXX/alias-template.cpp
The file was modifiedclang/test/AST/float16.cpp
The file was modifiedclang/test/SemaCXX/flexible-array-test.cpp
The file was modifiedclang/lib/AST/TypePrinter.cpp
The file was modifiedclang/test/CodeGen/dump-struct-builtin.c
The file was modifiedclang/test/Sema/merge-decls.c
The file was modifiedclang/test/Sema/empty1.c
The file was modifiedclang/unittests/ASTMatchers/ASTMatchersNodeTest.cpp
The file was modifiedclang/test/SemaCXX/nullability.cpp
The file was modifiedclang/test/CXX/temp/temp.decls/temp.variadic/p2.cpp
The file was modifiedclang/test/Modules/odr_hash.cpp
The file was modifiedclang/test/OpenMP/distribute_simd_lastprivate_messages.cpp
The file was modifiedclang/test/SemaCXX/new-delete.cpp
The file was modifiedclang/test/AST/atomic-expr.cpp
The file was modifiedclang/test/Layout/ms-x86-lazy-empty-nonvirtual-base.cpp
The file was modifiedclang/test/SemaTemplate/deduction-guide.cpp
The file was modifiedclang/test/AST/ast-dump-color.cpp
The file was modifiedclang/test/SemaTemplate/instantiate-init.cpp
The file was modifiedclang/test/Misc/integer-literal-printing.cpp
The file was modifiedclang/test/Sema/incomplete-decl.c
The file was modifiedclang/test/Sema/vla.cpp
The file was modifiedclang/test/AST/ast-dump-expr-json.cpp
The file was modifiedclang/test/SemaCXX/typedef-redecl.cpp
The file was modifiedclang/test/Layout/watchos-standard-layout.cpp
The file was modifiedclang/test/Layout/aix-Wpacked-expecting-diagnostics.cpp
The file was modifiedclang/test/AST/ast-dump-APValue-array.cpp
The file was modifiedclang/test/AST/ast-dump-expr-json.m
The file was modifiedclang/test/SemaCXX/attr-gnu.cpp
The file was modifiedclang/test/SemaCXX/cxx0x-initializer-aggregates.cpp
The file was modifiedclang/test/CXX/special/class.copy/p23-cxx11.cpp
The file was modifiedclang/test/SemaCXX/decl-init-ref.cpp
The file was modifiedclang/test/SemaCXX/static-assert-cxx17.cpp
The file was modifiedclang/test/CXX/dcl.dcl/dcl.attr/dcl.align/p7.cpp
The file was modifiedclang/test/Layout/ms-x86-basic-layout.cpp
The file was modifiedclang/test/Sema/predef.c
The file was modifiedclang/test/SemaCXX/constant-expression-cxx11.cpp
The file was modifiedclang/test/CXX/dcl.decl/dcl.decomp/p2.cpp
The file was modifiedclang/test/CXX/dcl.decl/dcl.init/dcl.init.list/p3.cpp
The file was modifiedclang/test/SemaCXX/cxx2a-compat.cpp
The file was modifiedclang/test/Layout/aix-power-alignment-typedef.cpp
The file was modifiedclang/test/OpenMP/distribute_simd_reduction_messages.cpp
The file was modifiedclang/test/ARCMT/cxx-checking.mm
The file was modifiedclang/test/CXX/temp/temp.arg/temp.arg.nontype/p1.cpp
The file was modifiedclang/test/AST/ast-dump-openmp-begin-declare-variant_9.c
The file was modifiedclang/test/SemaTemplate/pack-deduction.cpp
The file was modifiedclang/test/AST/ast-dump-template-decls-json.cpp
The file was modifiedclang/test/AST/ast-dump-templates.cpp
The file was modifiedclang/test/Index/print-type.c
The file was modifiedclang/test/Layout/ms-x86-misalignedarray.cpp
The file was modifiedclang/test/SemaObjCXX/message.mm
The file was modifiedclang/test/AST/ast-dump-records.cpp
The file was modifiedclang/test/Analysis/malloc-sizeof.c
The file was modifiedclang/test/Sema/matrix-type-builtins.c
The file was modifiedclang/test/Layout/ms-x86-empty-virtual-base.cpp
The file was modifiedclang/test/CXX/basic/basic.types/p10.cpp
The file was modifiedclang/test/Layout/no-unique-address.cpp
The file was modifiedclang/test/AST/ast-dump-array.cpp
The file was modifiedclang/unittests/ASTMatchers/ASTMatchersTraversalTest.cpp
The file was modifiedclang/test/Index/print-type-size.cpp
The file was modifiedclang/test/Sema/builtin-expect-with-probability-avr.cpp
The file was modifiedclang/test/Sema/extern-redecl.c
The file was modifiedclang/test/Sema/c11-typedef-redef.c
The file was modifiedclang/test/SemaObjC/flexible-array.m
The file was modifiedclang/test/Sema/generic-selection.c
The file was modifiedclang/test/CodeGen/const-init.c
The file was modifiedclang/test/Sema/warn-sizeof-array-decay.c
The file was modifiedclang/test/OpenMP/distribute_parallel_for_lastprivate_messages.cpp
The file was modifiedclang/test/CXX/drs/dr177x.cpp
The file was modifiedclang/test/Layout/ms-x86-pack-and-align.cpp
The file was modifiedclang/test/SemaCXX/overload-call.cpp
The file was modifiedclang/test/Sema/array-init.c
The file was modifiedclang/test/AST/ast-dump-stmt-json.cpp
The file was modifiedclang/test/SemaObjC/ivar-sem-check-1.m
The file was modifiedclang/test/SemaCXX/constexpr-string.cpp
The file was modifiedclang/test/ASTMerge/var/test.c
The file was modifiedclang/test/Sema/compound-literal.c
The file was modifiedclang/test/AST/ast-dump-records-json.cpp
The file was modifiedclang/test/AST/ast-dump-file-line-json.c
The file was modifiedclang/test/Layout/ms-x86-empty-nonvirtual-bases.cpp
The file was modifiedclang/test/SemaTemplate/temp_arg_nontype.cpp
The file was modifiedclang/test/SemaObjC/argument-checking.m
The file was modifiedclang/test/SemaOpenCL/half.cl
The file was modifiedclang/test/Analysis/explain-svals.cpp
The file was modifiedclang/test/Analysis/lifetime-cfg-output.cpp
The file was modifiedclang/test/Sema/gnu-flags.c
The file was modifiedclang/test/Sema/crash-invalid-array.c
The file was modifiedclang/test/Layout/ms-x86-empty-layout.c
The file was modifiedclang/test/AST/pr47636.cpp
The file was modifiedclang/test/SemaTemplate/instantiate-local-class.cpp
The file was modifiedclang/test/AST/ast-dump-types-errors-json.cpp
The file was modifiedclang/test/CXX/expr/expr.prim/expr.prim.lambda/p4.cpp
The file was modifiedclang/test/SemaCXX/coroutines.cpp
The file was modifiedclang/test/AST/ast-dump-records.c
The file was modifiedclang/test/Layout/aix-double-struct-member.cpp
The file was modifiedclang/test/SemaCXX/for-range-examples.cpp
The file was modifiedclang/test/CXX/dcl.dcl/dcl.spec/dcl.typedef/p2-0x.cpp
The file was modifiedclang/test/CXX/dcl.decl/dcl.meaning/dcl.array/p3.cpp
The file was modifiedclang/test/OpenMP/parallel_reduction_messages.c
The file was modifiedclang/test/Sema/array-constraint.c
The file was modifiedclang/test/Sema/assign.c
The file was modifiedclang/test/SemaCXX/typeid.cpp
The file was modifiedclang/test/SemaOpenCL/predefined-expr.cl
The file was modifiedclang/test/Analysis/auto-obj-dtors-cfg-output.cpp
The file was modifiedclang/test/OpenMP/distribute_parallel_for_firstprivate_messages.cpp
The file was modifiedclang/test/Layout/aix-no-unique-address-with-double.cpp
The file was modifiedclang/test/OpenMP/distribute_parallel_for_reduction_messages.cpp
The file was modifiedclang/test/Layout/ms-aligned-array.c
The file was modifiedclang/test/SemaTemplate/instantiate-static-var.cpp
The file was modifiedclang/test/Sema/warn-sizeof-arrayarg.c
The file was modifiedclang/test/AST/ast-dump-stmt.cpp
The file was modifiedclang/test/AST/sourceranges.cpp
The file was modifiedclang/test/Sema/warn-write-strings.c
The file was modifiedclang/test/SemaCXX/array-bound-merge.cpp
The file was modifiedclang/test/Index/print-type.cpp
The file was modifiedclang/test/SemaCXX/exceptions.cpp
The file was modifiedclang/test/SemaObjC/rdr-6211479-array-property.m
The file was modifiedclang/test/AST/ast-dump-expr-json.c
The file was modifiedclang/test/SemaCXX/constexpr-builtin-bit-cast.cpp
Commit 414abff1fe8ac3d5874f9b838cb59a3300b3e475 by a.bataev
[SLP]Fix PR52090: clang crashes: Assertion `Index < Length && "Invalid index!"' failed.

Need to check that either Idx is UndefMaskElem and value is UndefValue
or Idx is valid and value is the same as the scalar value in the node.

Differential Revision: https://reviews.llvm.org/D111802
The file was modifiedllvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
The file was addedllvm/test/Transforms/SLPVectorizer/X86/crash_undef_mask_elem.ll
Commit 50b68a3d030543daf97794d68682cc698964ca26 by jonathan.l.peyton
[OpenMP][host runtime] Add support for teams affinity

This patch implements teams affinity on the host.
The default is spread. A user can specify either spread, close, or
primary using KMP_TEAMS_PROC_BIND environment variable. Unlike
OMP_PROC_BIND, KMP_TEAMS_PROC_BIND is only a single value and is not a
list of values. The values follow the same semantics under the OpenMP
specification for parallel regions except T is the number of teams in
a league instead of the number of threads in a parallel region.

Differential Revision: https://reviews.llvm.org/D109921
The file was modifiedopenmp/runtime/src/kmp_settings.cpp
The file was addedopenmp/runtime/test/affinity/teams-affinity.c
The file was modifiedopenmp/runtime/src/kmp_global.cpp
The file was modifiedopenmp/runtime/src/kmp_runtime.cpp
The file was modifiedopenmp/runtime/src/kmp.h
The file was modifiedopenmp/runtime/test/affinity/libomp_test_topology.h
Commit 8e54f24f89c5c5e1d7ba4a4d2b99118272ac27ef by stellaraccident
Disable add_mlir_aggregate() debug file generation.

* Leaves it as a commented out area with a note on how to debug.
The file was modifiedmlir/cmake/modules/AddMLIR.cmake
Commit 1062f989af23c52a472892ff54a55557fca35528 by pklausler
[flang] Expunge bogus semantic check for ELEMENTAL without dummies

Semantics refuses valid ELEMENTAL subprograms without dummy arguments,
but there's no such constraint in the standard; indeed, subclause
15.8.2 discusses the meaning of calls to ELEMENTAL functions with
arguments.  Remove the check and its test.

Differential Revision: https://reviews.llvm.org/D111832
The file was modifiedflang/test/Semantics/elemental01.f90
The file was modifiedflang/lib/Semantics/check-declarations.cpp
Commit f9ad1d1c775a8e264bebc15d75e0c6e5c20eefc7 by dblaikie
Revert "Compress formatting of array type names (int [4] -> int[4])"

Looks like lldb has some issues with this - somehow it causes lldb to
treat a "char[N]" type as an array of chars (prints them out
individually) but a "char [N]" is printed as a string. (even though the
DWARF doesn't have this string in it - it's something to do with the
string lldb generates for itself using clang)

This reverts commit 277623f4d5a672d707390e2c3eaf30a9eb4b075c.
The file was modifiedclang/test/SemaCXX/compare-cxx2a.cpp
The file was modifiedclang/test/SemaCXX/static-assert-cxx17.cpp
The file was modifiedclang/test/OpenMP/distribute_simd_lastprivate_messages.cpp
The file was modifiedclang/test/Analysis/more-dtors-cfg-output.cpp
The file was modifiedclang/test/SemaCXX/flexible-array-test.cpp
The file was modifiedclang/test/CXX/dcl.dcl/dcl.spec/dcl.typedef/p2-0x.cpp
The file was modifiedclang/test/Index/print-type-size.cpp
The file was modifiedclang/test/SemaTemplate/instantiate-init.cpp
The file was modifiedclang/test/OpenMP/distribute_simd_reduction_messages.cpp
The file was modifiedclang/test/SemaCXX/alias-template.cpp
The file was modifiedclang/test/SemaCXX/cxx2a-compat.cpp
The file was modifiedclang/test/SemaCXX/cxx0x-initializer-aggregates.cpp
The file was modifiedclang/test/Layout/ms-x86-pack-and-align.cpp
The file was modifiedclang/test/Import/array-init-loop-expr/test.cpp
The file was modifiedclang/test/AST/ast-dump-expr-json.m
The file was modifiedclang/test/Sema/typedef-retain.c
The file was modifiedclang/test/Analysis/auto-obj-dtors-cfg-output.cpp
The file was modifiedclang/test/SemaCXX/warn-string-conversion.cpp
The file was modifiedclang/test/SemaObjC/rdr-6211479-array-property.m
The file was modifiedclang/test/AST/ast-dump-openmp-begin-declare-variant_9.c
The file was modifiedclang/test/CXX/dcl.decl/dcl.meaning/dcl.fct/p13.cpp
The file was modifiedclang/test/SemaTemplate/temp_arg_nontype.cpp
The file was modifiedclang/test/Sema/assign.c
The file was modifiedclang/test/Sema/warn-write-strings.c
The file was modifiedclang/test/SemaCXX/typeid.cpp
The file was modifiedclang/test/SemaObjC/warn-write-strings.m
The file was modifiedclang/test/CXX/dcl.decl/dcl.init/dcl.init.list/p3.cpp
The file was modifiedclang/test/Sema/c11-typedef-redef.c
The file was modifiedclang/test/Sema/empty1.c
The file was modifiedclang/test/SemaCXX/cxx1z-decomposition.cpp
The file was modifiedclang/test/SemaTemplate/instantiate-local-class.cpp
The file was modifiedclang/test/AST/ast-dump-records.c
The file was modifiedclang/test/Sema/types.c
The file was modifiedclang/test/CXX/temp/temp.constr/temp.constr.constr/non-function-templates.cpp
The file was modifiedclang/test/OpenMP/distribute_simd_firstprivate_messages.cpp
The file was modifiedclang/test/AST/ast-dump-expr-json.c
The file was modifiedclang/test/Misc/integer-literal-printing.cpp
The file was modifiedclang/test/Sema/gnu-flags.c
The file was modifiedclang/test/AST/ast-dump-expr-json.cpp
The file was modifiedclang/test/SemaObjC/argument-checking.m
The file was modifiedclang/test/AST/float16.cpp
The file was modifiedclang/test/Layout/ms-x86-empty-nonvirtual-bases.cpp
The file was modifiedclang/test/CXX/dcl.decl/dcl.meaning/dcl.array/p3.cpp
The file was modifiedclang/test/Analysis/malloc-sizeof.c
The file was modifiedclang/test/Sema/generic-selection.c
The file was modifiedclang/test/SemaObjC/ivar-sem-check-1.m
The file was modifiedclang/lib/AST/TypePrinter.cpp
The file was modifiedclang/test/SemaOpenCL/invalid-kernel-parameters.cl
The file was modifiedclang/test/Sema/var-redecl.c
The file was modifiedclang/test/AST/ast-dump-stmt-json.cpp
The file was modifiedclang/test/Sema/matrix-type-builtins.c
The file was modifiedclang/test/Parser/atomic.c
The file was modifiedclang/test/Sema/array-init.c
The file was modifiedclang/test/Sema/crash-invalid-array.c
The file was modifiedclang/test/AST/ast-dump-records.cpp
The file was modifiedclang/test/AST/ast-dump-templates.cpp
The file was modifiedclang/unittests/AST/ASTImporterTest.cpp
The file was modifiedclang/test/Sema/incomplete-decl.c
The file was modifiedclang/test/CXX/temp/temp.param/p10-2a.cpp
The file was modifiedclang/test/SemaObjC/method-bad-param.m
The file was modifiedclang/test/SemaObjC/nullability.m
The file was modifiedclang/test/OpenMP/distribute_parallel_for_reduction_messages.cpp
The file was modifiedclang/test/Analysis/cfg.cpp
The file was modifiedclang/test/CXX/special/class.ctor/p5-0x.cpp
The file was modifiedclang/test/SemaCXX/cxx0x-type-convert-construct.cpp
The file was modifiedclang/test/AST/ast-dump-array.cpp
The file was modifiedclang/test/CodeGen/const-init.c
The file was modifiedclang/test/SemaCXX/no-wchar.cpp
The file was modifiedclang/test/AST/pr47636.cpp
The file was modifiedclang/test/Layout/aix-no-unique-address-with-double.cpp
The file was modifiedclang/test/SemaCXX/constexpr-string.cpp
The file was modifiedclang/test/AST/atomic-expr.cpp
The file was modifiedclang/test/CXX/drs/dr177x.cpp
The file was modifiedclang/test/Sema/predef.c
The file was modifiedclang/test/Sema/vla.cpp
The file was modifiedclang/test/SemaObjCXX/message.mm
The file was modifiedclang/test/Layout/ms-x86-basic-layout.cpp
The file was modifiedclang/test/SemaCXX/for-range-examples.cpp
The file was modifiedclang/test/CXX/basic/basic.types/p10.cpp
The file was modifiedclang/test/ARCMT/cxx-checking.mm
The file was modifiedclang/test/CXX/expr/expr.prim/expr.prim.id/p4.cpp
The file was modifiedclang/test/CXX/expr/expr.prim/expr.prim.lambda/p4.cpp
The file was modifiedclang/test/Modules/cxx-templates.cpp
The file was modifiedclang/test/AST/ast-dump-APValue-arithmetic.cpp
The file was modifiedclang/test/OpenMP/parallel_reduction_messages.c
The file was modifiedclang/test/Layout/ms-x86-empty-virtual-base.cpp
The file was modifiedclang/test/Layout/aix-Wpacked-expecting-diagnostics.cpp
The file was modifiedclang/test/SemaCXX/coroutines.cpp
The file was modifiedclang/test/SemaCXX/attr-gnu.cpp
The file was modifiedclang/test/AST/ast-dump-records-json.cpp
The file was modifiedclang/test/SemaCXX/array-bound-merge.cpp
The file was modifiedclang/test/OpenMP/distribute_parallel_for_firstprivate_messages.cpp
The file was modifiedclang/unittests/ASTMatchers/ASTMatchersTraversalTest.cpp
The file was modifiedclang/test/SemaCXX/constant-expression-cxx11.cpp
The file was modifiedclang/test/Sema/merge-decls.c
The file was modifiedclang/test/Analysis/lifetime-cfg-output.cpp
The file was modifiedclang/test/AST/ast-dump-color.cpp
The file was modifiedclang/test/SemaCXX/overload-member-call.cpp
The file was modifiedclang/test/Index/print-type.cpp
The file was modifiedclang/test/SemaCXX/address-space-initialize.cpp
The file was modifiedclang/test/SemaCXX/c99-variable-length-array.cpp
The file was modifiedclang/test/SemaTemplate/instantiate-static-var.cpp
The file was modifiedclang/test/SemaObjC/flexible-array.m
The file was modifiedclang/test/AST/ast-dump-expr.c
The file was modifiedclang/test/CXX/special/class.copy/p23-cxx11.cpp
The file was modifiedclang/test/Sema/builtin-expect-with-probability.cpp
The file was modifiedclang/test/SemaTemplate/pack-deduction.cpp
The file was modifiedclang/test/CXX/dcl.dcl/dcl.attr/dcl.align/p7.cpp
The file was modifiedclang/unittests/ASTMatchers/ASTMatchersNodeTest.cpp
The file was modifiedclang/test/Analysis/scopes-cfg-output.cpp
The file was modifiedclang/test/Modules/odr_hash.cpp
The file was modifiedclang/test/AST/sourceranges.cpp
The file was modifiedclang/test/Sema/nullability.c
The file was modifiedclang/test/SemaCXX/constant-expression-cxx2a.cpp
The file was modifiedclang/test/CXX/expr/expr.prim/expr.prim.id/mixed-constraints.cpp
The file was modifiedclang/test/Sema/extern-redecl.c
The file was modifiedclang/test/Sema/warn-sizeof-arrayarg.c
The file was modifiedclang/test/SemaCXX/MicrosoftExtensions.cpp
The file was modifiedclang/test/CodeGen/dump-struct-builtin.c
The file was modifiedclang/test/OpenMP/distribute_parallel_for_lastprivate_messages.cpp
The file was modifiedclang/test/SemaCXX/decl-init-ref.cpp
The file was modifiedclang/test/CXX/temp/temp.explicit/p8.cpp
The file was modifiedclang/test/SemaCXX/exceptions.cpp
The file was modifiedclang/test/AST/ast-dump-APValue-array.cpp
The file was modifiedclang/test/Index/print-type.c
The file was modifiedclang/test/Layout/ms-aligned-array.c
The file was modifiedclang/test/SemaOpenCLCXX/address-space-deduction.clcpp
The file was modifiedclang/test/Sema/array-constraint.c
The file was modifiedclang/test/Layout/ms-x86-misalignedarray.cpp
The file was modifiedclang/test/Sema/warn-sizeof-array-decay.c
The file was modifiedclang/test/SemaCXX/nullability.cpp
The file was modifiedclang/test/OpenMP/distribute_firstprivate_messages.cpp
The file was modifiedclang/test/Layout/watchos-standard-layout.cpp
The file was modifiedclang/test/OpenMP/distribute_parallel_for_simd_shared_messages.cpp
The file was modifiedclang/test/Sema/compound-literal.c
The file was modifiedclang/test/CXX/dcl.decl/dcl.decomp/p2.cpp
The file was modifiedclang/test/SemaCXX/new-delete.cpp
The file was modifiedclang/test/Analysis/explain-svals.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_firstprivate_messages.cpp
The file was modifiedclang/test/AST/ast-dump-types-errors-json.cpp
The file was modifiedclang/test/CXX/temp/temp.arg/temp.arg.nontype/p1.cpp
The file was modifiedclang/test/SemaTemplate/deduction-guide.cpp
The file was modifiedclang/test/AST/ast-dump-stmt.cpp
The file was modifiedclang/test/SemaCXX/c99-variable-length-array-cxx11.cpp
The file was modifiedclang/test/AST/ast-dump-expr.cpp
The file was modifiedclang/test/AST/ast-dump-file-line-json.c
The file was modifiedclang/test/Sema/builtin-expect-with-probability-avr.cpp
The file was modifiedclang/test/Layout/no-unique-address.cpp
The file was modifiedclang/test/Misc/diag-macro-backtrace2.c
The file was modifiedclang/test/SemaOpenCL/predefined-expr.cl
The file was modifiedclang/test/Layout/ms-x86-empty-layout.c
The file was modifiedclang/test/Layout/aix-double-struct-member.cpp
The file was modifiedclang/test/CXX/temp/temp.decls/temp.variadic/p2.cpp
The file was modifiedclang/test/Layout/ms-x86-lazy-empty-nonvirtual-base.cpp
The file was modifiedclang/test/ASTMerge/var/test.c
The file was modifiedclang/test/PCH/objc_exprs.m
The file was modifiedclang/test/AST/ast-dump-template-decls-json.cpp
The file was modifiedclang/test/Layout/aix-power-alignment-typedef.cpp
The file was modifiedclang/test/SemaCXX/typedef-redecl.cpp
The file was modifiedclang/test/SemaOpenCL/half.cl
The file was modifiedclang/test/CXX/stmt.stmt/stmt.iter/stmt.ranged/p1.cpp
The file was modifiedclang/test/SemaCXX/dcl_init_aggr.cpp
The file was modifiedclang/test/SemaCXX/overload-call.cpp
The file was modifiedclang/test/SemaCXX/constexpr-builtin-bit-cast.cpp
Commit b840d3ab0d8a1953fe7d39a87970260088b9ac41 by jonathan.l.peyton
[OpenMP][host runtime] small fixup of RTM CPUID bit check
The file was modifiedopenmp/runtime/src/kmp_utility.cpp
Commit acb3b187c4c88650a6a717a1bcb234d27d0d7f54 by jonathan.l.peyton
[OpenMP][host runtime] Add initial hybrid CPU support

Detect, through CPUID.1A, and show user different core types through
KMP_AFFINITY=verbose mechanism. Offer future runtime optimizations
__kmp_is_hybrid_cpu() to know whether running on a hybrid system or not.

Differential Revision: https://reviews.llvm.org/D110435
The file was modifiedopenmp/runtime/src/kmp_utility.cpp
The file was modifiedopenmp/runtime/src/i18n/en_US.txt
The file was modifiedopenmp/runtime/src/kmp_affinity.cpp
The file was modifiedopenmp/runtime/src/kmp_affinity.h
The file was modifiedopenmp/runtime/src/kmp.h
Commit 039096ee7137ac64ae8c02880b3cf9da84bb01ad by eugenis
[hwasan] Add default "/" prefix.

Add a default "/" prefix to the symbol search path in the
symbolization script. Without this, the binary itself is not considered
a valid source of symbol info.

Differential Revision: https://reviews.llvm.org/D111840
The file was modifiedcompiler-rt/lib/hwasan/scripts/hwasan_symbolize
Commit 7a3fb71c3cbdd80666335fa8f6f071b43f0b922a by eugenis
[hwasan] Fix TestCases/thread-uaf.c.

On newer glibc, this test detects an extra match somewhere under
pthread_getattr_np. This results in Thread: lines getting spread out in
the report and failing to match the CHECKs.

Fix the CHECKs to allow this possibility.

Reviewed By: fmayer

Differential Revision: https://reviews.llvm.org/D111841
The file was modifiedcompiler-rt/test/hwasan/TestCases/thread-uaf.c
Commit 439e00a25bde9df851c6f25e356f11f83e884c2f by eugenis
[scudo] Fix running tests under hwasan.

When built with hwasan, assume that the target architecture does not
support TBI. HWASan uses that byte for its own purpose, and changing it
breaks things.

Reviewed By: hctim

Differential Revision: https://reviews.llvm.org/D111842
The file was modifiedcompiler-rt/lib/scudo/standalone/memtag.h
Commit 675ed4c82df6bb53536270d900843a985ef9036e by aeubanks
[NFC][Interpreter] Remove unused CompilerInvocation
The file was modifiedclang/lib/Interpreter/Interpreter.cpp
Commit 6965a776ee192cb4c1a2618c270254fbf70879df by pklausler
[flang] Fold LGE/LGT/LLE/LLT intrinsic functions

Fold the legacy intrinsic functions LGE, LGT, LLE, & LLT
by rewriting them into character relational expressions and
then folding those.  Also fix folding of comparisons of
character values of distinct lengths: the shorter value must
be padded with blanks.  (This fix exposed some bad test cases,
which are also fixed.)

Differential Revision: https://reviews.llvm.org/D111843
The file was modifiedflang/lib/Evaluate/fold-logical.cpp
The file was addedflang/test/Evaluate/fold-char-cmp.f90
The file was modifiedflang/include/flang/Evaluate/type.h
The file was modifiedflang/include/flang/Evaluate/common.h
The file was modifiedflang/test/Evaluate/folding01.f90
The file was modifiedflang/lib/Semantics/data-to-inits.cpp
The file was modifiedflang/lib/Semantics/runtime-type-info.cpp
The file was modifiedflang/lib/Semantics/resolve-names.cpp
The file was modifiedflang/lib/Semantics/check-io.h
The file was modifiedflang/test/Evaluate/folding05.f90
Commit 65c9907c809a275e57bd925d1eda5a743a462d20 by jpienaar
[mlir][ods] Enable emitting getter/setter prefix

Allow emitting get & set prefix for accessors generated for ops. If
enabled, then the argument/return/region name gets converted from
snake_case to UpperCamel and prefix added. The attribute also allows
generating both the current "raw" method along with the prefix'd one to
make it easier to stage changes.

The option is added on the dialect and currently defaults to existing
raw behavior. The expectation is that the staging where both are
generated would be short lived and so optimized to keeping the changes
local/less invasive (it just generates two functions for each accessor
with the same body - most of these internally again call a helper
function). But generation can be optimized if needed.

I'm unsure about OpAdaptor classes as there it is all get methods (it is
a named view into raw data structures), so prefix doesn't add much.

This starts with emitting raw-only form (as current behavior) as
default, then one can opt-in to raw & prefixed, then just prefixed. The
default in OpBase will switch to prefixed-only to be consistent with
MLIR style guide. And the option potentially removed later (considered
enabling specifying prefix but current discussion more pro keeping it
limited and stuck with that).

Also add more explicit checking for pruned functions to avoid emitting
where no function was added (and so avoiding dereferencing nullptr)
during op def/decl generation.

See https://bugs.llvm.org/show_bug.cgi?id=51916 for further discussion.

Differential Revision: https://reviews.llvm.org/D111033
The file was modifiedmlir/lib/TableGen/Dialect.cpp
The file was modifiedmlir/include/mlir/IR/OpBase.td
The file was modifiedmlir/include/mlir/TableGen/Dialect.h
The file was modifiedmlir/test/mlir-tblgen/op-attribute.td
The file was modifiedmlir/tools/mlir-tblgen/OpDefinitionsGen.cpp
Commit 0fcda9ae5757dc48f3b7ee668e4a59c5749447e7 by pklausler
[flang] Admit NULL() in generic procedure resolution cases

Semantics is rejecting valid programs with NULL() actual arguments
to generic interfaces, including user-defined operators.  Subclause
16.9.144(para 6) makes clear that NULL() can be a valid actual
argument to a generic interface so long as it does not produce
ambiguity.  This patch handles those cases, revises existing
tests, and adjust an error message about NULL() operands to
appear less like a blanket prohibition.

Differential Revision: https://reviews.llvm.org/D111850
The file was modifiedflang/include/flang/Evaluate/tools.h
The file was modifiedflang/lib/Evaluate/tools.cpp
The file was modifiedflang/lib/Semantics/check-declarations.cpp
The file was modifiedflang/include/flang/Semantics/expression.h
The file was modifiedflang/lib/Semantics/expression.cpp
The file was modifiedflang/test/Semantics/resolve63.f90
Commit db8a88fef87e921c331c71503f73a76337c121c9 by michaelrj
[libc] add memccpy and mempcpy

Add an implementation for memccpy and mempcpy. These functions are
posix extensions for the moment.

Reviewed By: lntue

Differential Revision: https://reviews.llvm.org/D111762
The file was modifiedlibc/test/src/string/CMakeLists.txt
The file was addedlibc/src/string/mempcpy.h
The file was modifiedlibc/spec/posix.td
The file was modifiedlibc/src/string/CMakeLists.txt
The file was modifiedlibc/config/linux/x86_64/entrypoints.txt
The file was addedlibc/src/string/memccpy.cpp
The file was addedlibc/test/src/string/mempcpy_test.cpp
The file was addedlibc/src/string/mempcpy.cpp
The file was addedlibc/test/src/string/memccpy_test.cpp
The file was addedlibc/src/string/memccpy.h
Commit 1274a07da0099048388c5949457480614a2bed8c by Vitaly Buka
[NFC][asan] Use more common socket type in test
The file was modifiedcompiler-rt/test/asan/TestCases/Posix/ioctl.cpp
Commit 882ce178b317c565f14b0de05a2c9ee39fe78a83 by Vitaly Buka
[NFC][sanitizer] Remove %stdcxx11

-std=c++14 is a default for a while.

Reviewed By: kstoimenov

Differential Revision: https://reviews.llvm.org/D111848
The file was modifiedcompiler-rt/test/asan/TestCases/exitcode.cpp
The file was modifiedcompiler-rt/test/memprof/lit.cfg.py
The file was modifiedcompiler-rt/test/asan/TestCases/use-after-scope-temp.cpp
The file was modifiedcompiler-rt/test/asan/TestCases/use-after-scope-temp2.cpp
The file was modifiedcompiler-rt/test/asan/TestCases/use-after-scope-types.cpp
The file was modifiedcompiler-rt/test/asan/lit.cfg.py
The file was modifiedcompiler-rt/test/asan/TestCases/use-after-scope-capture.cpp
Commit a1e78aee66038dbc3ce35b72a52c511490cd3e06 by Vitaly Buka
[NFC][asan] Speedup uar_signals.cpp test

It was the slowest test:
--------------------------------------------------------------------------
41.77s: AddressSanitizer-x86_64-linux :: TestCases/Linux/uar_signals.cpp
26.64s: AddressSanitizer-i386-linux :: TestCases/Linux/uar_signals.cpp
14.82s: AddressSanitizer-x86_64-linux :: TestCases/Posix/current_allocated_bytes.cpp
14.79s: AddressSanitizer-i386-linux :: TestCases/Posix/current_allocated_bytes.cpp
11.55s: AddressSanitizer-x86_64-linux :: TestCases/scariness_score_test.cpp
10.15s: AddressSanitizer-x86_64-linux :: TestCases/Posix/stack-use-after-return.cpp
The file was modifiedcompiler-rt/test/asan/TestCases/Linux/uar_signals.cpp
Commit 42ad7e1bc9088d73d87e19c87c69aa4c3434f3c9 by hoy
[CSSPGO] Turn off PseudoProbeUpdatePass for non-FDO builds.

PseudoProbeUpdatePass is used to distribute sample counts among dulplicated probes.  It doesn't make sense for it to run without a sample profile. The pass takes 1% of the build time.

Reviewed By: wenlei

Differential Revision: https://reviews.llvm.org/D111847
The file was modifiedllvm/lib/Passes/PassBuilderPipelines.cpp
Commit 3f96f7b30c91b912de1c6c7c03ab6a4c18e8aa26 by apilipenko
Fix getInlineCost with ComputeFullInlineCost enabled

Fix a bug when getInlineCost incorrectly returns a
cost/threshold pair instead of an explicit never inline.

Reviewed By: mtrofin
Differential Revision: https://reviews.llvm.org/D111687
The file was addedllvm/test/Transforms/SampleProfile/inline-noduplicate.ll
The file was addedllvm/test/Transforms/Inline/noduplicate.ll
The file was modifiedllvm/lib/Analysis/InlineCost.cpp
Commit d3cb6bf2d462958f2a6573e6390cca71d13dee6b by springerm
[mlir][linalg][bufferize] Rewrite conflict detection

For each memory read, follow SSA use-def chains to find the op that produces the data being read (i.e., the most recent write). A memory write to an alias is a conflict if it takes places after the "most recent write" but before the read.

This CL introduces two main changes:
* There is a concise definition of a conflict. Given a piece of IR with InPlaceSpec annotations and a computes alias set, it is easy to compute whether this program has a conflict. No need to consider multiple cases such as "read of operand after in-place write" etc.
* No need to check for clobbering.

Differential Revision: https://reviews.llvm.org/D111287
The file was modifiedmlir/include/mlir/Dialect/Linalg/Transforms/ComprehensiveBufferize.h
The file was modifiedmlir/test/Dialect/Linalg/comprehensive-module-bufferize-analysis.mlir
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/ComprehensiveBufferize.cpp
Commit 7dd7078760e7219f0915610c3aa57fa6dd74be59 by springerm
[mlir][linalg][bufferize] Handle scf::ForOp correctly in bufferizesToMemoryRead

From the perspective of analysis, scf::ForOp is treated as a black box. Basic block arguments do not alias with their respective OpOperands on the ForOp, so they do not participate in conflict analysis with ops defined outside of the loop.

However, bufferizesToMemoryRead and bufferizesToMemoryWrite on the scf::ForOp itself are used to determine how the scf::ForOp interacts with its surrounding ops.

Differential Revision: https://reviews.llvm.org/D111775
The file was modifiedmlir/test/Dialect/Linalg/comprehensive-module-bufferize-analysis.mlir
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/ComprehensiveBufferize.cpp
Commit 44610c01aeed8402da982ab59c47f45e7b3bc93b by jeffniu22
[MLIR][ODS] default-valued strings should be in quotes

`DefaultValuedAttr<StrAttr, "">` and `ConstantAttr<StrAttr, "">`
result in bugs in which TableGen will not recognize that the attribute
has a default value, because `""` is an empty TableGen string.

Strings no longer have special treatment. Instead, string values must be
wrapped in quotes: "\"foo\"". Two helpers, `DefaultValuedStrAttr` and
`ConstantStrAttr` have been added to keep code clean.

Reviewed By: rriddle

Differential Revision: https://reviews.llvm.org/D111855
The file was modifiedmlir/test/lib/Dialect/Test/TestOps.td
The file was modifiedmlir/test/mlir-tblgen/pattern.mlir
The file was modifiedmlir/include/mlir/IR/OpBase.td
The file was addedmlir/test/mlir-tblgen/constant-str-attr-invalid.mlir
The file was modifiedmlir/test/mlir-tblgen/op-attribute.td
The file was modifiedmlir/test/mlir-tblgen/op-format.mlir
The file was modifiedmlir/tools/mlir-tblgen/OpDefinitionsGen.cpp
The file was modifiedmlir/tools/mlir-tblgen/RewriterGen.cpp
Commit 1202d280c6d96d6ad85d7e3d9f0968a7331f4322 by mkazantsev
[SCEV][NFC] Reduce memory footprint & compile time via DFS refactoring

Current implementations of DFS in SCEV check unique-visited of traversed
values on pop, and not on push. As result, the same value may be pushed
multiple times just to be thrown away when popped. These operations are
meaningless and only waste time and increase memory footprint of the
worklist.

This patch reworks the DFS strategy to check uniqueness before push.
Should be NFC.

Differential Revision: https://reviews.llvm.org/D111774
Reviewed By: nikic, reames
The file was modifiedllvm/lib/Analysis/ScalarEvolution.cpp
Commit effbf0bdd039237542ac5e9afe1f23c9386010e2 by richard
PR52183: Don't emit code for a void-typed constant expression.

This is unnecessary in general, and wrong when the expression invokes a
consteval function.
The file was modifiedclang/lib/CodeGen/CGExprConstant.cpp
The file was modifiedclang/lib/CodeGen/CGExprScalar.cpp
The file was modifiedclang/test/CodeGenCXX/cxx2a-consteval.cpp
Commit 12cbc8cbf071901686b36e192a6d4da19deb6ec6 by Artem Dergachev
[analyzer] Fix property access kind detection inside parentheses.

'(self.prop)' produces a surprising AST where ParenExpr
resides inside `PseudoObjectExpr.

This breaks ObjCMethodCall::getMessageKind() which in turn causes us
to perform unnecessary dynamic dispatch bifurcation when evaluating
body-farmed property accessors, which in turn causes us
to explore infeasible paths.
The file was modifiedclang/test/Analysis/ObjCProperties.m
The file was modifiedclang/lib/StaticAnalyzer/Core/CallEvent.cpp
Commit 9e9b0f462146e91570f8a4d86611d737f65b0404 by qiucofan
[PowerPC] Support ppc-asm-full-reg-names for AIX

Reviewed By: jsji

Differential Revision: https://reviews.llvm.org/D94282
The file was modifiedllvm/test/CodeGen/PowerPC/builtins-ppc-xlcompat-sync-64.ll
The file was modifiedllvm/test/CodeGen/PowerPC/builtins-ppc-xlcompat-sync-32.ll
The file was modifiedllvm/test/CodeGen/PowerPC/builtins-ppc-xlcompat-cmpb-32.ll
The file was modifiedllvm/lib/Target/PowerPC/MCTargetDesc/PPCInstPrinter.cpp
The file was modifiedllvm/test/CodeGen/PowerPC/reg-names.ll
Commit 90ae538cab4b0535450b079244241424ff90711c by mkazantsev
[SCEV] Prove implication of predicates to their sign-flipped counterparts

This patch teaches SCEV two implication rules:

  x <u y && y >=s 0 --> x <s y,
  x <s y && y <s 0 --> x <u y.

And all equivalents with signs/parts swapped.

Differential Revision: https://reviews.llvm.org/D110517
Reviewed By: nikic
The file was modifiedllvm/lib/Analysis/ScalarEvolution.cpp
The file was modifiedllvm/test/Transforms/IndVarSimplify/outer_phi.ll
Commit 81e9c90686f7bfbdd721b8e1a780152c95c258b0 by kazu
[llvm] Use llvm::is_contained (NFC)
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/include/llvm/Support/CommandLine.h
The file was modifiedllvm/lib/IR/Assumptions.cpp
The file was modifiedllvm/lib/Transforms/Vectorize/LoopVectorize.cpp
The file was modifiedllvm/lib/Transforms/Utils/LoopUnrollRuntime.cpp
The file was modifiedllvm/lib/Target/AArch64/AArch64LowerHomogeneousPrologEpilog.cpp
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
The file was modifiedllvm/include/llvm/DebugInfo/DWARF/DWARFContext.h

Summary

  1. Turned off the assertions for ThinLTO deterministic build, as unreachable emits a full path to a autogenerated files in the build directory. (details)
  2. [zorg] Remove the clang-ppc64le-linux bot (details)
Commit dd585d5dbde5996399a60ebd4d3b881010e4d949 by gkistanova
Turned off the assertions for ThinLTO deterministic build, as unreachable emits a full path to a autogenerated files in the build directory.
The file was modifiedbuildbot/osuosl/master/config/builders.py
Commit 7752cc0ec70a27562735441d54603f983e312df8 by amy.kwan1
[zorg] Remove the clang-ppc64le-linux bot

This patch aims to remove the clang-ppc64le-linux bot.

The clang-ppc64le-linux bot was originally meant to be a bot to build LLVM and
run LIT tests, in order to quickly notify of any regressions. However, building
on the bot is not particularly quick at all.

As this bot only performs a subset of the tests that the other bots runs, and
that the average build times shown on the webpage exceeds that of other bots
(such as the multistage bot), it defeats the purpose of having this "quick bot"
in the first place.

Differential Revision: https://reviews.llvm.org/D111813
The file was modifiedbuildbot/osuosl/master/config/workers.py
The file was modifiedbuildbot/osuosl/master/config/builders.py