SuccessChanges

Changes from Git (git http://labmaster3.local/git/llvm-zorg.git)

Summary

  1. flang-aarch64: Refine the number of parallel jobs (details)
  2. Don't build mlir project on x86_64-fedora-clang builder (details)
  3. Change builddir of x86_64-fedora-clang job (details)
  4. Re-added mlir project to x86_64-fedora-clang builder (details)
Commit 6414deadea407ba8457f6d2449950e5bbe8290bc by andrzej.warzynski
flang-aarch64: Refine the number of parallel jobs

Differential Revision: https://reviews.llvm.org/D89030
The file was modifiedbuildbot/osuosl/master/config/slaves.py
Commit 0d5971b5b5acff4f7c4e3939a5c4f5bcc905c731 by kkleine
Don't build mlir project on x86_64-fedora-clang builder
The file was modifiedbuildbot/osuosl/master/config/builders.py
Commit e10fea31a6210129f0908cd58ce66f87bf3bb680 by kkleine
Change builddir of x86_64-fedora-clang job
The file was modifiedbuildbot/osuosl/master/config/builders.py
Commit cdaf03f6ce247030c2cb2f23d8c76324c96dad73 by kkleine
Re-added mlir project to x86_64-fedora-clang builder
The file was modifiedbuildbot/osuosl/master/config/builders.py

Changes from Git (git http://labmaster3.local/git/llvm-project.git)

Summary

  1. [lldb] Initial version of FreeBSD remote process plugin (details)
  2. [gn build] (manually) port 9b58b0c06e6 (details)
  3. [gn build] (manually) port 9b58b0c06e6 better (details)
  4. [AMDGPU] Add patterns for mad/mac legacy f32 instructions (details)
  5. [InstCombine] add vector splat tests for add of signmask; NFC (details)
  6. [InstCombine] allow vector splats for add+xor with signmask (details)
  7. [ELF] Don't change binding to STB_WEAK for an undefined specified by -u (details)
  8. DeferredDiagnosticsEmitter crashes (details)
  9. [LLDB] On Windows, fix tests (details)
  10. [OpenMP] Change CMake Configuration to Build for Highest CUDA Architecture by Default (details)
  11. [libcxx] Fix the thousands_sep test failure (details)
  12. [lldb] Add a cmake warning about the python/swig incompatibility (details)
  13. [lldb] Fix "frame var" for large bitfields (details)
  14. [flang] Allow "name: value" in compiler directives (details)
  15. [mlir][Linalg] Add some depedence query methods to LinalgDependenceGraph. (details)
  16. [clang][feature] Add cxx_abi_relative_vtable feature (details)
  17. [GlobalISel] Add G_VECREDUCE_* opcodes for vector reductions. (details)
  18. [AIX] Add REQUIRES for powerpc test. NFC (details)
  19. [sanitizer] Fix Fuchsia bot failure (details)
  20. [lit] Try to remove the flakeyness of `shtest-timeout.py` and `googletest-timeout.py`. (details)
  21. [OpenMP] Replace OpenMP RTL Functions With OMPIRBuilder and OMPKinds.def (details)
  22. [AVR] Fix null dereference warning. NFCI. (details)
  23. [Analysis] ScalarEvolution::getUMinFromMismatchedTypes - assert we've found the max type. NFCI. (details)
  24. [Transforms] CodeExtractor::verifyAssumptionCache - don't dereference a dyn_cast<>. NFCI. (details)
  25. Introduce and use a new section type for the bb_addr_map section. (details)
  26. [runtimes] Use int main(int, char**) consistently in tests (details)
  27. [unittests] Add a few tests for computeKnownBits with ranges (details)
  28. [KnownBits] Add a computeForMul method (details)
  29. [KnownBits] Add a sextOrTrunc method (details)
  30. [WebAssembly] Handle indirect uses of longjmp (details)
  31. [SLP] optimizeGatherSequence - assert every Instruction in the worklist is non-null. (details)
  32. Fix Wparentheses warning. NFCI. (details)
  33. [InstCombine] add tests for add-xor; NFC (details)
  34. [InstCombine] remove unnecessary one-use check from add-xor transform (details)
  35. [Transforms] visitCmpBlock - don't dereference a dyn_cast<>. NFCI. (details)
  36. Fix typo `DenseElementAttr`-> `DenseElementsAttr` in some comments (NFC) (details)
  37. [InstCombine] allow vector splats for add+xor with low-mask (details)
  38. [InstCombine] Add additional trunc(shl(x,c)) -> shl(trunc(x),trunc(c)) vector tests (details)
  39. [libc] Update buildbot worker version to 2.8.4. (details)
  40. [GlobalISel] Add missing pass dependencies for IRTranslator (details)
  41. [InstCombine] visitTrunc - trunc(shl(X, C)) --> shl(trunc(X),trunc(C)) vector support (details)
  42. [LLDB] More Windows non-English locales fixes (details)
  43. [HWAsan][NewPM] Handle hwasan like other sanitizers (details)
  44. [mlir][vector] Add unit test for vector distribute by block (details)
  45. [mlir][vector] Add integration test for vector distribute transformation (details)
  46. [NFC][MC] MCRegister API typing. (details)
  47. Change the default handling of SIGCONT to nosuppress/nostop/notify (details)
  48. [X86] Fix some clang-tidy bugprone-argument-comment issues (details)
  49. [NFC] Fix a comment in MachinePassManager.h (details)
  50. PR47175: Ensure type-dependent function-style casts have dependent (details)
  51. [AMDGPU] Fix mai hazard VALU to LD/ST (details)
  52. [PowerPC] Add RUN line for powerpc 32-bit. NFC. (details)
  53. Re-land [DebugInfo] Add debug location to stubs generated by CGDeclCXX and mark them as artificial (details)
  54. [libc++] Add caching for feature-detection Lit tests (details)
  55. [mlir][CAPI] Remove the exclusion of the MLIR C-API from libMLIR.so. (details)
  56. [NFC][Test] Update the test with update_llc_test_checks.py (details)
  57. [NFC][PowerPC] Supplement test cases for D88274. (details)
  58. [TwoAddressInstruction][PowerPC] Call `regOverlapsSet` to find out real clobbers and uses (details)
  59. [AST] Fix crashes caused by redeclarations in hidden prototypes (details)
  60. [VE] Add new MVT types for NEC SX Aurora VE vector (details)
  61. [DWARFYAML] Make the opcode_base and the standard_opcode_lengths fields optional. (details)
  62. [llvm-dwarfdump][test] Rewrite verify_die_ranges.s in YAML. NFC. (details)
  63. [X86] Passing union type through register (details)
  64. [MLIR] Add a foldTrait() mechanism to allow traits to define folding and test it with an Involution trait (details)
  65. Fix incorect Register -> MCRegister conversion (details)
  66. [lldb] Format remaining signal table (NFC) (details)
  67. [MCRegister] Simplify isStackSlot & isPhysicalRegister and delete isPhysical. NFC (details)
  68. [mlir] Improve LLVM shlib support (details)
  69. Give attributes C++ namespaces. (details)
  70. Revert "[MLIR] Add a foldTrait() mechanism to allow traits to define folding and test it with an Involution trait" (details)
  71. Remove -gen-pass-doc from Flang CMake configuration: the documentation generation is broken (details)
  72. [clangd] Add more incomplete_type diagnostics that could be fixed by include-fixer. (details)
  73. [clangd] Reduce availability of extract function (details)
  74. [clangd] Enable partial namespace matches for workspace symbols (details)
  75. [clangd] Fix dead variable, typo. NFC (details)
  76. [IR] Add Type::getFloatingPointTy. (details)
  77. Refactor fixed point conversion test. (details)
  78. [Fixed Point] Add floating point methods to APFixedPoint. (details)
  79. [lldb] Delete copy operations on PluginInterface class (details)
  80. [llvm-readelf/obj][test] - Stop using precompiled binary in mips-plt.test (details)
  81. [DAGCombiner] Add decomposition patterns for Mul-by-Imm. (details)
  82. [NFC] Fix banner (details)
  83. [mlir] NFC: small improvement to how we print a gpu.launch op. (details)
  84. [NFC][SCEV] Improve tests for ptrtoint modelling (D88806) (details)
  85. [Diagnostics] Diagnose  -Wsizeof-array-div for array of pointers (details)
  86. [SystemZ] Use LA instead of AGR in eliminateFrameIndex(). (details)
  87. Revert "[NFC][SCEV] Improve tests for ptrtoint modelling (D88806)" (details)
  88. [mlir] Fix bug in computing operation order (details)
  89. [NFC] Add option to disable IV widening if needed (details)
  90. [Analyzer] Fix for dereferece of smart pointer after branching on unknown inner pointer (details)
  91. [clang] improve accuracy of ExprMutAnalyzer (details)
  92. Reland "[NFC][SCEV] Improve tests for ptrtoint modelling (D88806)" (details)
  93. [clangd] Make the tweak filter a parameter to enumerateTweaks. NFC (details)
  94. first upstream review (details)
  95. Revert "first upstream review" (details)
  96. [windows-itanium] make dllimport/export handling closer to MS behavior (details)
  97. Regenerate ClangCommandLineReference.rst (details)
  98. [LLD] [ELF] Fix the help listing for the wrap option. NFC. (details)
  99. [InstCombine] Add nonuniform/undef vector tests for shift(binop(shift(x,c1),y),c2) patterns (details)
  100. [mlir][gpu] Fix bug in kernel outlining (details)
  101. [InstCombine] foldShiftOfShiftedLogic - replace cast<BinaryOperator> with m_BinOp matcher. NFCI. (details)
  102. Remove old create(MainFile)?IncludeInsertion overloads (details)
  103. [InstCombine] foldShiftOfShiftedLogic - add support for nonuniform constant vectors (details)
  104. [SCEV] Do not apply info from loop guards in AddRecs. (details)
  105. [Clang][unittests][NFC] Break up test in Callbacks.cpp (details)
  106. [gn build] Port 0741a2c9cac (details)
  107. [mlir] Use PatternRewriter infrastructure for shape.assuming bufferization (details)
  108. [libc++] More consistency with declaring int main(int, char**) (details)
  109. [SystemZ][z/OS] Update target specific __attribute__((aligned)) value for test (details)
  110. [clangd] Stop logging in fromJSON, report instead. (details)
  111. [mlir][openmp][NFC]Remove unnecessary brackets and rephrase ParallelOp description in mlir definition (details)
  112. [libc++] Make sure we don't cache DSL functions too aggressively (details)
  113. [OpenCL] Add new compilation mode for OpenCL 3.0. (details)
  114. [InstCombine] Add tests for X shift (A srem B) -> X shift (A and B-1) pow2 nonuniform constant vectors (details)
  115. [InstCombine] allow vector splats for add+and with high-mask (details)
  116. [Hexagon] Return 1 instead of 0 from getMaxInterleaveFactor (details)
  117. [InstCombine] commonShiftTransforms - add support for pow2 nonuniform constant vectors in srem fold (details)
  118. [NFC] Reformat MILexer.cpp:getIdentifierKind (details)
  119. [ARM] Add MVE vecreduce costmodel tests. NFC (details)
  120. [mlir] Fix shared libs build (details)
  121. [MLIR] Add async token/value arguments to async.execute op (details)
  122. [InstCombine] Add lshr(trunc(lshr(x,c1)), c2) -> trunc(lshr(lshr(x,c1),c2)) vector tests (details)
  123. [InstCombine] Support lshr(trunc(lshr(x,c1)), c2) -> trunc(lshr(lshr(x,c1),c2)) uniform vector tests (details)
  124. [mlir] Forward listeners when utilizing scf::IfOp::get*BodyBuilder. (details)
  125. [AMDGPU] Only enable mad/mac legacy f32 patterns if denormals may be flushed (details)
  126. [LoopInterchange][NewPM] Port -loop-interchange to NPM (details)
  127. [FixIrreducible][NewPM] Port -fix-irreducible to NPM (details)
  128. [libc++] Remove some workarounds for C++03 (details)
  129. [clang] Don't look into <sysroot> for C++ headers if they are found alongside the toolchain (details)
  130. [libc++] Clean up logic around aligned/sized allocation and deallocation (details)
  131. [OpenMPOpt] Merge parallel regions (details)
  132. [lldb] Update docs with new buildbot URLs (details)
  133. [ARM][MIPS] Add funnel shift test coverage (details)
  134. [BPF] Make BPFAbstractMemberAccessPass required (details)
  135. [libc++] NFCI: Define small methods of basic_stringstream inline (details)
  136. [libc++] Rename LIBCXX_ENABLE_DEBUG_MODE to LIBCXX_ENABLE_DEBUG_MODE_SUPPORT (details)
  137. [libc++] Fixup a missing occurrence of LIBCXX_ENABLE_DEBUG_MODE (details)
  138. [MemCpyOpt] Add test for incorrectly hoisted store (NFC) (details)
  139. [X86] Don't copy kill flag when expanding LCMPXCHG16B_SAVE_RBX (details)
  140. [X86] When expanding LCMPXCHG16B_NO_RBX in EmitInstrWithCustomInserter, directly copy address operands instead of going through X86AddressMode. (details)
  141. [clang] Add a test for CGDebugInfo treatment of blocks (details)
  142. [mlir] Fix TypeID for shared libraries built with -fvisibility=hidden. (details)
  143. NFC: Address post-commit doc/formatting comments on TypeID.h. (details)
  144. [NFC][Regalloc] Fix coding style in CalcSpillWeights (details)
  145. Enable LSAN for Android (details)
  146. [Reg2Mem][NewPM] Pin test to legacy PM (details)
  147. Revert "Give attributes C++ namespaces." (details)
  148. [mlir][Linalg] NFC - Cleanup explicitly instantiated paterns 1/n - LinalgToStandard.cpp (details)
  149. [mlir][Linalg] NFC - Cleanup explicitly instantiated paterns 2/n - Loops.cpp (details)
  150. Add GPU async op interface and token type. (details)
  151. [Hexagon] Generalize handling of SDNodes created during ISel (details)
  152. [Hexagon] Remove ISD node VSPLATW, use VSPLAT instead (details)
  153. [NFC][Regalloc] VirtRegAuxInfo::Hint does not need to be a field (details)
  154. DirectoryWatcher: add an implementation for Windows (details)
  155. [libc++] Remove redundant if(LIBCXX_INSTALL_LIBRARY) (details)
  156. [libc++] Remove code to prevent overwriting the system libc++ on Darwin (details)
  157. [WebAssembly] Prototype i16x8.q15mulr_sat_s (details)
  158. Temporarily revert "[ThinLTO] Re-order modules for optimal multi-threaded processing" (details)
  159. [IRMover] Add missing open quote in the warning message (details)
  160. [SCCP] Reduce the number of times ResolvedUndefsIn is called for large modules. (details)
  161. [X86][test] Add a regression test for lock cmpxchg16b on a global variable with offset (details)
  162. [X86] Check if call is indirect before emitting NT_CALL (details)
  163. Sink: Handle instruction sink when a user is dead (details)
  164. [mlir, win] Mark several MLRI tests as unsupported on system-windows (details)
  165. [bugpoint] Delete -safe-llc and make -run-llc work like -run-llc -safe-run-llc (details)
  166. [mlir] [standard] fixed typo in comment (details)
  167. [intel pt] Refactor parsing (details)
  168. [mlir] Rename BufferPlacement.h to Bufferize.h (details)
  169. [mlir][openacc] Introduce acc.exit_data operation (details)
  170. [X86] Add CET test, NFC (details)
  171. [PowerPC] Fix signed overflow in decomposeMulByConstant after D88201 (details)
  172. [CSKY 1/n] Add basic stub or infra of csky backend (details)
  173. [Statepoints] Allow deopt GC pointer on VReg if gc-live bundle is empty. (details)
  174. [MemCpyOpt] Don't hoist store that's not guaranteed to execute (details)
  175. [mlir][scf] Fix a bug in scf::ForOp loop unroll with an epilogue (details)
  176. [TblGen][Scheduling] Fix debug output. NFC (details)
  177. [AArch64][LV] Move vectorizer test to Transforms/LoopVectorize/AArch64. NFC (details)
  178. [clangd] Map bits/stdint-intn.h and bits/stdint-uintn.h to cstdint. (details)
  179. [DebugInfo] Support for DWARF attribute DW_AT_rank (details)
  180. [ARM] Attempt to make Tail predication / RDA more resilient to empty blocks (details)
  181. [MemCpyOpt] Add test for incorrect memset DSE (NFC) (details)
  182. [SCEV] Add a test case with ULE loop guard. (details)
  183. [SCEV] Handle ULE in applyLoopGuards. (details)
  184. [SCEV] Add test cases where the max BTC is imprecise, due to step != 1. (details)
  185. [AMDGPU] Add gfx602, gfx705, gfx805 targets (details)
  186. Step down from security group (details)
  187. [lldb] [Process/FreeBSD] Mark methods override in RegisterContext* (details)
  188. [lldb] [Process/FreeBSDRemote] Kill process via PT_KILL (details)
  189. [lldb] [Process/FreeBSDRemote] Fix double semicolon (details)
  190. [InstCombine] Add test case showing rotate intrinsic being split by SimplifyDemandedBits (details)
  191. [PowerPC] Add ppc32 funnel shift test coverage (details)
  192. [lldb] [Windows] Add missing 'override', silencing warnings. NFC. (details)
  193. [lldb] [Windows] Remove unused functions. NFC. (details)
  194. Define splat_vector for ISD::SPLAT_VECTOR in TargetSelectionDAG.td (details)
  195. [PowerPC] ReplaceNodeResults - bail on funnel shifts and let generic legalizers deal with it (details)
  196. Remove %tmp variables from test cases to appease update_test_checks.py (details)
  197. [InstCombine] getLogBase2 - no need to specify Type. NFCI. (details)
  198. Fix CMake configuration error when run with -Werror/-Wall (details)
  199. [InstCombine] getLogBase2(undef) -> 0. (details)
  200. [X86] Delete redundant 'static' from namespace scope 'static constexpr'. NFC (details)
  201. [SDAG] Remember to set UndefElts in isSplatValue for SPLAT_VECTOR (details)
  202. [Hexagon] Replace HexagonISD::VSPLAT with ISD::SPLAT_VECTOR (details)
  203. [X86] Add a X86ISD::BEXTRI to distinquish the case where the control must be a constant. (details)
  204. [X86] AMX intrinsics should have ImmArg for the register numbers and use timm in isel patterns. (details)
  205. [X86] Redefine X86ISD::PEXTRB/W and X86ISD::PINSRB/PINSRW to use a i8 TargetConstant for the immediate instead of a ptr constant. (details)
  206. [Coroutines] Refactor/Rewrite Spill and Alloca processing (details)
  207. [mlir] add scf.if op canonicalization pattern that removes unused results (details)
  208. [InstCombine] Replace getLogBase2 internal helper with ConstantExpr::getExactLogBase2. NFCI. (details)
  209. [InstCombine] matchFunnelShift - fold or(shl(a,x),lshr(b,sub(bw,x))) -> fshl(a,b,x) iff x < bw (details)
  210. [InstCombine] Remove accidental unnecessary ConstantExpr qualification added in rGb752daa26b64155 (details)
  211. [X86][SSE2] Use smarter instruction patterns for lowering UMIN/UMAX with v8i16. (details)
  212. Fix Wdocumentation warning. NFCI. (details)
  213. [VE][NFC] Clean VEISelLowering.cpp (details)
  214. [InstCombine] add/adjust tests for add+xor -> shifts; NFC (details)
  215. [InstCombine] add tests with extra uses for add+xor transform; NFC (details)
  216. [InstCombine] add one-use check to add+xor transform (details)
  217. [InstCombine] allow vector splats for add+xor --> shifts (details)
  218. [MemCpyOpt] Add additional byval tests (NFC) (details)
  219. [LV] Extra predicated inloop reduction tests. NFC (details)
  220. [MemCpyOpt] Add lifetime may alias test (NFC) (details)
  221. [clang-tidy] Fix crash in readability-function-cognitive-complexity on weak refs (details)
  222. [LV] Tail folded inloop reductions. (details)
  223. [X86] Define __LAHF_SAHF__ if feature 'sahf' is set or 32-bit mode (details)
  224. [InstCombine] combineLoadToOperationType(): don't fold int<->ptr cast into load (details)
  225. [clangd] Avoid relations being overwritten in a header shard (details)
  226. [mlir] Type erase inputs to select statements in shape.broadcast lowering. (details)
  227. [ELF] Fix broken bitstream linking with lld when e_machine > 255 (details)
  228. Fix arc lint's clang-format rule: only format the file we were asked to format. (details)
  229. [ValueTracking] Use KnownBits::countMaxLeadingZeros/countMaxTrailingZeros to make code more readable. NFC (details)
  230. PR47792: Include the type of a pointer or reference non-type template (details)
  231. [mlir][openacc] Introduce acc.enter_data operation (details)
  232. [NFC] Move PPC strict-fp MIR test to dedicated file (details)
  233. Revert "PR47792: Include the type of a pointer or reference non-type template" (details)
  234. [SchedDAGInstrs] Delete redundant contains(). NFC (details)
  235. Revert "[SYCL] Implement __builtin_unique_stable_name." (details)
  236. [NFC][Asan] Remove unused macro (details)
  237. [Tablegen][SubtargetEmitter] Print TuneCPU in Subtarget::ParseSubtargetFeatures (details)
  238. [SVE] Make ElementCount and TypeSize use a new PolySize class (details)
  239. [SCEV] Model ptrtoint(SCEVUnknown) cast not as unknown, but as zext/trunc/self of SCEVUnknown (details)
  240. Fix build failure caused by c5ba0d33cc060cc06a28a5d9101060afd1c0ee9a (details)
  241. [mlir] Move Linalg tensors-to-buffers tests to Linalg tests. (details)
  242. Revert "Revert "Give attributes C++ namespaces."" (details)
  243. [clang] Fix returning the underlying VarDecl as top-level decl for VarTemplateDecl. (details)
  244. [llvm-readobj/elf] - Ignore the hash table when on EM_S390/EM_ALPHA platforms. (details)
  245. [AST][RecoveryExpr] Build dependent callexpr in C for error-recovery. (details)
  246. [AST][RecoveryExpr] Don't perform early typo correction in C. (details)
  247. [IR][FIX] Intrinsics - don't apply default willreturn if IntrNoReturn is specified (details)
  248. Add test for cortex-a57/ARM sched model. NFC (details)
  249. Fix buildbot failure for 702529d899c87e9268bb33d836dbc91b6bce0b16. (details)
  250. [VE] Change to expand BRCOND (details)
  251. [VE] Support fneg and frem (details)
  252. Revert rGb97093e520036f8 - "[InstCombine] matchFunnelShift - fold or(shl(a,x),lshr(b,sub(bw,x))) -> fshl(a,b,x) iff x < bw" (details)
Commit 1a600266c3ad1193d41ebb08a5a87c00cf726b1b by mgorny
[lldb] Initial version of FreeBSD remote process plugin

Add a new FreeBSD Process plugin using client/server model.  This plugin
is based on the one used by NetBSD.  It currently supports a subset
of functionality for amd64.  It is automatically used when spawning
lldb-server.  It can also be used by lldb client by setting
FREEBSD_REMOTE_PLUGIN environment variable (to any value).

The code is capable of debugging simple single-threaded programs.  It
supports general purpose, debug and FPU registers (up to XMM) of amd64,
basic signalling, software breakpoints.

Adding the support for the plugin involves removing some dead code
from FreeBSDPlatform plugin (that was not ever used because
CanDebugProcess() returned false), and replacing it with appropriate
code from NetBSD platform support.

Differential Revision: https://reviews.llvm.org/D88796
The file was addedlldb/source/Plugins/Process/FreeBSDRemote/NativeThreadFreeBSD.cpp
The file was addedlldb/source/Plugins/Process/FreeBSDRemote/NativeRegisterContextFreeBSD_x86_64.cpp
The file was addedlldb/source/Plugins/Process/FreeBSDRemote/NativeThreadFreeBSD.h
The file was modifiedlldb/test/Shell/lit.cfg.py
The file was modifiedlldb/source/Plugins/Platform/FreeBSD/PlatformFreeBSD.cpp
The file was modifiedlldb/source/Plugins/Process/CMakeLists.txt
The file was addedlldb/source/Plugins/Process/FreeBSDRemote/NativeProcessFreeBSD.h
The file was addedlldb/source/Plugins/Process/FreeBSDRemote/NativeProcessFreeBSD.cpp
The file was modifiedlldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerCommon.cpp
The file was modifiedlldb/source/Plugins/Platform/FreeBSD/PlatformFreeBSD.h
The file was modifiedlldb/source/Plugins/Process/FreeBSD/ProcessFreeBSD.cpp
The file was addedlldb/source/Plugins/Process/FreeBSDRemote/NativeRegisterContextFreeBSD_x86_64.h
The file was addedlldb/source/Plugins/Process/FreeBSDRemote/CMakeLists.txt
The file was addedlldb/source/Plugins/Process/FreeBSDRemote/NativeRegisterContextFreeBSD.h
The file was modifiedlldb/tools/lldb-server/CMakeLists.txt
The file was addedlldb/source/Plugins/Process/FreeBSDRemote/NativeRegisterContextFreeBSD.cpp
The file was modifiedlldb/tools/lldb-server/lldb-gdbserver.cpp
Commit c78fecba326ca493d7db2416e101b4c91676dc6c by thakis
[gn build] (manually) port 9b58b0c06e6
The file was modifiedllvm/utils/gn/secondary/lld/test/BUILD.gn
Commit 02e4800eeb89c4a5dbb8faa15d21d1d8b52aa877 by thakis
[gn build] (manually) port 9b58b0c06e6 better
The file was modifiedllvm/utils/gn/secondary/lld/test/BUILD.gn
Commit 7238faa4ae977523903192e287d442eb53c49ee5 by jay.foad
[AMDGPU] Add patterns for mad/mac legacy f32 instructions

Note that all subtargets up to GFX10.1 have v_mad_legacy_f32, but GFX8/9
lack v_mac_legacy_f32. GFX10.3 has no mad/mac f32 instructions at all.

Differential Revision: https://reviews.llvm.org/D88890
The file was modifiedllvm/test/CodeGen/AMDGPU/llvm.amdgcn.fmul.legacy.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.fmul.legacy.ll
The file was modifiedllvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
The file was modifiedllvm/lib/Target/AMDGPU/SIInstructions.td
The file was modifiedllvm/lib/Target/AMDGPU/VOP2Instructions.td
Commit 395963cbe63bba3f2d330dde76957cd900d21f42 by spatel
[InstCombine] add vector splat tests for add of signmask; NFC
The file was modifiedllvm/test/Transforms/InstCombine/add.ll
The file was modifiedllvm/test/Transforms/InstCombine/fold-sub-of-not-to-inc-of-add.ll
Commit b57451b011d39f5a36a8cd6236a49c47692ee89c by spatel
[InstCombine] allow vector splats for add+xor with signmask
The file was modifiedllvm/test/Transforms/InstCombine/add.ll
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
The file was modifiedllvm/test/Transforms/InstCombine/fold-sub-of-not-to-inc-of-add.ll
Commit db1988f038843ad047fdab5b9f818306b06ea80a by i
[ELF] Don't change binding to STB_WEAK for an undefined specified by -u

Similar to D66992.
In GNU ld, a -u specified symbol is a STB_DEFAULT undefined.
It cannot be changed to STB_WEAK by a later STB_WEAK undefined in a regular object file.

The behavior is consistent with our model because -u means "we need to fetch a lazy definition".
It should not be altered just because there is also a STB_WEAK undefined.

Note, our -u semantics are still different from GNU ld (https://github.com/ClangBuiltLinux/linux/issues/515):
we don't force the specified symbol to appear in .symtab This is a deliberate decision.

Reviewed By: grimar

Differential Revision: https://reviews.llvm.org/D88945
The file was modifiedlld/ELF/Driver.cpp
The file was modifiedlld/test/ELF/weak-undef-lib.s
Commit b9225543e844bee5091aa16108e0c54bd2abe485 by Yaxun.Liu
DeferredDiagnosticsEmitter crashes

Patch VisitCXXDeleteExpr() in clang::UsedDeclVisitor to avoid it crashing
when the expression's destroyed type is null. According to the comments
in CXXDeleteExpr::getDestroyedType(), this can happen when the type to
delete is a dependent type.

Patch by Geoff Levner.

Differential Revision: https://reviews.llvm.org/D88949
The file was modifiedclang/lib/Sema/UsedDeclVisitor.h
Commit 79809f58b02419a5d1bfb6c9a59dbd13cd038c77 by alexandre.ganea
[LLDB] On Windows, fix tests

This patch fixes a few issues seen when running `ninja check-lldb` in a Release build with VS2017:

- Some binaries couldn't be found (such as lldb-vscode.exe), because .exe wasn't appended to the file name.
- Many tests used to fail since our installed locale is in French - the OS error messages are not emitted in English.
- Our codepage being Windows-1252, python failed to decode some error messages with accentuations.

Differential Revision: https://reviews.llvm.org/D88975
The file was modifiedlldb/test/API/commands/target/basic/TestTargetCommand.py
The file was modifiedlldb/packages/Python/lldbsuite/test/decorators.py
The file was modifiedlldb/packages/Python/lldbsuite/test_event/build_exception.py
The file was modifiedlldb/packages/Python/lldbsuite/test/dotest.py
The file was modifiedlldb/unittests/Utility/StatusTest.cpp
Commit d564409946a5a13cb6391fc0fec54dcbd6f6d249 by huberjn
[OpenMP] Change CMake Configuration to Build for Highest CUDA Architecture by Default

Summary:
This patch changes the CMake files for Clang and Libomptarget to query the
system for its supported CUDA architecture. This makes it much easier for the
user to build optimal code without needing to set the flags manually. This
relies on the now deprecated FindCUDA method in CMake, but full support for
architecture detection is only availible in CMake >3.18

Reviewers: jdoerfert ye-luo

Subscribers: cfe-commits guansong mgorny openmp-commits sstefan1 yaxunl

Tags: #clang #OpenMP

Differential Revision: https://reviews.llvm.org/D87946
The file was modifiedclang/CMakeLists.txt
The file was modifiedopenmp/libomptarget/deviceRTLs/nvptx/CMakeLists.txt
The file was modifiedopenmp/libomptarget/cmake/Modules/LibomptargetGetDependencies.cmake
Commit 4424d2428aebd3537d3f5a3625acb65edfb5d11f by phosek
[libcxx] Fix the thousands_sep test failure

This fixes the issue introduced in 80ef4126b.
The file was modifiedlibcxx/test/std/localization/locale.categories/category.monetary/locale.moneypunct.byname/thousands_sep.pass.cpp
Commit d4a7c70751cf5c0b0ce344555e3966ddc80290d2 by pavel
[lldb] Add a cmake warning about the python/swig incompatibility

Raise awareness of the fact that some versions of swig and python (and
build types) just don't mix.

One day this will be a reason to require swig>=4.0, but this version is
too hot off the press right now..

Differential Revision: https://reviews.llvm.org/D88967
The file was modifiedlldb/cmake/modules/FindPythonAndSwig.cmake
Commit 19d64138e6a708d1d0571da3ac51e1b4777c2b47 by pavel
[lldb] Fix "frame var" for large bitfields

The problem here is in the "sliding" code in
ValueObjectChild::UpdateValue. It modifies m_bitfield_bit_offset and
m_value to ensure the bitfield value fits the window given by the
underlying type.

However, this is broken next time UpdateValue is called, because it
updates the m_value value from the parent. However, the value cannot be
slid again because the m_bitfield_bit_offset is already modified.

It seems this can happen only under specific circumstances. One way to
trigger is is to run an expression which can be interpreted (jitting it
causes a new StackFrame and ValueObject variables to be created).

I fix this bug by modifying m_byte_offset instead of m_scalar, and
ensuring the changes are folded into m_scalar regardless of how many
times UpdateValue is called.

Differential Revision: https://reviews.llvm.org/D88992
The file was modifiedlldb/source/Core/ValueObjectChild.cpp
The file was modifiedlldb/test/API/lang/c/bitfields/TestBitfields.py
Commit 3e86eda18c3781ab63fbe47eb48bf931a8af4a48 by pklausler
[flang] Allow "name: value" in compiler directives

Some legacy compiler directives use colons rather than
equals signs.

Differential revision: https://reviews.llvm.org/D89017
The file was modifiedflang/test/Parser/compiler-directives.f90
The file was modifiedflang/lib/Parser/Fortran-parsers.cpp
Commit 4a1682e931c1b4bfed77194fa43d18435f88d092 by ravishankarm
[mlir][Linalg] Add some depedence query methods to LinalgDependenceGraph.

The methods allow to check
- if an operation has dependencies,
- if there is a dependence from one operation to another.

Differential Revision: https://reviews.llvm.org/D88993
The file was modifiedmlir/lib/Dialect/Linalg/Analysis/DependenceAnalysis.cpp
The file was modifiedmlir/include/mlir/Dialect/Linalg/Analysis/DependenceAnalysis.h
Commit 64c0792946b792839b2f39e4e208fdd7398aaea0 by leonardchan
[clang][feature] Add cxx_abi_relative_vtable feature

This will be enabled if relative vtables is enabled.

Differential revision: https://reviews.llvm.org/D85924
The file was addedclang/test/Lexer/has_feature_cxx_abi_relative_vtable.cpp
The file was modifiedclang/include/clang/Basic/Features.def
Commit 283b4d6ba3119730e1722e8d78974b2c29d2492a by Amara Emerson
[GlobalISel] Add G_VECREDUCE_* opcodes for vector reductions.

These mirror the IR and SelectionDAG intrinsics & nodes.

Opcodes added:
G_VECREDUCE_SEQ_FADD
G_VECREDUCE_SEQ_FMUL
G_VECREDUCE_FADD
G_VECREDUCE_FMUL
G_VECREDUCE_FMAX
G_VECREDUCE_FMIN
G_VECREDUCE_ADD
G_VECREDUCE_MUL
G_VECREDUCE_AND
G_VECREDUCE_OR
G_VECREDUCE_XOR
G_VECREDUCE_SMAX
G_VECREDUCE_SMIN
G_VECREDUCE_UMAX
G_VECREDUCE_UMIN

Differential Revision: https://reviews.llvm.org/D88750
The file was modifiedllvm/include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h
The file was modifiedllvm/include/llvm/Support/TargetOpcodes.def
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/legalizer-info-validation.mir
The file was addedllvm/test/MachineVerifier/test_vector_reductions.mir
The file was modifiedllvm/lib/CodeGen/MachineVerifier.cpp
The file was modifiedllvm/docs/GlobalISel/GenericOpcode.rst
The file was modifiedllvm/include/llvm/Target/GenericOpcodes.td
Commit a15bd0bfc20c2b2955c59450a67b6e8efe89c708 by david.green
[AIX] Add REQUIRES for powerpc test. NFC
The file was modifiedclang/test/CodeGen/aix-ignore-xcoff-visibility.cpp
Commit f775cb8994ccb367d68cdea5ce453d747e47d891 by tejohnson
[sanitizer] Fix Fuchsia bot failure

Fixes bot failure from 4d5b1de40eccc7ffcfb859cef407e5f30bee77f8:
https://luci-milo.appspot.com/p/fuchsia/builders/ci/clang-linux-x64/b8867057367989385504

Updates the version of RenderFrame used by Fuchsia and adds a version of
the new RenderNeedsSymbolization.
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_symbolizer_markup.cpp
Commit 295d4e420fd09c820e9ae2cc1a69276b1c21cfb7 by Dan Liew
[lit] Try to remove the flakeyness of `shtest-timeout.py` and `googletest-timeout.py`.

The tests previously relied on the `short.py` and `FirstTest.subTestA`
script being executed on a machine within a short time window (1 or 2
seconds). While this "seems to work" it can fail on resource constrained
machines. We could bump the timeout a little bit (bumping it too
much would mean the test would take a long time to execute) but it wouldn't
really solve the problem of the test being prone to failures.

This patch tries to remove this flakeyness by separating testing into
two separate parts:

1. Testing if a test can hit a timeout.
2. Testing if a test can run to completion in the presence of a
timeout.

This way we can give (1.) a really short timeout (to make the test run
as fast as possible) and (2.) a really long timeout. This means for (2.)
we are no longer trying to rely on the "short" test executing within
some short time window. Instead the window is now 3600 seconds which
should be long enough even for a heavily resource constrained machine to
execute the "short" test.

Thanks to Julian Lettner for suggesting this approach. This superseeds
my original approach in https://reviews.llvm.org/D88807.

This patch also changes the command line override test to run the quick
test rather than the slow one to make the test run faster.

Differential Revision: https://reviews.llvm.org/D89020
The file was modifiedllvm/utils/lit/tests/Inputs/googletest-timeout/DummySubDir/OneTest.py
The file was modifiedllvm/utils/lit/tests/googletest-timeout.py
The file was modifiedllvm/utils/lit/tests/shtest-timeout.py
Commit 3cc1f1fc1d97952136185f4eafb827694875de17 by jhuber6
[OpenMP] Replace OpenMP RTL Functions With OMPIRBuilder and OMPKinds.def

Summary:
Replace the OpenMP Runtime Library functions used in CGOpenMPRuntimeGPU
for OpenMP device code generation with ones in OMPKinds.def and use
OMPIRBuilder for generating runtime calls. This allows us to
consolidate more OpenMP code generation into the OMPIRBuilder. Future
additions to the GPU runtime functions should now go in OMPKinds.def

Reviewers: jdoerfert

Subscribers: aaron.ballman cfe-commits guansong llvm-commits sstefan1 yaxunl

Tags: #OpenMP #LLVM #clang

Differential Revision: https://reviews.llvm.org/D88430
The file was modifiedllvm/include/llvm/Frontend/OpenMP/OMPKinds.def
The file was modifiedclang/lib/CodeGen/CodeGenModule.h
The file was modifiedclang/test/OpenMP/nvptx_parallel_codegen.cpp
The file was modifiedllvm/test/Transforms/OpenMP/add_attributes.ll
The file was modifiedclang/lib/CodeGen/CGOpenMPRuntime.h
The file was modifiedclang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
Commit df9ae806bba497e9fd76ff0da74c1ab8ab08d75b by llvm-dev
[AVR] Fix null dereference warning. NFCI.

We were checking if the ConstantSDNode was null but then immediately dereferencing it afterward - fold these both into a single check. Use the APInt::ult() helper as well.

Found by clang static analyzer.
The file was modifiedllvm/lib/Target/AVR/AVRISelDAGToDAG.cpp
Commit 119a143699d03a27686ca4377afb0b60e0985031 by llvm-dev
[Analysis] ScalarEvolution::getUMinFromMismatchedTypes - assert we've found the max type. NFCI.

Found by clang static analyzer.
The file was modifiedllvm/lib/Analysis/ScalarEvolution.cpp
Commit 8f0658ae67da6a115daac5587cca42b2f47a2f6f by llvm-dev
[Transforms] CodeExtractor::verifyAssumptionCache - don't dereference a dyn_cast<>. NFCI.

Use cast<> as we immediately dereference the pointer afterwards - cast<> will assert if we fail.

Prevents clang static analyzer warning that we could deference a null pointer.
The file was modifiedllvm/lib/Transforms/Utils/CodeExtractor.cpp
Commit 2b0c5d76a604c8d8b468e1ab6c36f3f495c80127 by rahmanl
Introduce and use a new section type for the bb_addr_map section.

This patch lets the bb_addr_map (renamed to __llvm_bb_addr_map) section use a special section type (SHT_LLVM_BB_ADDR_MAP) instead of SHT_PROGBITS. This would help parsers, dumpers and other tools to use the sh_type ELF field to identify this section rather than relying on string comparison on the section name.

Reviewed By: jhenderson

Differential Revision: https://reviews.llvm.org/D88199
The file was modifiedllvm/lib/MC/MCParser/ELFAsmParser.cpp
The file was addedllvm/test/MC/AsmParser/llvm_section_types.s
The file was modifiedllvm/include/llvm/BinaryFormat/ELF.h
The file was modifiedllvm/lib/MC/MCSectionELF.cpp
The file was modifiedllvm/lib/MC/MCObjectFileInfo.cpp
The file was modifiedllvm/docs/Extensions.rst
The file was modifiedllvm/lib/CodeGen/BasicBlockSections.cpp
The file was modifiedllvm/test/CodeGen/X86/basic-block-sections-labels-functions-sections.ll
The file was modifiedllvm/lib/Object/ELF.cpp
The file was modifiedllvm/test/CodeGen/X86/basic-block-sections-labels.ll
The file was modifiedllvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
Commit 504bc07d1afc7bad7b980a977141696ec8298e7e by Louis Dionne
[runtimes] Use int main(int, char**) consistently in tests

This is needed when running the tests in Freestanding mode, where main()
isn't treated specially. In Freestanding, main() doesn't get mangled as
extern "C", so whatever runtime we're using fails to find the entry point.

One way to solve this problem is to define a symbol alias from __Z4mainiPPc
to _main, however this requires all definitions of main() to have the same
mangling. Hence this commit.
The file was modifiedlibcxx/test/libcxx/selftest/run.fail.cpp/compile-error.run.fail.cpp
The file was modifiedlibcxx/test/std/utilities/function.objects/refwrap/refwrap.helpers/ref.incomplete.pass.cpp
The file was modifiedlibcxx/test/libcxx/selftest/compile.fail.cpp/compile-error.compile.fail.cpp
The file was modifiedlibcxx/test/libcxx/selftest/run.fail.cpp/link-error.run.fail.cpp
The file was modifiedlibcxxabi/test/thread_local_destruction_order.pass.cpp
The file was modifiedlibcxx/test/libcxx/selftest/link.pass.cpp/compile-error.link.pass.cpp
The file was modifiedlibcxxabi/test/catch_pointer_reference.pass.cpp
The file was modifiedlibcxxabi/test/catch_reference_nullptr.pass.cpp
The file was modifiedlibcxxabi/test/unwind_01.pass.cpp
The file was modifiedlibcxx/test/std/numerics/numbers/illformed.verify.cpp
The file was modifiedlibcxxabi/test/test_vector3.pass.cpp
The file was modifiedlibunwind/test/frameheadercache_test.pass.cpp
The file was modifiedlibcxx/test/std/numerics/bit/bit.pow.two/log2p1.pass.cpp
The file was modifiedlibcxxabi/test/catch_const_pointer_nullptr.pass.cpp
The file was modifiedlibcxx/test/std/containers/sequences/vector/vector.modifiers/resize_not_move_insertable.fail.cpp
The file was modifiedlibcxx/test/std/utilities/function.objects/refwrap/refwrap.invoke/invoke.incomplete.compile.fail.cpp
The file was modifiedlibcxx/test/libcxx/selftest/compile.pass.cpp/compile-success.compile.pass.cpp
The file was modifiedlibcxx/test/std/numerics/bit/bitops.count/popcount.pass.cpp
The file was modifiedlibcxxabi/test/catch_multi_level_pointer.pass.cpp
The file was removedlibunwind/test/alignment.pass.cpp
The file was modifiedlibcxxabi/test/unwind_05.pass.cpp
The file was modifiedlibcxx/test/std/language.support/support.dynamic/destroying_delete_t_declaration.pass.cpp
The file was modifiedlibcxxabi/test/catch_member_function_pointer_02.pass.cpp
The file was modifiedlibunwind/test/signal_unwind.pass.cpp
The file was modifiedlibcxx/test/libcxx/selftest/link.pass.cpp/link-success.link.pass.cpp
The file was modifiedlibcxx/test/libcxx/numerics/clamp_to_integral.pass.cpp
The file was modifiedlibcxx/test/libcxx/selftest/pass.mm/link-error.pass.mm
The file was modifiedlibcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.guard/adopt_lock.pass.cpp
The file was modifiedlibcxx/test/libcxx/selftest/link.fail.cpp/link-success.link.fail.cpp
The file was modifiedlibcxxabi/test/catch_member_data_pointer_01.pass.cpp
The file was addedlibcxx/test/std/strings/string.view/string.view.io/stream_insert_decl_present.compile.pass.cpp
The file was modifiedlibcxxabi/test/catch_class_03.pass.cpp
The file was modifiedlibcxx/test/libcxx/selftest/fail.cpp/compile-success.fail.cpp
The file was modifiedlibcxxabi/test/catch_function_02.pass.cpp
The file was modifiedlibcxx/test/libcxx/no_assert_include.compile.pass.cpp
The file was modifiedlibcxxabi/test/catch_pointer_nullptr.pass.cpp
The file was modifiedlibcxxabi/test/incomplete_type.sh.cpp
The file was modifiedlibunwind/test/unwind_leaffunction.pass.cpp
The file was modifiedlibcxxabi/test/test_exception_address_alignment.pass.cpp
The file was modifiedlibcxx/test/libcxx/depr/depr.c.headers/stdint_h.xopen_source.compile.pass.cpp
The file was modifiedlibcxx/test/libcxx/selftest/run.fail.cpp/run-error.run.fail.cpp
The file was modifiedlibcxx/test/std/numerics/bit/bit.pow.two/ceil2.pass.cpp
The file was modifiedlibcxx/test/std/numerics/bit/bitops.count/countr_zero.pass.cpp
The file was modifiedlibunwind/test/signal_frame.pass.cpp
The file was modifiedlibcxx/test/std/namespace/addressable_functions.sh.cpp
The file was modifiedlibcxx/test/libcxx/selftest/pass.cpp/compile-error.pass.cpp
The file was modifiedlibcxx/test/libcxx/selftest/fail.cpp/no-diagnostics-unmarked.fail.cpp
The file was modifiedlibcxx/test/libcxx/language.support/support.rtti/type.info/type_info.comparison.merged.sh.cpp
The file was modifiedlibcxx/test/libcxx/selftest/verify.cpp/no-diagnostics-unmarked.verify.cpp
The file was modifiedlibcxx/test/libcxx/selftest/pass.mm/run-error.pass.mm
The file was modifiedlibcxx/test/libcxx/utilities/meta/stress_tests/stress_test_variant_overloads_impl.sh.cpp
The file was modifiedlibcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/deduct_F.pass.cpp
The file was modifiedlibcxxabi/test/dynamic_cast.pass.cpp
The file was modifiedlibcxxabi/test/dynamic_cast_stress.pass.cpp
The file was modifiedlibunwind/test/libunwind_02.pass.cpp
The file was modifiedlibcxx/test/libcxx/selftest/link.pass.cpp/run-error.link.pass.cpp
The file was modifiedlibcxx/test/std/numerics/numbers/value.pass.cpp
The file was modifiedlibcxxabi/test/exception_object_alignment.pass.cpp
The file was modifiedlibcxx/test/libcxx/selftest/fail.cpp/wrong-diagnostic.fail.cpp
The file was modifiedlibcxx/test/std/utilities/function.objects/refwrap/refwrap.helpers/cref.incomplete.pass.cpp
The file was modifiedlibcxxabi/test/catch_function_01.pass.cpp
The file was modifiedlibcxxabi/test/unwind_04.pass.cpp
The file was modifiedlibcxx/test/libcxx/selftest/link.fail.cpp/link-error.link.fail.cpp
The file was modifiedlibcxxabi/test/catch_array_01.pass.cpp
The file was modifiedlibcxx/test/std/numerics/bit/bitops.rot/rotr.pass.cpp
The file was modifiedlibcxx/test/std/numerics/numbers/user_type.pass.cpp
The file was modifiedlibcxxabi/test/dynamic_cast14.pass.cpp
The file was modifiedlibcxxabi/test/catch_member_pointer_nullptr.pass.cpp
The file was modifiedlibcxx/test/libcxx/strings/basic.string/PR42676.sh.cpp
The file was modifiedlibcxxabi/test/unwind_03.pass.cpp
The file was modifiedlibcxx/test/libcxx/selftest/compile.fail.cpp/compile-success.compile.fail.cpp
The file was modifiedlibcxx/test/std/numerics/bit/bitops.count/countr_one.pass.cpp
The file was modifiedlibcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/deduct_ptr.pass.cpp
The file was modifiedlibcxx/test/libcxx/selftest/pass.mm/no-arc.pass.mm
The file was modifiedlibcxx/test/libcxx/selftest/pass.mm/use-objective-cxx.pass.mm
The file was modifiedlibcxxabi/test/dynamic_cast3.pass.cpp
The file was modifiedlibcxx/test/libcxx/language.support/support.rtti/type.info/type_info.comparison.unmerged.sh.cpp
The file was modifiedlibcxxabi/test/test_aux_runtime_op_array_new.pass.cpp
The file was modifiedlibcxxabi/test/cxa_thread_atexit_test.pass.cpp
The file was modifiedlibcxx/test/std/numerics/numbers/specialize.pass.cpp
The file was modifiedlibcxxabi/test/catch_class_01.pass.cpp
The file was modifiedlibcxxabi/test/catch_in_noexcept.pass.cpp
The file was modifiedlibcxxabi/test/dynamic_cast5.pass.cpp
The file was modifiedlibcxx/test/std/input.output/iostream.objects/init.pass.cpp
The file was modifiedlibcxxabi/test/guard_test_basic.pass.cpp
The file was modifiedlibcxxabi/test/guard_threaded_test.pass.cpp
The file was modifiedlibcxx/test/libcxx/selftest/pass.cpp/run-error.pass.cpp
The file was modifiedlibcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.guard/mutex.pass.cpp
The file was modifiedlibcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/deduct_F.fail.cpp
The file was modifiedlibcxx/test/libcxx/selftest/compile.pass.cpp/compile-error.compile.pass.cpp
The file was modifiedlibcxx/test/libcxx/min_max_macros.compile.pass.cpp
The file was removedlibcxx/test/std/strings/string.view/string.view.io/stream_insert_decl_present.pass.cpp
The file was modifiedlibcxxabi/test/inherited_exception.pass.cpp
The file was modifiedlibcxx/test/libcxx/selftest/verify.cpp/no-werror.verify.cpp
The file was modifiedlibcxx/test/libcxx/depr/depr.c.headers/math_h.compile.pass.cpp
The file was modifiedlibcxx/test/libcxx/selftest/compile.pass.cpp/run-error.compile.pass.cpp
The file was modifiedlibcxx/test/std/numerics/bit/bitops.count/countl_one.pass.cpp
The file was modifiedlibcxx/test/std/numerics/bit/bitops.rot/rotl.pass.cpp
The file was modifiedlibcxx/test/std/numerics/bit/bit.pow.two/floor2.pass.cpp
The file was modifiedlibcxxabi/test/unittest_demangle.pass.cpp
The file was modifiedlibcxx/test/libcxx/selftest/pass.cpp/link-error.pass.cpp
The file was modifiedlibcxx/test/libcxx/selftest/pass.cpp/run-success.pass.cpp
The file was modifiedlibcxx/test/libcxx/selftest/pass.mm/run-success.pass.mm
The file was modifiedlibcxx/test/libcxx/depr/depr.c.headers/stdint_h.std_types_t.compile.pass.cpp
The file was modifiedlibcxxabi/test/catch_array_02.pass.cpp
The file was modifiedlibcxxabi/test/unwind_06.pass.cpp
The file was modifiedlibcxx/test/libcxx/selftest/run.fail.cpp/run-success.run.fail.cpp
The file was modifiedlibunwind/test/libunwind_01.pass.cpp
The file was modifiedlibcxxabi/test/exception_object_alignment.2.pass.cpp
The file was modifiedlibcxxabi/test/catch_ptr.pass.cpp
The file was modifiedlibcxxabi/test/catch_class_02.pass.cpp
The file was modifiedlibcxxabi/test/catch_member_function_pointer_01.pass.cpp
The file was modifiedlibcxx/test/std/utilities/function.objects/refwrap/refwrap.const/ctor.incomplete.pass.cpp
The file was modifiedlibcxx/test/std/re/re.const/re.matchflag/match_prev_avail.pass.cpp
The file was modifiedlibcxxabi/test/unwind_02.pass.cpp
The file was addedlibunwind/test/alignment.compile.pass.cpp
The file was modifiedlibcxx/test/libcxx/selftest/sh.cpp/werror.sh.cpp
The file was modifiedlibcxx/test/std/language.support/support.dynamic/destroying_delete_t.pass.cpp
The file was modifiedlibcxxabi/test/catch_function_03.pass.cpp
The file was modifiedlibcxxabi/test/backtrace_test.pass.cpp
The file was modifiedlibcxxabi/test/test_demangle.pass.cpp
The file was modifiedlibcxxabi/test/test_guard.pass.cpp
The file was modifiedlibcxx/test/libcxx/selftest/compile.pass.cpp/link-error.compile.pass.cpp
The file was modifiedlibcxx/test/libcxx/utilities/function.objects/func.wrap/depr_in_cxx03.verify.cpp
The file was modifiedlibcxx/test/std/numerics/bit/bitops.count/countl_zero.pass.cpp
The file was modifiedlibcxxabi/test/catch_ptr_02.pass.cpp
The file was modifiedlibcxx/test/libcxx/selftest/fail.cpp/right-diagnostic.fail.cpp
The file was modifiedlibcxx/test/libcxx/utilities/function.objects/abi_bug_cxx03_cxx11_example.sh.cpp
The file was modifiedlibcxx/test/libcxx/selftest/pass.mm/compile-error.pass.mm
The file was modifiedlibcxx/test/libcxx/selftest/link.pass.cpp/link-error.link.pass.cpp
The file was modifiedlibcxx/test/std/numerics/numbers/defined.pass.cpp
The file was modifiedlibcxx/test/std/numerics/bit/bit.pow.two/ceil2.fail.cpp
The file was modifiedlibcxx/test/libcxx/selftest/pass.cpp/werror.pass.cpp
The file was modifiedlibcxx/test/std/numerics/bit/bit.pow.two/ispow2.pass.cpp
The file was modifiedlibcxx/test/libcxx/selftest/link.fail.cpp/compile-error.link.fail.cpp
The file was modifiedlibcxxabi/test/catch_class_04.pass.cpp
The file was modifiedlibunwind/test/unw_getcontext.pass.cpp
Commit f1f31eb2daab3bfc1e6e290f33eb7aea472f0ce5 by qcolombet
[unittests] Add a few tests for computeKnownBits with ranges

These tests make sure that the range information is properly
understood during computeKnownBits analysis.

NFC

Differential Revision: https://reviews.llvm.org/D88934
The file was modifiedllvm/unittests/Analysis/ValueTrackingTest.cpp
Commit 9431f8ad2e033b3c7629ff74fe41d7c42a9554f8 by qcolombet
[KnownBits] Add a computeForMul method

This patch refactors the logic in ValueTracking.cpp so that
computeKnownBitsForMul now uses a helper function from KnownBits.

NFC

Differential Revision: https://reviews.llvm.org/D88935
The file was modifiedllvm/lib/Analysis/ValueTracking.cpp
The file was modifiedllvm/lib/Support/KnownBits.cpp
The file was modifiedllvm/include/llvm/Support/KnownBits.h
The file was modifiedllvm/unittests/Support/KnownBitsTest.cpp
Commit d421e0484afd9a951ddf8c986febaf9c3743dc0c by qcolombet
[KnownBits] Add a sextOrTrunc method

We already offer zextOrTrunc and it seems natural to offer the
same capability for sign extension.

This patch is a preparatory addition useful for future computeKnownBits
developments.

Differential Revision: https://reviews.llvm.org/D88937
The file was modifiedllvm/include/llvm/Support/KnownBits.h
The file was modifiedllvm/unittests/Support/KnownBitsTest.cpp
Commit 750b3ddd80f15334409ae6890de035634e14aa72 by aheejin
[WebAssembly] Handle indirect uses of longjmp

In LowerEmscriptenEHSjLj, `longjmp` used to be replaced with
`emscripten_longjmp_jmpbuf(jmp_buf*, i32)`, which will eventually be
lowered to `emscripten_longjmp(i32, i32)`. The reason we used two
different names was because they had different signatures in the IR
pass.

D88697 fixed this by only using `emscripten_longjmp(i32, i32)` and
adding a `ptrtoint` cast to its first argument, so
```
longjmp(buf, 0)
```
becomes
```
emscripten_longjmp((i32)buf, 0)
```

But this assumed all uses of `longjmp` was a direct call to it, which
was not the case. This patch handles indirect uses of `longjmp` by
replacing
```
longjmp
```
with
```
(i32(*)(jmp_buf*, i32))emscripten_longjmp
```

Reviewed By: tlively

Differential Revision: https://reviews.llvm.org/D89032
The file was modifiedllvm/test/CodeGen/WebAssembly/lower-em-sjlj.ll
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyLowerEmscriptenEHSjLj.cpp
Commit 0716805c02a7ddc8fb2323444f022d3aa47055d3 by llvm-dev
[SLP] optimizeGatherSequence - assert every Instruction in the worklist is non-null.

Fixes clang static analyzer warning.
The file was modifiedllvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Commit 85681131019db5d6831fb3980aec683d517e1674 by llvm-dev
Fix Wparentheses warning. NFCI.

Wrap the containErrors() calls together - assert we have any containErrors cases in the conditional operator.
The file was modifiedclang/lib/Sema/SemaExpr.cpp
Commit a52159a1c34716f7cea4788c68c2f6f0550eb633 by spatel
[InstCombine] add tests for add-xor; NFC
The file was modifiedllvm/test/Transforms/InstCombine/sub-xor.ll
Commit 5ac89add1e380b7e32cb50ebaf2c38ef660b3114 by spatel
[InstCombine] remove unnecessary one-use check from add-xor transform

Pre-conditions seem to be optimal, but we don't need a use check
because we are only replacing an add with a sub.

https://rise4fun.com/Alive/hzN

  Pre: (~C1 | C2 == -1) && isPowerOf2(C2+1)
  %m = and i8 %x, C1
  %f = xor i8 %m, C2
  %r = add i8 %f, C3
  =>
  %r = sub i8 C2 + C3, %m
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
The file was modifiedllvm/test/Transforms/InstCombine/sub-xor.ll
Commit 6aa10ae5bfd885a71d68d54363d338f35e8aad58 by llvm-dev
[Transforms] visitCmpBlock - don't dereference a dyn_cast<>. NFCI.

Use cast<> as we immediately dereference the pointer afterwards - cast<> will assert if we fail.

Prevents clang static analyzer warning that we could deference a null pointer.
The file was modifiedllvm/lib/Transforms/Scalar/MergeICmps.cpp
Commit 69efcd03bdb9ee7328dd4e75513ae214c1e23519 by joker.eph
Fix typo `DenseElementAttr`-> `DenseElementsAttr` in some comments (NFC)
The file was modifiedmlir/lib/IR/Attributes.cpp
The file was modifiedmlir/include/mlir/IR/Attributes.h
Commit f688ae7a0e91ccd6d4ba39103b68eef22534e51e by spatel
[InstCombine] allow vector splats for add+xor with low-mask

This can be allowed with undef elements too, but that can be another step:
https://alive2.llvm.org/ce/z/hnC4Z-
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
The file was modifiedllvm/test/Transforms/InstCombine/sub-xor.ll
Commit e1b5fcb9424a39ec663675604dca77aa98b347c1 by llvm-dev
[InstCombine] Add additional trunc(shl(x,c)) -> shl(trunc(x),trunc(c)) vector tests
The file was modifiedllvm/test/Transforms/InstCombine/trunc.ll
Commit f60686f35cc89504f3411f49cf16a651a74be6eb by paulatoth
[libc] Update buildbot worker version to 2.8.4.

Tested locally by connecting to LLVM master. (:
http://lab.llvm.org:8011/#/builders/78/builds/1

Reviewed By: sivachandra

Differential Revision: https://reviews.llvm.org/D89069
The file was modifiedlibc/utils/buildbot/Dockerfile
The file was modifiedlibc/utils/buildbot/run.sh
Commit fd8275e04a974c5125baf7ed44bc118672fc79ab by qcolombet
[GlobalISel] Add missing pass dependencies for IRTranslator

The IRTranslator depends on the branch probability info pass when the
optimization level is different than None and it depends all the time on
the StackProtector pass.

We have to explicitly call out pass dependencies otherwise the pass manager
may not be able to schedule the IRTranslator.

Before this patch, we were lucky because previous passes depend on the branch
probability info pass (like the Global Variable Optimization) and the stack
protector pass is initialized in initializeCodeGen.
However, if the target has a custom pipeline without any passes like Global
Variable Optimization, the pipeline creation will fail, at least because of
the branch probability info pass dependency (it is unlikely that
initializeCodeGen is not called).

This patch adds the missing dependencies to the IRTranslator.

Differential Revision: https://reviews.llvm.org/D89063
The file was modifiedllvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
Commit d9f064dc0bd4ea4a29a20068835b37e973be907f by llvm-dev
[InstCombine] visitTrunc - trunc(shl(X, C)) --> shl(trunc(X),trunc(C)) vector support

Annoyingly vectors aren't supported by shouldChangeType(), but we have precedents for always performing this on vector types (e.g. narrowBinOp).

Differential Revision: https://reviews.llvm.org/D89067
The file was modifiedllvm/test/Transforms/InstCombine/trunc.ll
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
The file was modifiedllvm/test/Transforms/InstCombine/shift-amount-reassociation-in-bittest-with-truncation-shl.ll
The file was modifiedllvm/test/Transforms/InstCombine/shift-amount-reassociation-with-truncation-shl.ll
Commit 97e7fbb343e2a4ea913686254105b9965c5468f8 by alexandre.ganea
[LLDB] More Windows non-English locales fixes

This is a follow-up for https://reviews.llvm.org/D88975
The file was modifiedlldb/packages/Python/lldbsuite/test/lldbtest.py
Commit afff74e5c26fd8b57968ae111a2a4fc8fc8deda8 by aeubanks
[HWAsan][NewPM] Handle hwasan like other sanitizers

Move it as an EP callback (-O[123]) or in addSanitizersAtO0.

This makes it not run in ThinLTO pre-link (like the other sanitizers),
so don't check LTO runs in hwasan-new-pm.c. Changing its position also
seems to change the generated IR. I think we just need to make sure the
pass runs.

Reviewed By: leonardchan

Differential Revision: https://reviews.llvm.org/D88936
The file was modifiedclang/test/CodeGen/hwasan-new-pm.c
The file was modifiedclang/lib/CodeGen/BackendUtil.cpp
Commit cf402a1987591923492fe697b2e84b1affbae6dd by thomasraoux
[mlir][vector] Add unit test for vector distribute by block

When distributing a vector larger than the given multiplicity, we can
distribute it by block where each id gets a chunk of consecutive element
along the dimension distributed. This adds a test for this case and adds extra
checks to make sure we don't distribute for cases not multiple of multiplicity.

Differential Revision: https://reviews.llvm.org/D89061
The file was modifiedmlir/lib/Dialect/Vector/VectorTransforms.cpp
The file was modifiedmlir/test/lib/Transforms/TestVectorTransforms.cpp
The file was modifiedmlir/test/Dialect/Vector/vector-distribution.mlir
Commit 19119dda1662551200256b3e32d1bac384c76104 by thomasraoux
[mlir][vector] Add integration test for vector distribute transformation

Differential Revision: https://reviews.llvm.org/D89062
The file was addedmlir/integration_test/Dialect/Vector/CPU/test-vector-distribute.mlir
Commit 4cfc4025cc1433ca5ef1c526053fc9c4bfe64109 by mtrofin
[NFC][MC] MCRegister API typing.

Mostly LiveIntervals, with their effects (users).

Differential Revision: https://reviews.llvm.org/D89018
The file was modifiedllvm/lib/CodeGen/RegisterCoalescer.h
The file was modifiedllvm/lib/CodeGen/LiveIntervals.cpp
The file was modifiedllvm/lib/CodeGen/RegAllocGreedy.cpp
The file was modifiedllvm/lib/CodeGen/RegisterCoalescer.cpp
The file was modifiedllvm/lib/CodeGen/VirtRegMap.cpp
The file was modifiedllvm/include/llvm/CodeGen/VirtRegMap.h
The file was modifiedllvm/lib/Target/SystemZ/SystemZRegisterInfo.cpp
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyRegStackify.cpp
The file was modifiedllvm/lib/CodeGen/LiveRangeEdit.cpp
The file was modifiedllvm/lib/Target/SystemZ/SystemZInstrInfo.cpp
The file was modifiedllvm/include/llvm/CodeGen/LiveIntervals.h
The file was modifiedllvm/lib/CodeGen/InlineSpiller.cpp
Commit a68ffb19d392c6d52f6e42925217a77b4cd71cee by jingham
Change the default handling of SIGCONT to nosuppress/nostop/notify

Except for the few people actually debugging shells, stopping on a
SIGCONT doesn't add any value.  And for people trying to run tests
under the debugger, stopping here is actively inconvenient.  So this
patch switches the default behavior to not stop.

Differential Revision: https://reviews.llvm.org/D89019
The file was modifiedlldb/source/Plugins/Process/Utility/LinuxSignals.cpp
The file was modifiedlldb/source/Plugins/Process/Utility/MipsLinuxSignals.cpp
The file was modifiedlldb/source/Target/UnixSignals.cpp
Commit e36a41b3cf646dde7ca377be08c4cffee6a2e240 by i
[X86] Fix some clang-tidy bugprone-argument-comment issues
The file was modifiedllvm/lib/Target/X86/X86FastISel.cpp
The file was modifiedllvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
Commit caedf7937c59aac89f41d131a2df96d627433411 by Yuanfang Chen
[NFC] Fix a comment in MachinePassManager.h

Fix "warning: '\returns' command used in a comment that is not attached
to a function or method declaration [-Wdocumentation]
1 warning generated."
The file was modifiedllvm/include/llvm/CodeGen/MachinePassManager.h
Commit d1751d14a6b2787974a4d203be2b554de9fa613c by richard
PR47175: Ensure type-dependent function-style casts have dependent
types.

Previously, a type-dependent cast to a deduced class template
specialization type would end up with a non-dependent class template
specialization type, leading to confusion downstream.
The file was modifiedclang/lib/AST/ExprCXX.cpp
The file was modifiedclang/include/clang/AST/ExprCXX.h
The file was modifiedclang/lib/AST/ComputeDependence.cpp
The file was modifiedclang/lib/AST/ASTImporter.cpp
The file was modifiedclang/test/SemaCXX/cxx1z-class-template-argument-deduction.cpp
The file was modifiedclang/lib/Sema/SemaExprCXX.cpp
Commit a4f35ab232816b4d5b5249746220756358cda945 by Austin.Kerbow
[AMDGPU] Fix mai hazard VALU to LD/ST

Fixes: SWDEV-251863

Differential Revision: https://reviews.llvm.org/D89079
The file was modifiedllvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/mai-hazards.mir
Commit 1c19900f9417bd0b832c1cb70863b2439a18647f by lkail
[PowerPC] Add RUN line for powerpc 32-bit. NFC.
The file was modifiedllvm/test/CodeGen/PowerPC/select.ll
Commit 66face6aa0f5f68de56067b0dff3295e47fdf66c by alexandre.ganea
Re-land [DebugInfo] Add debug location to stubs generated by CGDeclCXX and mark them as artificial

Previously, when clang was compiled with -DLLVM_ENABLE_ASSERTIONS=ON, the added tests were displaying:

inlinable function call in a function with debug info must have a !dbg location
  call void @"??1?$c@UB@@@@QEAA@XZ"(%struct.c* @"?f@?1??d@@YAPEAU?$c@UB@@@@XZ@4U2@A")
fatal error: error in backend: Broken module found, compilation aborted!
Stack dump:
0.      Program arguments: <f:\svn\buildninja\bin\clang -cc1 -emit-llvm debug-info-no-location.cpp> -gcodeview -debug-info-kind=limited
1.      <eof> parser at end of file
2.      Per-function optimization

Fixes PR43012

Differential Revision: https://reviews.llvm.org/D66328
The file was addedclang/test/CodeGenCXX/debug-info-destroy-helper.cpp
The file was modifiedclang/include/clang/AST/GlobalDecl.h
The file was modifiedclang/lib/CodeGen/CGDebugInfo.cpp
The file was modifiedclang/lib/CodeGen/CGDeclCXX.cpp
The file was modifiedclang/test/CodeGenCXX/aix-static-init-debug-info.cpp
The file was modifiedclang/test/CodeGenCXX/debug-info-global-ctor-dtor.cpp
The file was modifiedclang/test/CodeGenCXX/debug-info-line.cpp
The file was addedclang/test/CodeGenCXX/debug-info-atexit-stub.cpp
Commit 5390c5a96e9774f0f7d748b5a466c308f916ecd0 by Louis Dionne
[libc++] Add caching for feature-detection Lit tests

This significantly speeds up the configuration of libc++'s test suite
by making sure that we don't perform the same operations over and over
again.

Differential Revision: https://reviews.llvm.org/D89003
The file was modifiedlibcxx/utils/libcxx/test/dsl.py
Commit 137da82b868266b0ef855ccfeb3795dbf2e2b50f by stellaraccident
[mlir][CAPI] Remove the exclusion of the MLIR C-API from libMLIR.so.

* I believe this was done early on due to it being experimental/etc.
* Needed for dynamic linking in npcomp.

Differential Revision: https://reviews.llvm.org/D89081
The file was modifiedmlir/lib/CAPI/Registration/CMakeLists.txt
The file was modifiedmlir/lib/CAPI/IR/CMakeLists.txt
Commit 8b6674e64f67f0d441045177f0033ef78e844fc4 by qshanz
[NFC][Test] Update the test with update_llc_test_checks.py
The file was modifiedllvm/test/CodeGen/PowerPC/toc-float.ll
The file was modifiedllvm/test/CodeGen/PowerPC/scalar_vector_test_4.ll
The file was modifiedllvm/test/CodeGen/PowerPC/branch_coalesce.ll
The file was modifiedllvm/test/CodeGen/PowerPC/vec-itofp.ll
The file was modifiedllvm/test/CodeGen/PowerPC/vec-trunc2.ll
The file was modifiedllvm/test/CodeGen/PowerPC/ppcf128-endian.ll
The file was modifiedllvm/test/CodeGen/PowerPC/f128-passByValue.ll
The file was modifiedllvm/test/CodeGen/PowerPC/f128-aggregates.ll
Commit ed956b46b0789d19be166eb1c6b39032cc6e4a3c by esme.yi
[NFC][PowerPC] Supplement test cases for D88274.
The file was addedllvm/test/CodeGen/PowerPC/reg_copy.mir
Commit 8a5858c8fd50e6f5767a21854951c3ccba17e8c4 by lkail
[TwoAddressInstruction][PowerPC] Call `regOverlapsSet` to find out real clobbers and uses

In `rescheduleKillAboveMI`, current implementation uses `SmallSet` to track reg's defs and uses. When comparing, use `SmallSet.count` to find out if it's clobbered or used. It's not correct if involving subregisters. This patch uses `regOverlapsSet` already used by `rescheduleMIBelowKill` to fix the issue.

Fixed https://bugs.llvm.org/show_bug.cgi?id=47707.

Reviewed By: #powerpc, nemanjai

Differential Revision: https://reviews.llvm.org/D88716
The file was addedllvm/test/CodeGen/PowerPC/pr47707.ll
The file was modifiedllvm/lib/CodeGen/TwoAddressInstructionPass.cpp
Commit fbb499ef255b77c5a3300543de88956b13e706b7 by kyrtzidis
[AST] Fix crashes caused by redeclarations in hidden prototypes

ObjCContainerDecl.getMethod returns a nullptr by default when the
container is a hidden prototype. Callsites where the method is being
looked up on the redeclaration's own container should skip this check
since they (rightly) expect a valid method to be found.

Resolves rdar://69444243

Reviewed By: akyrtzi

Differential Revision: https://reviews.llvm.org/D89024
The file was modifiedclang/test/Index/Inputs/module.map
The file was addedclang/test/Index/Inputs/hidden-redecls-sub.h
The file was addedclang/test/Index/Inputs/hidden-redecls.h
The file was modifiedclang/lib/AST/DeclObjC.cpp
The file was addedclang/test/Index/hidden-redecls.m
Commit 1d1c1f8ff2c7f98e03b0e93740f969b0c1fed925 by marukawa
[VE] Add new MVT types for NEC SX Aurora VE vector

This patch adds entries for:
    v64i64
    v128i64
    v256i64
    v64f64
    v128f64
    v256f64

Reviewed By: simoll

Differential Revision: https://reviews.llvm.org/D88776
The file was modifiedllvm/utils/TableGen/CodeGenTarget.cpp
The file was modifiedllvm/include/llvm/Support/MachineValueType.h
The file was modifiedllvm/include/llvm/CodeGen/ValueTypes.td
The file was modifiedllvm/lib/CodeGen/ValueTypes.cpp
Commit dd554994729b6f97c0f3df3365b8b97a08d0a418 by Xing
[DWARFYAML] Make the opcode_base and the standard_opcode_lengths fields optional.

This patch makes the opcode_base and the standard_opcode_lengths fields
of the line table optional. When both of them are not specified,
yaml2obj emits them according to the line table's version.

Reviewed By: jhenderson

Differential Revision: https://reviews.llvm.org/D88355
The file was modifiedllvm/lib/ObjectYAML/DWARFYAML.cpp
The file was modifiedllvm/tools/obj2yaml/dwarf2yaml.cpp
The file was modifiedllvm/include/llvm/ObjectYAML/DWARFYAML.h
The file was modifiedllvm/lib/ObjectYAML/DWARFEmitter.cpp
The file was modifiedllvm/test/tools/yaml2obj/ELF/DWARF/debug-line.yaml
Commit c1489ee5a7735fc16702a3b0c66cbcc156b04f29 by Xing
[llvm-dwarfdump][test] Rewrite verify_die_ranges.s in YAML. NFC.

This patch rewrites test case verify_die_ranges.s in YAML which helps
simplify the test.

Reviewed By: jhenderson, JDevlieghere, dblaikie

Differential Revision: https://reviews.llvm.org/D88200
The file was addedllvm/test/tools/llvm-dwarfdump/X86/verify_die_ranges.yaml
The file was removedllvm/test/tools/llvm-dwarfdump/X86/verify_die_ranges.s
Commit 26cfb6e562f12f8c0d8952120d9df81151dc9c19 by chen3.liu
[X86] Passing union type through register

For example:

  union M256 {
    double d;
    __m256 m;
  };
  extern void foo1(union M256 A);
  union M256 m1;
  void test() {
    foo1(m1);
  }

clang will pass m1 through stack which does not follow the ABI.

Differential Revision: https://reviews.llvm.org/D78699
The file was addedclang/test/CodeGen/X86/avx-union.c
The file was modifiedclang/lib/CodeGen/TargetInfo.cpp
Commit 1ceaffd95a6bdc4b7d2193e049bcd6b40ee9ff50 by joker.eph
[MLIR] Add a foldTrait() mechanism to allow traits to define folding and test it with an Involution trait

This change allows folds to be done on a newly introduced involution trait rather than having to manually rewrite this optimization for every instance of an involution

Reviewed By: rriddle, andyly, stephenneuendorffer

Differential Revision: https://reviews.llvm.org/D88809
The file was modifiedmlir/docs/Traits.md
The file was modifiedmlir/test/lib/Dialect/Test/TestOps.td
The file was modifiedmlir/test/lib/Dialect/Test/CMakeLists.txt
The file was modifiedmlir/lib/IR/Operation.cpp
The file was modifiedmlir/include/mlir/IR/OpBase.td
The file was modifiedmlir/include/mlir/IR/OpDefinition.h
The file was addedmlir/test/lib/Dialect/Test/TestTraits.cpp
The file was addedmlir/test/mlir-tblgen/trait.mlir
The file was modifiedmlir/tools/mlir-opt/mlir-opt.cpp
Commit c3de9a9e69f63c4ff5f4891b5055be1b7318a930 by i
Fix incorect Register -> MCRegister conversion

getReg returns a Register which may represent a virtual register.
The file was modifiedllvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
Commit 9d7b08bd0657688c186b5b3d39512c484e8c37f5 by Jonas Devlieghere
[lldb] Format remaining signal table (NFC)

Restore the signal tables to its original glory and mark it as not to be
clang-formatted.
The file was modifiedlldb/source/Plugins/Process/Utility/MipsLinuxSignals.cpp
The file was modifiedlldb/source/Plugins/Process/Utility/LinuxSignals.cpp
The file was modifiedlldb/source/Target/UnixSignals.cpp
Commit 2c4c2dc2d95aa7239cd59f8fa251fd336aeac87d by i
[MCRegister] Simplify isStackSlot & isPhysicalRegister and delete isPhysical. NFC
The file was modifiedllvm/lib/CodeGen/MachineOperand.cpp
The file was modifiedllvm/include/llvm/MC/MCRegister.h
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
The file was modifiedllvm/lib/CodeGen/MachineBasicBlock.cpp
Commit d94f70fb98b8077537ad3ca90673ee94204db1e9 by sguelton
[mlir] Improve LLVM shlib support

mlir-tblgen was incompatible with libLLVM, due to explicit linkage with
libLLVMSupport etc.
As it cannot link with libLLVM, make sure all lib it uses are not using libLLVM
either.

As a side effect, also remove some explicit references to LLVM libs and use
components instead.

Differential Revision: https://reviews.llvm.org/D88846
The file was modifiedmlir/lib/Support/CMakeLists.txt
The file was modifiedmlir/tools/mlir-tblgen/CMakeLists.txt
The file was modifiedmlir/tools/mlir-vulkan-runner/CMakeLists.txt
The file was modifiedmlir/tools/mlir-cuda-runner/CMakeLists.txt
The file was modifiedmlir/tools/mlir-rocm-runner/CMakeLists.txt
Commit 0a34492f36d77f043d371cc91f359b2d65e86475 by joker.eph
Give attributes C++ namespaces.

Reviewed By: mehdi_amini, jpienaar

Differential Revision: https://reviews.llvm.org/D89014
The file was modifiedmlir/lib/TableGen/Pattern.cpp
The file was modifiedmlir/tools/mlir-tblgen/OpDefinitionsGen.cpp
The file was modifiedmlir/include/mlir/IR/OpBase.td
The file was modifiedmlir/tools/mlir-tblgen/RewriterGen.cpp
Commit 5367a8b67fa18bc26635c69bd138596436b3fc28 by joker.eph
Revert "[MLIR] Add a foldTrait() mechanism to allow traits to define folding and test it with an Involution trait"

This reverts commit 1ceaffd95a6bdc4b7d2193e049bcd6b40ee9ff50.

The build is broken with  -DBUILD_SHARED_LIBS=ON ; seems like a possible
layering issue to investigate:

tools/mlir/lib/IR/CMakeFiles/obj.MLIRIR.dir/Operation.cpp.o: In function `mlir::MemoryEffectOpInterface::hasNoEffect(mlir::Operation*)':
Operation.cpp:(.text._ZN4mlir23MemoryEffectOpInterface11hasNoEffectEPNS_9OperationE[_ZN4mlir23MemoryEffectOpInterface11hasNoEffectEPNS_9OperationE]+0x9c): undefined reference to `mlir::MemoryEffectOpInterface::getEffects(llvm::SmallVectorImpl<mlir::SideEffects::EffectInstance<mlir::MemoryEffects::Effect> >&)'
The file was modifiedmlir/test/lib/Dialect/Test/TestOps.td
The file was modifiedmlir/test/lib/Dialect/Test/CMakeLists.txt
The file was removedmlir/test/mlir-tblgen/trait.mlir
The file was modifiedmlir/tools/mlir-opt/mlir-opt.cpp
The file was removedmlir/test/lib/Dialect/Test/TestTraits.cpp
The file was modifiedmlir/include/mlir/IR/OpBase.td
The file was modifiedmlir/include/mlir/IR/OpDefinition.h
The file was modifiedmlir/docs/Traits.md
The file was modifiedmlir/lib/IR/Operation.cpp
Commit 16580d791f3bf4fba8164054a04e4f85a1bd299b by joker.eph
Remove -gen-pass-doc from Flang CMake configuration: the documentation generation is broken

`ninja mlir-doc` fails when Flang is configured with this.
The file was modifiedflang/include/flang/Optimizer/Transforms/CMakeLists.txt
The file was modifiedflang/include/flang/Optimizer/CodeGen/CMakeLists.txt
Commit efd8c9ed726df5376ca8ac3ddc75ab91a40dd873 by hokein.wu
[clangd] Add more incomplete_type diagnostics that could be fixed by include-fixer.

Differential Revision: https://reviews.llvm.org/D89036
The file was modifiedclang-tools-extra/clangd/unittests/DiagnosticsTests.cpp
The file was modifiedclang-tools-extra/clangd/IncludeFixer.cpp
Commit 2ff44935a5f56f755a4f47ad00ee0dec48e19832 by kadircet
[clangd] Reduce availability of extract function

This patch introduces hoisting detection logic into prepare state with
a partial AST traversal of the enclosing function.

We had some complaints from the users about this code action being almost always
available but failing most of the time. Hopefully this should reduce that noise.

The latency/correctness tradeoff is a bunch of hand-waving, but at least today
we don't have any other actions that are available on selection of statements,
so when we get to do the traversal it is quite likely that all the other checks
will bail out early. But this is still up for discussion, I am happy to abandon
the patch if you believe this is not practical.

Differential Revision: https://reviews.llvm.org/D85354
The file was modifiedclang-tools-extra/clangd/unittests/TweakTests.cpp
The file was modifiedclang-tools-extra/clangd/refactor/tweaks/ExtractFunction.cpp
Commit 6f1a56d37ac6a541f585846ab0734ab0bedc264f by kadircet
[clangd] Enable partial namespace matches for workspace symbols

This will enable queries like "clangd::" to find symbols under clangd
namespace, without requiring full "clang::clangd::" qualification.

Since Fuzzyfind performs the search under all scopes and only boosts the symbols
from relevant namespaces, we might get symbols from non-matching namespaces.
This patch chooses to drop those as they clearly do not match the query.

Fixes https://github.com/clangd/clangd/issues/550.

Differential Revision: https://reviews.llvm.org/D88814
The file was modifiedclang-tools-extra/clangd/FindSymbols.cpp
The file was modifiedclang-tools-extra/clangd/unittests/FindSymbolsTests.cpp
Commit 6ee47f552ba7654a0997c8deb71f65d0d91f4a28 by sam.mccall
[clangd] Fix dead variable, typo. NFC
The file was modifiedclang-tools-extra/clangd/index/SymbolCollector.cpp
Commit 14a217534b791b68ea4e5b85ae98d92846bbd430 by bevin.hansson
[IR] Add Type::getFloatingPointTy.

It is possible to get a fltSemantics of a particular Type,
but there is no way to produce a Type based on a
fltSemantics.

This adds the function Type::getFloatingPointTy, which
will return the appropriate floating point Type for a given
fltSemantics.

ConstantFP is modified to use this function instead of
implementing it itself. Also some minor refactors to use
Type::getFltSemantics instead of a hand-rolled version.

Differential Revision: https://reviews.llvm.org/D87512
The file was modifiedllvm/lib/IR/Constants.cpp
The file was modifiedllvm/include/llvm/IR/Type.h
Commit 9c26eb8b915e5e20afa7d3e07996ea112c18ccc3 by bevin.hansson
Refactor fixed point conversion test.

Differential Revision: https://reviews.llvm.org/D88648
The file was modifiedclang/test/Frontend/fixed_point_conversions.c
The file was addedclang/test/Frontend/fixed_point_conversions_const.c
Commit dd3014f3dc7c1a42614be0488b0ab79bdcce995c by bevin.hansson
[Fixed Point] Add floating point methods to APFixedPoint.

This adds methods to APFixedPoint for converting to and from
floating point values.

Differential Revision: https://reviews.llvm.org/D85961
The file was modifiedllvm/lib/Support/APFixedPoint.cpp
The file was modifiedllvm/include/llvm/ADT/APFixedPoint.h
The file was modifiedllvm/unittests/ADT/APFixedPointTest.cpp
Commit 0610a25a85a0a204c994331e1ab275f86010f9ad by pavel
[lldb] Delete copy operations on PluginInterface class

This is a polymorphic class, copying it is a bad idea.

This was not a problem because most classes inheriting from it were
deleting their copy operations themselves. However, this enables us to
delete those explicit deletions, and ensure noone forgets to add them in
the future.
The file was modifiedlldb/source/Plugins/SymbolVendor/ELF/SymbolVendorELF.cpp
The file was modifiedlldb/source/Plugins/SymbolVendor/wasm/SymbolVendorWasm.h
The file was modifiedlldb/source/Plugins/Platform/MacOSX/PlatformRemoteAppleWatch.h
The file was modifiedlldb/source/Plugins/Platform/MacOSX/PlatformMacOSX.cpp
The file was modifiedlldb/source/Plugins/Platform/FreeBSD/PlatformFreeBSD.h
The file was modifiedlldb/source/Plugins/Platform/OpenBSD/PlatformOpenBSD.h
The file was modifiedlldb/source/Plugins/SymbolVendor/ELF/SymbolVendorELF.h
The file was modifiedlldb/source/Core/DynamicLoader.cpp
The file was modifiedlldb/source/Plugins/DynamicLoader/Hexagon-DYLD/DynamicLoaderHexagonDYLD.h
The file was modifiedlldb/source/Plugins/Platform/Linux/PlatformLinux.cpp
The file was modifiedlldb/include/lldb/Core/PluginInterface.h
The file was modifiedlldb/source/Plugins/DynamicLoader/Static/DynamicLoaderStatic.cpp
The file was modifiedlldb/source/Symbol/SymbolVendor.cpp
The file was modifiedlldb/source/Plugins/LanguageRuntime/CPlusPlus/CPPLanguageRuntime.cpp
The file was modifiedlldb/include/lldb/Target/Platform.h
The file was modifiedlldb/source/Plugins/Platform/Android/PlatformAndroid.h
The file was modifiedlldb/source/Plugins/SymbolFile/Symtab/SymbolFileSymtab.cpp
The file was modifiedlldb/source/Plugins/SymbolVendor/MacOSX/SymbolVendorMacOSX.cpp
The file was modifiedlldb/source/Plugins/Platform/Windows/PlatformWindows.cpp
The file was modifiedlldb/source/Plugins/Process/mach-core/ProcessMachCore.h
The file was modifiedlldb/source/Target/OperatingSystem.cpp
The file was modifiedlldb/source/Plugins/Platform/FreeBSD/PlatformFreeBSD.cpp
The file was modifiedlldb/source/Plugins/Platform/NetBSD/PlatformNetBSD.cpp
The file was modifiedlldb/include/lldb/Target/OperatingSystem.h
The file was modifiedlldb/source/Plugins/Platform/MacOSX/PlatformMacOSX.h
The file was modifiedlldb/source/Plugins/DynamicLoader/Static/DynamicLoaderStatic.h
The file was modifiedlldb/source/Plugins/SymbolVendor/MacOSX/SymbolVendorMacOSX.h
The file was modifiedlldb/source/Target/LanguageRuntime.cpp
The file was modifiedlldb/source/Plugins/Platform/MacOSX/PlatformRemoteAppleBridge.h
The file was modifiedlldb/source/Plugins/Platform/MacOSX/PlatformRemoteAppleTV.h
The file was modifiedlldb/source/Plugins/Platform/Linux/PlatformLinux.h
The file was modifiedlldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderMacOS.h
The file was modifiedlldb/source/Plugins/LanguageRuntime/CPlusPlus/CPPLanguageRuntime.h
The file was modifiedlldb/source/Plugins/Platform/NetBSD/PlatformNetBSD.h
The file was modifiedlldb/source/Plugins/Platform/Windows/PlatformWindows.h
The file was modifiedlldb/source/Plugins/Process/elf-core/ProcessElfCore.h
The file was modifiedlldb/include/lldb/Target/UnwindAssembly.h
The file was modifiedlldb/source/Plugins/Platform/OpenBSD/PlatformOpenBSD.cpp
The file was modifiedlldb/include/lldb/Target/LanguageRuntime.h
The file was modifiedlldb/source/Plugins/SymbolFile/Symtab/SymbolFileSymtab.h
The file was modifiedlldb/source/Target/UnwindAssembly.cpp
The file was modifiedlldb/include/lldb/Target/DynamicLoader.h
The file was modifiedlldb/source/Plugins/Platform/MacOSX/PlatformRemoteiOS.h
The file was modifiedlldb/include/lldb/Core/Architecture.h
The file was modifiedlldb/source/Plugins/Platform/Android/PlatformAndroid.cpp
The file was modifiedlldb/include/lldb/Symbol/SymbolVendor.h
Commit 73d964646c91975cd2fae00ccf9ce5d3c3c0ba40 by grimar
[llvm-readelf/obj][test] - Stop using precompiled binary in mips-plt.test

This removes the precompiled binary and rewrites test to use YAML.

After this change we'll have no more precompiled inputs in `llvm-readobj/ELF/Inputs`.

Differential revision: https://reviews.llvm.org/D89097
The file was removedllvm/test/tools/llvm-readobj/ELF/Inputs/got-plt.exe.elf-mipsel
The file was modifiedllvm/test/tools/llvm-readobj/ELF/mips-plt.test
Commit e9fd8823baf508ff4e96cff9c24bc301ef4d100e by esme.yi
[DAGCombiner] Add decomposition patterns for Mul-by-Imm.

Summary: This patch is derived from D87384.
In this patch we expand the existing decomposition of mul-by-constant to be more general by implementing 2 patterns:
```
  mul x, (2^N + 2^M) --> (add (shl x, N), (shl x, M))
  mul x, (2^N - 2^M) --> (sub (shl x, N), (shl x, M))
```
The conversion will be trigged if the multiplier is a big constant that the target can't use a single multiplication instruction to handle. This is controlled by the hook `decomposeMulByConstant`.
More over, the conversion benefits from an ILP improvement since the instructions are independent. A case with the sequence like following also gets benefit since a shift instruction is saved.

```
*res1 = a * 0x8800;
*res2 = a * 0x8080;
```

Reviewed By: spatel

Differential Revision: https://reviews.llvm.org/D88201
The file was modifiedllvm/lib/Target/PowerPC/PPCISelLowering.cpp
The file was modifiedllvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
The file was modifiedllvm/test/CodeGen/PowerPC/mulli.ll
The file was modifiedllvm/lib/Target/PowerPC/PPCISelLowering.h
Commit 32f2f0d78aa09823fd45464f11db792c23d62e53 by luismarques
[NFC] Fix banner
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_syscall_linux_riscv64.inc
Commit 701fbe8725f4be067510b43805b68ec614b71518 by csigg
[mlir] NFC: small improvement to how we print a gpu.launch op.

Reviewed By: mehdi_amini

Differential Revision: https://reviews.llvm.org/D89033
The file was modifiedmlir/lib/Dialect/GPU/IR/GPUDialect.cpp
Commit 32cc8f7998abe1824e0832a49b66559471c9b879 by lebedev.ri
[NFC][SCEV] Improve tests for ptrtoint modelling (D88806)
The file was addedllvm/test/Analysis/ScalarEvolution/ptrtoint.ll
The file was removedllvm/test/Analysis/ScalarEvolution/semi-transparent-inttoptr-ptrtoint-casts.ll
Commit caf28b0a1288eb06720acf11d7ad09186b27b74f by Dávid Bolvanský
[Diagnostics] Diagnose  -Wsizeof-array-div for array of pointers

Differential Revision: https://reviews.llvm.org/D87990
The file was modifiedclang/test/Sema/div-sizeof-ptr.cpp
The file was modifiedclang/lib/Sema/SemaExpr.cpp
The file was modifiedclang/test/Sema/div-sizeof-array.cpp
Commit d851495f2fe614c4c860bda1bd3c80bfbe48360b by paulsson
[SystemZ] Use LA instead of AGR in eliminateFrameIndex().

Since AGR clobbers CC it should not be used here.

Fixes https://bugs.llvm.org/show_bug.cgi?id=47736.

Review: Ulrich Weigand
Differential Revision: https://reviews.llvm.org/D89034
The file was modifiedllvm/lib/Target/SystemZ/SystemZRegisterInfo.cpp
The file was modifiedllvm/test/CodeGen/SystemZ/frame-16.ll
The file was modifiedllvm/test/CodeGen/SystemZ/frame-14.ll
Commit 2aeae1617cbe0969630a804945551022f8f63a26 by lebedev.ri
Revert "[NFC][SCEV] Improve tests for ptrtoint modelling (D88806)"

Buildbots aren't happy, need to investigate.
This reverts commit 32cc8f7998abe1824e0832a49b66559471c9b879.
The file was removedllvm/test/Analysis/ScalarEvolution/ptrtoint.ll
The file was addedllvm/test/Analysis/ScalarEvolution/semi-transparent-inttoptr-ptrtoint-casts.ll
Commit 8bdbe29519236b0dc6a701deb455440c336f2773 by jmolloy
[mlir] Fix bug in computing operation order

When attempting to compute a differential orderIndex we were calculating the
bailout condition correctly, but then an errant "+ 1" meant the orderIndex we
created was invalid.

Added test.

Reviewed By: ftynse

Differential Revision: https://reviews.llvm.org/D89115
The file was modifiedmlir/unittests/IR/OperationSupportTest.cpp
The file was modifiedmlir/lib/IR/Operation.cpp
Commit 225df71951cb7b870d078167de1a375a674c79df by mkazantsev
[NFC] Add option to disable IV widening if needed

IV widening is sometimes a strictly harmful transform (some examples
of this are shown in tests 11, 12 in widen-loop-comp.ll). One of the
reasons of this is that sometimes SCEV fails to prove some facts after
part of guards has been widened.

Though each single such case looks like a bug that can be addressed,
it seems that disabling of IV widening may be profitable in some cases.
We want to have an option to do so. By default, existing behavior is
preserved and IV widening is on.
The file was modifiedllvm/lib/Transforms/Scalar/IndVarSimplify.cpp
Commit 0b4fe8086f03294907180007e7de98c80a83b0d7 by vrnithinkumar
[Analyzer] Fix for dereferece of smart pointer after branching on unknown inner pointer

Summary: Enabling warning after dereferece of smart pointer after branching on unknown inner pointer.

Reviewers: NoQ, Szelethus, vsavchenko, xazax.hun
Reviewed By: NoQ
Subscribers: martong, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D87043
The file was modifiedclang/lib/StaticAnalyzer/Checkers/SmartPtrModeling.cpp
The file was modifiedclang/test/Analysis/smart-ptr.cpp
The file was modifiedclang/test/Analysis/smart-ptr-text-output.cpp
Commit e517e5cfec90a00a488ad8df901ab9b903ebb966 by development
[clang] improve accuracy of ExprMutAnalyzer

This patch extracts the ExprMutAnalyzer changes from https://reviews.llvm.org/D54943
into its own revision for simpler review and more atomic changes.

The analysis results are improved. Nested expressions (e.g. conditional
operators) are now detected properly. Some edge cases, especially
template induced imprecisions are improved upon.

Reviewed By: aaron.ballman

Differential Revision: https://reviews.llvm.org/D88088
The file was modifiedclang/unittests/Analysis/ExprMutationAnalyzerTest.cpp
The file was modifiedclang/lib/Analysis/ExprMutationAnalyzer.cpp
Commit 027e7a7721753ea35e339b05dd3439d310c6ecae by lebedev.ri
Reland "[NFC][SCEV] Improve tests for ptrtoint modelling (D88806)"

I messed up runlines in the original commit.
The file was removedllvm/test/Analysis/ScalarEvolution/semi-transparent-inttoptr-ptrtoint-casts.ll
The file was addedllvm/test/Analysis/ScalarEvolution/ptrtoint.ll
Commit 7530b254e93a18991a86d145eff066fbe88d6164 by sam.mccall
[clangd] Make the tweak filter a parameter to enumerateTweaks. NFC

(Required for CodeActionContext.only)

Differential Revision: https://reviews.llvm.org/D88724
The file was modifiedclang-tools-extra/clangd/ClangdLSPServer.h
The file was modifiedclang-tools-extra/clangd/ClangdLSPServer.cpp
The file was modifiedclang-tools-extra/clangd/ClangdServer.h
The file was modifiedclang-tools-extra/clangd/ClangdServer.cpp
Commit 4eb627ed96e3f2f9f24aec8a0654ce5204874bb8 by Ben.Dunbobbin
first upstream review
The file was modifiedclang/test/SemaCXX/dllimport.cpp
The file was modifiedclang/lib/Sema/SemaDeclCXX.cpp
The file was modifiedclang/test/Sema/dllimport.c
The file was modifiedclang/lib/Sema/SemaDecl.cpp
The file was modifiedclang/test/SemaCXX/dllexport.cpp
The file was modifiedclang/lib/Sema/SemaDeclAttr.cpp
Commit a9f1bb92bfb1efc005b53bf9ea18ad5e902386fc by Ben.Dunbobbin
Revert "first upstream review"

Pushed by accident :(

This reverts commit 4eb627ed96e3f2f9f24aec8a0654ce5204874bb8.
The file was modifiedclang/test/SemaCXX/dllimport.cpp
The file was modifiedclang/lib/Sema/SemaDecl.cpp
The file was modifiedclang/test/Sema/dllimport.c
The file was modifiedclang/lib/Sema/SemaDeclCXX.cpp
The file was modifiedclang/lib/Sema/SemaDeclAttr.cpp
The file was modifiedclang/test/SemaCXX/dllexport.cpp
Commit bb148ad426f8c7e6a6f968d54796f872685a00b2 by Ben.Dunbobbin
[windows-itanium] make dllimport/export handling closer to MS behavior

Differential Revision: https://reviews.llvm.org/D86828
The file was modifiedclang/lib/Sema/SemaDeclAttr.cpp
The file was modifiedclang/test/SemaCXX/dllimport.cpp
The file was modifiedclang/lib/Sema/SemaDecl.cpp
The file was modifiedclang/lib/Sema/SemaDeclCXX.cpp
The file was modifiedclang/test/Sema/dllimport.c
The file was modifiedclang/test/SemaCXX/dllexport.cpp
Commit b581c5a42f052d4d02f1152d0e1ff2d54668e6a0 by kzhuravl_dev
Regenerate ClangCommandLineReference.rst

Differential Revision: https://reviews.llvm.org/D89091
The file was modifiedclang/docs/ClangCommandLineReference.rst
Commit 1dbfd87319cf3a7138292253ff086ee8fe1d0a76 by martin
[LLD] [ELF] Fix the help listing for the wrap option. NFC.

This option just takes a single symbol name per invocation of the
option.

Differential Revision: https://reviews.llvm.org/D89007
The file was modifiedlld/ELF/Options.td
Commit 2efcb6438a8184a3d5bb1b5bafc35306530a2773 by llvm-dev
[InstCombine] Add nonuniform/undef vector tests for shift(binop(shift(x,c1),y),c2) patterns
The file was modifiedllvm/test/Transforms/InstCombine/shift-logic.ll
Commit 366d8435b41dcc01013c507681523c65cdee2180 by herhut
[mlir][gpu] Fix bug in kernel outlining

The updated version of kernel outlining did not handle cases correctly
where an operand of a candidate for sinking itself was defined by an operation
that is a sinking candidate. In such cases, it could happen that sunk
operations were inserted in the wrong order, breaking ssa properties.

Differential Revision: https://reviews.llvm.org/D89112
The file was modifiedmlir/lib/Dialect/GPU/Transforms/KernelOutlining.cpp
The file was modifiedmlir/test/Dialect/GPU/outlining.mlir
Commit 556316cf724e5a2c569f07a5e04d27e2ff1a6c66 by llvm-dev
[InstCombine] foldShiftOfShiftedLogic - replace cast<BinaryOperator> with m_BinOp matcher. NFCI.

Allows us to drop the !isa<ConstantExpr> check.
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineShifts.cpp
Commit fe4715c47f9c02a83b339c12067f1d27a3115fe4 by alexfh
Remove old create(MainFile)?IncludeInsertion overloads

Reviewed By: hokein

Differential Revision: https://reviews.llvm.org/D89117
The file was modifiedclang-tools-extra/clang-tidy/utils/IncludeInserter.cpp
The file was modifiedclang-tools-extra/clang-tidy/utils/IncludeInserter.h
The file was modifiedclang-tools-extra/clang-tidy/utils/TransformerClangTidyCheck.cpp
Commit 9e796d5e71d74abaec07295aac5a60a70eb9b057 by llvm-dev
[InstCombine] foldShiftOfShiftedLogic - add support for nonuniform constant vectors
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineShifts.cpp
The file was modifiedllvm/test/Transforms/InstCombine/shift-logic.ll
Commit 8f56e382f782632c4b137339ab3c362fdbab62a5 by flo
[SCEV] Do not apply info from loop guards in AddRecs.

We cannot guarantee that the replacement expression is loop-invariant in
all AddRecs in the source expression. Use a rewriter that skips
AddRecExpr for now.

Fixes PR47776.
The file was addedllvm/test/Transforms/LoopStrengthReduce/X86/pr47776-do-not-apply-info-from-guards-to-addrecs.ll
The file was modifiedllvm/lib/Analysis/ScalarEvolution.cpp
Commit 0741a2c9caca864fc30af2104712d02accdc12e6 by stefanp
[Clang][unittests][NFC] Break up test in Callbacks.cpp

The Callbacks.cpp test was taking a long time to compile on some build bots
causing timeouts. This patch splits up that test into five separate cpp
files and a header file.

Reviewed By: gribozavr2

Differential Revision: https://reviews.llvm.org/D88886
The file was removedclang/unittests/Tooling/RecursiveASTVisitorTests/Callbacks.cpp
The file was addedclang/unittests/Tooling/RecursiveASTVisitorTests/CallbacksCompoundAssignOperator.cpp
The file was modifiedclang/unittests/Tooling/CMakeLists.txt
The file was addedclang/unittests/Tooling/RecursiveASTVisitorTests/CallbacksUnaryOperator.cpp
The file was addedclang/unittests/Tooling/RecursiveASTVisitorTests/CallbacksBinaryOperator.cpp
The file was addedclang/unittests/Tooling/RecursiveASTVisitorTests/CallbacksCallExpr.cpp
The file was addedclang/unittests/Tooling/RecursiveASTVisitorTests/CallbacksCommon.h
The file was addedclang/unittests/Tooling/RecursiveASTVisitorTests/CallbacksLeaf.cpp
Commit 5e65d384a2ea6c9ef3009ad958a6ec281bdb52c7 by llvmgnsyncbot
[gn build] Port 0741a2c9cac
The file was modifiedllvm/utils/gn/secondary/clang/unittests/Tooling/BUILD.gn
Commit fa200dc3592e1947f55bf68f2cb2a796ee0bf7f0 by tpopp
[mlir] Use PatternRewriter infrastructure for shape.assuming bufferization

Without this, legalization might not recursively handle child ops properly.
Additionally, this is required for pattern rewriting to properly rollback conversions.

Differential Revision: https://reviews.llvm.org/D89122
The file was modifiedmlir/lib/Dialect/Shape/Transforms/ShapeTypeConversion.cpp
Commit 86d61365d8cfae8afdb4deb90b21709ddd482b20 by Louis Dionne
[libc++] More consistency with declaring int main(int, char**)
The file was modifiedlibcxx/test/libcxx/selftest/dsl/dsl.sh.py
Commit d91234b21c1a1a34d98157089a8769d8f9a32f06 by fanbo.meng
[SystemZ][z/OS] Update target specific __attribute__((aligned)) value for test

z/OS defaults to 16 bytes for  __attribute__((aligned)), modify the test to differentiate between z/OS and Linux on s390x.

Reviewed By: abhina.sreeskantharajan

Differential Revision: https://reviews.llvm.org/D89127
The file was modifiedclang/test/Sema/struct-packed-align.c
Commit 41d2987c7558734cef74151e743645f47d9df501 by sam.mccall
[clangd] Stop logging in fromJSON, report instead.
The file was modifiedclang-tools-extra/clangd/Protocol.cpp
Commit 63ca276dc64f3869aec9a05250bd64b8f423ab44 by irina.dobrescu
[mlir][openmp][NFC]Remove unnecessary brackets and rephrase ParallelOp description in mlir definition

Differential Revision: https://reviews.llvm.org/D88740
The file was modifiedmlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
The file was modifiedmlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
Commit ddb2baf9fbff3d574c6c2bd69c2c9569100509a4 by Louis Dionne
[libc++] Make sure we don't cache DSL functions too aggressively

To make sure we don't store a mutable object (which could be modified by
outside code without us noticing) as the cache key, we pickle the cache
key to get a byte stream. If two keys are unequal, we know for sure they
will not have the same pickling. And if they are equal, there's a large
chance they will have the same pickling. If they don't, we might end up
not reusing a cached entry when we could have, but at least the behavior
we'll have is semantically correct.
The file was modifiedlibcxx/test/libcxx/selftest/dsl/dsl.sh.py
The file was modifiedlibcxx/utils/libcxx/test/dsl.py
Commit 71d3b7ec7b62d37dd3c8eb1a921f0b3e1ffdaa7f by anastasia.stulova
[OpenCL] Add new compilation mode for OpenCL 3.0.

Extended -cl-std/std flag with CL3.0 and added predefined version macros.

Patch by Anton Zabaznov (azabaznov)!

Tags: #clang

Differential Revision: https://reviews.llvm.org/D88300
The file was modifiedclang/include/clang/Basic/LangStandards.def
The file was modifiedclang/lib/Frontend/CompilerInvocation.cpp
The file was modifiedclang/test/Driver/autocomplete.c
The file was modifiedclang/test/Preprocessor/predefined-macros.c
The file was modifiedclang/test/Driver/unknown-std.cl
The file was modifiedclang/test/Frontend/stdlang.c
The file was modifiedclang/include/clang/Driver/Options.td
The file was modifiedclang/lib/Frontend/InitPreprocessor.cpp
The file was modifiedclang/test/Driver/opencl.cl
Commit ccf12607921766d57b0238ee7db5754509935288 by llvm-dev
[InstCombine] Add tests for X shift (A srem B) -> X shift (A and B-1) pow2 nonuniform constant vectors
The file was modifiedllvm/test/Transforms/InstCombine/shift.ll
Commit 080e6bc2050e28ae198d82f0e934ca7b4548c3b7 by spatel
[InstCombine] allow vector splats for add+and with high-mask

There might be a better way to specify the pre-conditions,
but this is hopefully clearer than the way it was written:
https://rise4fun.com/Alive/Jhk3

  Pre: C2 < 0 && isShiftedMask(C2) && (C1 == C1 & C2)
  %a = and %x, C2
  %r = add %a, C1
  =>
  %a2 = add %x, C1
  %r = and %a2, C2
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
The file was modifiedllvm/test/Transforms/InstCombine/add.ll
Commit 99cafe009477970e2f14415d1b48ceed954dc84b by kparzysz
[Hexagon] Return 1 instead of 0 from getMaxInterleaveFactor
The file was modifiedllvm/lib/Target/Hexagon/HexagonTargetTransformInfo.cpp
Commit 1c040a3e5615e54022cf9786b0f5c440ae3d3205 by llvm-dev
[InstCombine] commonShiftTransforms - add support for pow2 nonuniform constant vectors in srem fold

Note: we already fold srem to undef if any denominator vector element is undef.
The file was modifiedllvm/test/Transforms/InstCombine/shift.ll
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineShifts.cpp
Commit 4a98cf7867fac7b5d3de7b1ae3285b1d9e6ea3ce by scott.linder
[NFC] Reformat MILexer.cpp:getIdentifierKind

Reformat to avoid unrelated changes in diff of future patch.
Committed as obvious.
The file was modifiedllvm/lib/CodeGen/MIRParser/MILexer.cpp
Commit 4c3515cd623ed97585a6e625d866c1913f82ab9d by david.green
[ARM] Add MVE vecreduce costmodel tests. NFC

There were some existing tests that were not super useful. New ones are
added for testing MVE specific patterns.
The file was addedllvm/test/Analysis/CostModel/ARM/mve-vecreduce-add.ll
The file was modifiedllvm/test/Analysis/CostModel/ARM/reduce-add.ll
Commit dcd9be43e5c7c371991bc89f617c6cfe0110c82d by andrzej.warzynski
[mlir] Fix shared libs build

Reverts one breaking change introduced in
https://reviews.llvm.org/D88846.

Differential Revision: https://reviews.llvm.org/D89111
The file was modifiedmlir/tools/mlir-tblgen/CMakeLists.txt
Commit 4e69a52952bdb7045b6368c0f52c7e49c449b2fb by ezhulenev
[MLIR] Add async token/value arguments to async.execute op

Async execute operation can take async arguments as dependencies.

Change `async.execute` custom parser/printer format to use `%value as %unwrapped: !async.value<!type>` sytax.

Reviewed By: mehdi_amini, herhut

Differential Revision: https://reviews.llvm.org/D88601
The file was modifiedmlir/test/Dialect/Async/ops.mlir
The file was modifiedmlir/include/mlir/Dialect/Async/IR/Async.h
The file was modifiedmlir/include/mlir/Dialect/Async/IR/AsyncOps.td
The file was modifiedmlir/lib/Dialect/Async/IR/Async.cpp
The file was modifiedmlir/include/mlir/Dialect/Async/IR/AsyncBase.td
Commit af1f016436b29ef23eaecd5d909753d3b19f3cf8 by llvm-dev
[InstCombine] Add lshr(trunc(lshr(x,c1)), c2) -> trunc(lshr(lshr(x,c1),c2)) vector tests
The file was modifiedllvm/test/Transforms/InstCombine/shift.ll
Commit 8a836daaa97bc979cd589f5efb060d2223225d8d by llvm-dev
[InstCombine] Support lshr(trunc(lshr(x,c1)), c2) -> trunc(lshr(lshr(x,c1),c2)) uniform vector tests

FoldShiftByConstant is hardcoded for scalar/uniform outer shift amounts atm so that needs to be fixed first to support non-uniform cases
The file was modifiedllvm/test/Transforms/InstCombine/shift.ll
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineShifts.cpp
Commit 46dd827232e73135eca1b6f05dc5bebdb277c9db by tpopp
[mlir] Forward listeners when utilizing scf::IfOp::get*BodyBuilder.

Without this PatternRewriting infrastructure does not know of modifications and
cannot properly legalize nor rollback changes.

Differential Revision: https://reviews.llvm.org/D89129
The file was modifiedmlir/include/mlir/Dialect/SCF/SCFOps.td
Commit 1dfbc2ea144174f751ed3527e9b453e47a3a38e0 by jay.foad
[AMDGPU] Only enable mad/mac legacy f32 patterns if denormals may be flushed

Following on from D88890, this makes the newly added patterns
conditional on NoFP32Denormals. mad/mac f32 instructions always flush
denormals regardless of the MODE register setting, and I believe the
legacy variants do the same.

Differential Revision: https://reviews.llvm.org/D89123
The file was modifiedllvm/lib/Target/AMDGPU/SIInstructions.td
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.fmul.legacy.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/llvm.amdgcn.fmul.legacy.ll
Commit 9c21c6c96630c1dbc9dadbdc55717822acea7b17 by aeubanks
[LoopInterchange][NewPM] Port -loop-interchange to NPM

Reviewed By: fhahn

Differential Revision: https://reviews.llvm.org/D89058
The file was modifiedllvm/include/llvm/InitializePasses.h
The file was modifiedllvm/lib/Transforms/Scalar/LoopInterchange.cpp
The file was addedllvm/include/llvm/Transforms/Scalar/LoopInterchange.h
The file was modifiedllvm/lib/Passes/PassBuilder.cpp
The file was modifiedllvm/lib/Transforms/Scalar/Scalar.cpp
The file was modifiedllvm/lib/Passes/PassRegistry.def
The file was modifiedllvm/test/Transforms/LoopInterchange/interchangeable.ll
Commit 0689dab8443fd196c239cfee8a4bfd289a9458bf by aeubanks
[FixIrreducible][NewPM] Port -fix-irreducible to NPM

In the NPM, a pass cannot depend on another non-analysis pass. So pin
the test that tests that -lowerswitch is run automatically to legacy PM.

Reviewed By: sameerds

Differential Revision: https://reviews.llvm.org/D89051
The file was modifiedllvm/lib/Passes/PassBuilder.cpp
The file was modifiedllvm/test/Transforms/FixIrreducible/basic.ll
The file was modifiedllvm/lib/Transforms/Utils/FixIrreducible.cpp
The file was modifiedllvm/lib/Passes/PassRegistry.def
The file was modifiedllvm/test/Transforms/FixIrreducible/switch.ll
The file was addedllvm/include/llvm/Transforms/Utils/FixIrreducible.h
Commit 12805513a6a29c58f35240a40200f9fd215ef6c8 by Louis Dionne
[libc++] Remove some workarounds for C++03

We don't support any compiler that doesn't support variadics and rvalue
references in C++03 mode, so these workarounds can be dropped. There's
still *a lot* of cruft related to these workarounds, but I try to tackle
a bit of it here and there.
The file was modifiedlibcxx/include/array
The file was modifiedlibcxx/include/__tree
The file was modifiedlibcxx/include/type_traits
The file was modifiedlibcxx/include/sstream
The file was modifiedlibcxx/include/__hash_table
The file was modifiedlibcxx/include/__mutex_base
The file was modifiedlibcxx/include/__split_buffer
Commit a3a24316087d0e1b4db0b8fee19cdee8b7968032 by Louis Dionne
[clang] Don't look into <sysroot> for C++ headers if they are found alongside the toolchain

Currently, Clang looks for libc++ headers alongside the installation
directory of Clang, and it also adds a search path for headers in the
-isysroot. This is problematic if headers are found in both the toolchain
and in the sysroot, since #include_next will end up finding the libc++
headers in the sysroot instead of the intended system headers.

This patch changes the logic such that if the toolchain contains libc++
headers, no C++ header paths are added in the sysroot. However, if the
toolchain does *not* contain libc++ headers, the sysroot is searched as
usual.

This should not be a breaking change, since any code that previously
relied on some libc++ headers being found in the sysroot suffered from
the #include_next issue described above, which renders any libc++ header
basically useless.

Differential Revision: https://reviews.llvm.org/D89001
The file was modifiedclang/test/Driver/darwin-header-search-libcxx.cpp
The file was addedclang/test/Driver/Inputs/basic_darwin_sdk_usr_cxx_v1/usr/include/c++/v1/.keep
The file was modifiedclang/lib/Driver/ToolChains/Darwin.cpp
The file was addedclang/test/Driver/Inputs/basic_darwin_sdk_usr_cxx_v1/usr/lib/.keep
Commit c778f6c4f9d511023c0d71b9e14a90e60445d314 by Louis Dionne
[libc++] Clean up logic around aligned/sized allocation and deallocation

Due to the need to support compilers that implement builtin operator
new/delete but not their align_val_t overloaded versions, there was a
lot of complexity. By assuming that a compiler that supports the builtin
new/delete operators also supports their align_val_t overloads, the code
can be simplified quite a bit.

Differential Revision: https://reviews.llvm.org/D88301
The file was modifiedlibcxx/include/new
The file was modifiedlibcxx/include/__config
Commit 3a6bfcf2f902341bb618c4d5e06b2b10d9f02c72 by georgakoudis1
[OpenMPOpt] Merge parallel regions

There are cases that generated OpenMP code consists of multiple,
consecutive OpenMP parallel regions, either due to high-level
programming models, such as RAJA, Kokkos, lowering to OpenMP code, or
simply because the programmer parallelized code this way.  This
optimization merges consecutive parallel OpenMP regions to: (1) reduce
the runtime overhead of re-activating a team of threads; (2) enlarge the
scope for other OpenMP optimizations, e.g., runtime call deduplication
and synchronization elimination.

This implementation defensively merges parallel regions, only when they
are within the same BB and any in-between instructions are safe to
execute in parallel.

Reviewed By: jdoerfert

Differential Revision: https://reviews.llvm.org/D83635
The file was addedllvm/test/Transforms/OpenMP/parallel_region_merging_legacy_pm.ll
The file was modifiedllvm/lib/Transforms/IPO/OpenMPOpt.cpp
The file was addedllvm/test/Transforms/OpenMP/parallel_region_merging.ll
Commit 5d501096ca1fae74f910411cfeb0491d94c635b7 by Jonas Devlieghere
[lldb] Update docs with new buildbot URLs

Buildbot got upgraded and now the (LLDB) builders have different URLs.
The file was modifiedlldb/docs/resources/bots.rst
Commit 191fbda5d2a5ceb4b5af894d987a69537b8431b4 by llvm-dev
[ARM][MIPS] Add funnel shift test coverage

Based on offline discussions regarding D89139 and D88783 - we want to make sure targets aren't doing anything particularly dumb

Tests copied from aarch64 which has a mixture of general, legalization and special case tests
The file was addedllvm/test/CodeGen/ARM/funnel-shift-rot.ll
The file was addedllvm/test/CodeGen/ARM/funnel-shift.ll
The file was addedllvm/test/CodeGen/Mips/funnel-shift-rot.ll
The file was addedllvm/test/CodeGen/Mips/funnel-shift.ll
Commit 2218e6d0a873f6bad4c4cdd5bccbdc0ae6f4c760 by aeubanks
[BPF] Make BPFAbstractMemberAccessPass required

Or else on optnone functions we get the following during instruction selection:
  fatal error: error in backend: Cannot select: intrinsic %llvm.preserve.struct.access.index

Currently the -O0 pipeline doesn't properly run passes registered via
TargetMachine::registerPassBuilderCallbacks(), so don't add that RUN
line yet. That will be fixed after this.

Reviewed By: yonghong-song

Differential Revision: https://reviews.llvm.org/D89083
The file was modifiedllvm/lib/Target/BPF/BPF.h
The file was addedllvm/test/CodeGen/BPF/optnone-2.ll
Commit 4abb519619694de12e401de5454a6eed5c1384ea by Louis Dionne
[libc++] NFCI: Define small methods of basic_stringstream inline

It greatly increases readability because defining the methods out-of-line
involves a ton of boilerplate template declarations.
The file was modifiedlibcxx/include/sstream
Commit e0d66ccf068752b7d194bb231993f171ba23d830 by Louis Dionne
[libc++] Rename LIBCXX_ENABLE_DEBUG_MODE to LIBCXX_ENABLE_DEBUG_MODE_SUPPORT

To make it clearer this is about whether the library supports the debug
mode at all, not whether the debug mode is enabled. Per comment by Nico
Weber on IRC.
The file was modifiedlibcxx/cmake/caches/Apple.cmake
The file was modifiedlibcxx/src/CMakeLists.txt
The file was modifiedlibcxx/test/configs/legacy.cfg.in
The file was modifiedlibcxx/cmake/caches/Generic-nodebug.cmake
The file was modifiedlibcxx/test/CMakeLists.txt
Commit 877667287fa5515d525edfee169b18207b342cd5 by Louis Dionne
[libc++] Fixup a missing occurrence of LIBCXX_ENABLE_DEBUG_MODE
The file was modifiedlibcxx/CMakeLists.txt
Commit 466c8296f20f5940fc282b228e28408b7c4d7d9b by nikita.ppv
[MemCpyOpt] Add test for incorrectly hoisted store (NFC)
The file was modifiedllvm/test/Transforms/MemCpyOpt/fca2memcpy.ll
Commit 662024df331bd1f1a206678435e51232683e3cf6 by craig.topper
[X86] Don't copy kill flag when expanding LCMPXCHG16B_SAVE_RBX

The expansion code creates a copy to RBX before the real LCMPXCHG16B.
It's possible this copy uses a register that is also used by the
real LCMPXCHG16B. If we set the kill flag on the use in the copy,
then we'll fail the machine verifier on the use on the LCMPXCHG16B.

Differential Revision: https://reviews.llvm.org/D89151
The file was modifiedllvm/lib/Target/X86/X86ExpandPseudo.cpp
The file was modifiedllvm/test/CodeGen/X86/pr42064.ll
Commit f34bb06935aa3bab353d70d515b767fdd2f5625c by craig.topper
[X86] When expanding LCMPXCHG16B_NO_RBX in EmitInstrWithCustomInserter, directly copy address operands instead of going through X86AddressMode.

I suspect getAddressFromInstr and addFullAddress are not handling
all addresses cases properly based on a report from MaskRay.

So just copy the operands directly. This should be more efficient
anyway.
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
Commit 40cef5a00eb83f44e946912b74be83e8dc02effb by scott.linder
[clang] Add a test for CGDebugInfo treatment of blocks

There doesn't seem to be a direct test of this, and I'm planning to make
future changes which will affect it.

I'm not particularly familiar with the blocks extension, so suggestions
for better tests are welcome.

Differential Revision: https://reviews.llvm.org/D88754
The file was addedclang/test/CodeGen/debug-info-block-expr.c
Commit 0e9b572949ce00e5ca01bf7555abdda12052a213 by stellaraccident
[mlir] Fix TypeID for shared libraries built with -fvisibility=hidden.

* Isolates the visibility controlled parts of its implementation to a detail namespace.
* Applies a struct level visibility attribute which applies to the static local within the get() functions.
* The prior version was not emitting a symbol for the static local "instance" fields when the user TU was compiled with -fvisibility=hidden.

Differential Revision: https://reviews.llvm.org/D89153
The file was modifiedmlir/include/mlir/Support/TypeID.h
Commit e20792795065b2fb41128537314044f0a8f0a912 by stellaraccident
NFC: Address post-commit doc/formatting comments on TypeID.h.
The file was modifiedmlir/include/mlir/Support/TypeID.h
Commit 62e2ac6461d414f00153a2ca8d7d31428803db22 by mtrofin
[NFC][Regalloc] Fix coding style in CalcSpillWeights
The file was modifiedllvm/lib/CodeGen/CalcSpillWeights.cpp
Commit a2291a58bf1c860d026581fee6fe96019dc25440 by vyng
    Enable LSAN for Android

    Make use of the newly added thread-properties API (available since 31).

    Differential Revision: https://reviews.llvm.org/D85927
The file was modifiedcompiler-rt/cmake/config-ix.cmake
The file was modifiedcompiler-rt/test/lsan/TestCases/Linux/cleanup_in_tsd_destructor.c
The file was modifiedcompiler-rt/test/lsan/lit.common.cfg.py
The file was modifiedcompiler-rt/test/asan/lit.cfg.py
The file was modifiedcompiler-rt/lib/asan/tests/CMakeLists.txt
The file was modifiedcompiler-rt/test/lsan/TestCases/ignore_object.c
The file was modifiedcompiler-rt/lib/asan/CMakeLists.txt
The file was modifiedcompiler-rt/test/lsan/TestCases/disabler.cpp
The file was modifiedcompiler-rt/test/lsan/TestCases/swapcontext.cpp
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_platform_interceptors.h
The file was modifiedcompiler-rt/test/lsan/TestCases/Linux/disabler_in_tsd_destructor.c
The file was modifiedcompiler-rt/test/lsan/TestCases/large_allocation_leak.cpp
The file was modifiedcompiler-rt/lib/lsan/lsan_common.h
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_linux.h
The file was modifiedcompiler-rt/test/lit.common.cfg.py
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cpp
The file was modifiedcompiler-rt/test/lsan/TestCases/suppressions_file.cpp
The file was modifiedcompiler-rt/test/lsan/TestCases/Linux/guard-page.c
The file was modifiedcompiler-rt/lib/lsan/lsan_common.cpp
The file was modifiedcompiler-rt/lib/lsan/lsan_common_linux.cpp
The file was modifiedcompiler-rt/test/lsan/TestCases/Linux/use_tls_dynamic.cpp
The file was modifiedcompiler-rt/test/lsan/TestCases/Linux/log-path_test.cpp
The file was modifiedcompiler-rt/test/lsan/TestCases/disabler.c
The file was modifiedcompiler-rt/lib/lsan/CMakeLists.txt
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_internal_defs.h
The file was modifiedcompiler-rt/test/lsan/TestCases/Linux/use_tls_pthread_specific_static.cpp
The file was modifiedcompiler-rt/test/asan/TestCases/coverage-and-lsan.cpp
The file was modifiedcompiler-rt/test/lsan/TestCases/strace_test.cpp
The file was modifiedcompiler-rt/test/lsan/TestCases/use_registers.cpp
Commit e4e23c55c028dc77255447b2c0740ed38f4805a9 by aeubanks
[Reg2Mem][NewPM] Pin test to legacy PM

This pass hasn't been touched in a long time and isn't used in tree.
The file was modifiedllvm/test/Transforms/Reg2Mem/crash.ll
Commit df295fac6cd14977672b2874700572e0f77b77da by nicolas.vasilache
Revert "Give attributes C++ namespaces."

This reverts commit 0a34492f36d77f043d371cc91f359b2d65e86475.

This change turned out to be very intrusive wrt some internal projects.
Reverting until this can be sorted out.
The file was modifiedmlir/include/mlir/IR/OpBase.td
The file was modifiedmlir/tools/mlir-tblgen/OpDefinitionsGen.cpp
The file was modifiedmlir/tools/mlir-tblgen/RewriterGen.cpp
The file was modifiedmlir/lib/TableGen/Pattern.cpp
Commit e0dc3dba3bd1db450391d7fda040d4fcc830e5e3 by nicolas.vasilache
[mlir][Linalg] NFC - Cleanup explicitly instantiated paterns 1/n - LinalgToStandard.cpp

This revision belongs to a series of patches that reduce reliance of Linalg transformations on templated rewrite and conversion patterns.
Instead, this uses a MatchAnyTag pattern for the vast majority of cases and dispatches internally.

Differential Revision: https://reviews.llvm.org/D89133
The file was modifiedmlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h
The file was modifiedmlir/lib/Conversion/LinalgToStandard/LinalgToStandard.cpp
The file was modifiedmlir/include/mlir/Conversion/LinalgToStandard/LinalgToStandard.h
The file was modifiedmlir/include/mlir/Dialect/Linalg/IR/LinalgStructuredOpsInterface.td
The file was modifiedmlir/include/mlir/Dialect/Linalg/IR/LinalgStructuredOps.td
Commit c303d9b394427e93aa772d543426715b24f98fd1 by nicolas.vasilache
[mlir][Linalg] NFC - Cleanup explicitly instantiated paterns 2/n - Loops.cpp

This revision belongs to a series of patches that reduce reliance of Linalg transformations on templated rewrite and conversion patterns.
Instead, this uses a MatchAnyTag pattern for the vast majority of cases and dispatches internally.

Differential revision: https://reviews.llvm.org/D89133
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Loops.cpp
Commit 473b364a19ff4ec39abe2ce3da6614d717207966 by csigg
Add GPU async op interface and token type.

See https://llvm.discourse.group/t/rfc-new-dialect-for-modelling-asynchronous-execution-at-a-higher-level/1345

Reviewed By: herhut

Differential Revision: https://reviews.llvm.org/D88954
The file was modifiedmlir/include/mlir/Dialect/GPU/GPUDialect.h
The file was modifiedmlir/test/Dialect/GPU/ops.mlir
The file was modifiedmlir/include/mlir/Dialect/GPU/CMakeLists.txt
The file was modifiedmlir/lib/Dialect/GPU/CMakeLists.txt
The file was modifiedmlir/lib/Dialect/GPU/IR/GPUDialect.cpp
The file was modifiedmlir/include/mlir/Dialect/GPU/GPUBase.td
The file was modifiedmlir/include/mlir/Dialect/GPU/GPUOps.td
Commit 33bb3efbb34b9ca41a5ef3d2fe3687d9d7390a2a by kparzysz
[Hexagon] Generalize handling of SDNodes created during ISel

The selection of HVX shuffles can produce more nodes in the DAG,
which need special handling, or otherwise they would be left
unselected by the main selection code. Make the handling of such
nodes more general.
The file was modifiedllvm/lib/Target/Hexagon/HexagonISelLowering.h
The file was modifiedllvm/lib/Target/Hexagon/HexagonISelDAGToDAGHVX.cpp
The file was modifiedllvm/lib/Target/Hexagon/HexagonISelLowering.cpp
Commit 6fd994b4b7acc292f34ea7da76193ca15521d4a6 by kparzysz
[Hexagon] Remove ISD node VSPLATW, use VSPLAT instead

This is a step towards improving HVX codegen for splat.
The file was modifiedllvm/lib/Target/Hexagon/HexagonPatternsHVX.td
The file was modifiedllvm/lib/Target/Hexagon/HexagonISelLoweringHVX.cpp
The file was modifiedllvm/lib/Target/Hexagon/HexagonISelLowering.h
The file was modifiedllvm/lib/Target/Hexagon/HexagonISelLowering.cpp
Commit c11c20fb0036bc8f69b2028422f050ee66acbb64 by mtrofin
[NFC][Regalloc] VirtRegAuxInfo::Hint does not need to be a field

It is only used in weightCalcHelper, and cleared upon its finishing its
job there.

The patch further cleans up style guide discrepancies, and simplifies
CopyHint by removing duplicate 'IsPhys' information (it's what the Reg
field would report).
The file was modifiedllvm/lib/CodeGen/CalcSpillWeights.cpp
The file was modifiedllvm/include/llvm/CodeGen/CalcSpillWeights.h
Commit 5d74c435117526616d2c2665f030263b8f60da1b by Saleem Abdulrasool
DirectoryWatcher: add an implementation for Windows

This implements the directory watcher on Windows.  It does the most
naive thing for simplicity.  ReadDirectoryChangesW is used to monitor
the changes.  However, in order to support interruption, we must use
overlapped IO, which allows us to use the blocking, synchronous
mechanism.  We create a thread to post the notification to the consumer
to allow the monitoring to continue.  The two threads communicate via a
locked queue.

Differential Revision: https://reviews.llvm.org/D88666
Reviewed By: Adrian McCarthy
The file was modifiedclang/unittests/DirectoryWatcher/CMakeLists.txt
The file was modifiedclang/lib/DirectoryWatcher/windows/DirectoryWatcher-windows.cpp
Commit 4bd3d16c2d629fd06a2a60e45a501f4230da9633 by Louis Dionne
[libc++] Remove redundant if(LIBCXX_INSTALL_LIBRARY)

The individual LIBCXX_INSTALL_(SHARED|STATIC)_LIBRARY are already
dependent on whether LIBCXX_INSTALL_LIBRARY is ON or OFF.
The file was modifiedlibcxx/src/CMakeLists.txt
Commit 2dc9b26c00893696f8f56283b7ebca95f6c57ec7 by Louis Dionne
[libc++] Remove code to prevent overwriting the system libc++ on Darwin

The system partition is read-only since Catalina.
The file was modifiedlibcxx/CMakeLists.txt
Commit d8f58bf53a98574ef14568fd830edac5d1fb37f3 by tlively
[WebAssembly] Prototype i16x8.q15mulr_sat_s

This saturating, rounding, Q-format multiplication instruction is proposed in
https://github.com/WebAssembly/simd/pull/365.

Differential Revision: https://reviews.llvm.org/D88968
The file was modifiedclang/lib/CodeGen/CGBuiltin.cpp
The file was modifiedclang/include/clang/Basic/BuiltinsWebAssembly.def
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyInstrSIMD.td
The file was modifiedllvm/include/llvm/IR/IntrinsicsWebAssembly.td
The file was modifiedllvm/test/CodeGen/WebAssembly/simd-intrinsics.ll
The file was modifiedllvm/test/MC/WebAssembly/simd-encodings.s
The file was modifiedclang/test/CodeGen/builtins-wasm.c
Commit 9b5b3050237db3642ed7ab1bdb3ffa2202511b99 by rupprecht
Temporarily revert "[ThinLTO] Re-order modules for optimal multi-threaded processing"

This reverts commit 6537004913f3009d896bc30856698e7d22199ba7. This is causing test failures internally, and while a few of the cases turned out to be bad user code (relying on a specific order of static initialization across translation units), some cases are less clear. Temporarily reverting for now, and Teresa is going to follow up with more details.
The file was modifiedllvm/lib/LTO/LTO.cpp
The file was modifiedllvm/lib/LTO/ThinLTOCodeGenerator.cpp
The file was modifiedllvm/include/llvm/LTO/LTO.h
Commit 360f275cb7895205d7debab7a7d7bdceea42fb0c by Steven Wu
[IRMover] Add missing open quote in the warning message

Fix the missing single quotation mark in the warning message for
target triple mismatch.
The file was modifiedllvm/lib/Linker/IRMover.cpp
Commit 278299b0f0b0e47df95d526c95b42fa69667295c by efriedma
[SCCP] Reduce the number of times ResolvedUndefsIn is called for large modules.

If a module has many values that need to be resolved by
ResolvedUndefsIn, compilation takes quadratic time overall. Solve should
do a small amount of work, since not much is added to the worklists each
time markOverdefined is called. But ResolvedUndefsIn is linear over the
length of the function/module, so resolving one undef at a time is
quadratic in general.

To solve this, make ResolvedUndefsIn resolve every undef value at once,
instead of resolving them one at a time. This loses a little
optimization power, but can be a lot faster.

We still need a loop around ResolvedUndefsIn because markOverdefined
could change the set of blocks that are live. That should be uncommon,
hopefully. We could optimize it by tracking which blocks transition from
dead to live, instead of iterating over the whole module to find them.
But I'll leave that for later. (The whole function will become a lot
simpler once we start pruning branches on undef.)

The regression test changes seem minor. The specific cases in question
could probably be optimized with a bit more work, but they seem like
edge cases that don't really matter.

Fixes an "infinite" compile issue my team found on an internal workoad.

Differential Revision: https://reviews.llvm.org/D89080
The file was modifiedllvm/test/Transforms/SCCP/2004-12-10-UndefBranchBug.ll
The file was modifiedllvm/test/Transforms/SCCP/resolvedundefsin-tracked-fn.ll
The file was modifiedllvm/lib/Transforms/Scalar/SCCP.cpp
Commit 488f1c48937ce0dae5566fa4f1dbdf8c43ffb9e4 by i
[X86][test] Add a regression test for lock cmpxchg16b on a global variable with offset

Add a test for a bug (uncovered by D88808) fixed by f34bb06935aa3bab353d70d515b767fdd2f5625c.
Also delete cmpxchg16b.ll which is covered by atomic128.ll

Reviewed By: craig.topper

Differential Revision: https://reviews.llvm.org/D89163
The file was modifiedllvm/test/CodeGen/X86/atomic128.ll
The file was removedllvm/test/CodeGen/X86/cmpxchg16b.ll
Commit e0b89df2e0f0130881bf6c39bf31d7f6aac00e0f by craig.topper
[X86] Check if call is indirect before emitting NT_CALL

The notrack prefix is a relaxation of CET policies which makes it possible to indirectly call targets which do not have an ENDBR instruction in the landing address. To emit a call with this prefix, the special attribute "nocf_check" is used. When used as a function attribute, a CallInst targeting the respective function will return true for the method "doesNoCfCheck()", no matter if it is a direct call (and such should remain like this, as the information that the to-be-called function won't perform control-flow checks is useful in other contexts). Yet, when emitting an X86ISD::NT_CALL, the respective CallInst should be verified for its indirection, allowing that the prefixed calls are only emitted in the right situations.

Update the respective testing unit to also verify for direct calls to functions with ''nocf_check'' attributes.

The bug can also be reproduced through compiling the following C code using the -fcf-protection=full flag.

int __attribute__((nocf_check)) foo(int a) {};

int main() {
  foo(42);
}

Differential Revision: https://reviews.llvm.org/D87320
The file was modifiedllvm/test/CodeGen/X86/nocf_check.ll
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
Commit f192a27ed3bacdf727f27857adeb6d3762383295 by changpeng.fang
Sink: Handle instruction sink when a user is dead

Summary:
  The current instruction sink pass uses findNearestCommonDominator of all users to find block to sink the instruction to.
However, a user may be in a dead block, which will result in unexpected behavior.

This patch handles such cases by skipping dead blocks. This patch fixes:
https://bugs.llvm.org/show_bug.cgi?id=47415

Reviewers:
  MaskRay, arsenm

Differential Revision:
  https://reviews.llvm.org/D89166
The file was modifiedllvm/lib/Transforms/Scalar/Sink.cpp
The file was addedllvm/test/Transforms/Sink/dead-user.ll
Commit 09dbdcf15fa33be7e0f6b7e28d3118d95ab009df by stilis
[mlir, win] Mark several MLRI tests as unsupported on system-windows

They are currently marked as unsupported when windows is part of the triple, but they actually fail when they are run on Windows, so they are unsupported on system-windows

Reviewed By: rriddle

Differential Revision: https://reviews.llvm.org/D89169
The file was modifiedmlir/test/mlir-reduce/simple-test.mlir
The file was modifiedmlir/test/mlir-reduce/dce-test.mlir
The file was modifiedmlir/test/mlir-reduce/multiple-function.mlir
Commit f6fa4d07dcb47dcba04cf66d10e518678ce2826c by i
[bugpoint] Delete -safe-llc and make -run-llc work like -run-llc -safe-run-llc
The file was modifiedllvm/tools/bugpoint/ExecutionDriver.cpp
Commit 3c366740ca24bab0494a7f7319acfc8f851d21a9 by ajcbik
[mlir] [standard] fixed typo in comment

There is an atomic_rmw and a generic_atomic_rmw operation.
The doc of the latter incorrectly referred to former though.

Reviewed By: rriddle

Differential Revision: https://reviews.llvm.org/D89172
The file was modifiedmlir/include/mlir/Dialect/StandardOps/IR/Ops.td
Commit ea1f49741ec4c0a37796b88f6bb8d09d7ab1e8c3 by walter erquinigo
[intel pt] Refactor parsing

With the feedback I was getting in different diffs, I realized that splitting the parsing logic into two classes was not easy to deal with. I do see value in doing that, but I'd rather leave that as a refactor after most of the intel-pt logic is in place. Thus, I'm merging the common parser into the intel pt one, having thus only one that is fully aware of Intel PT during parsing and object creation.

Besides, based on the feedback in https://reviews.llvm.org/D88769, I'm creating a ThreadIntelPT class that will be able to orchestrate decoding of its own trace and can handle the stop events correctly.

This leaves the TraceIntelPT class as an initialization class that glues together different components. Right now it can initialize a trace session from a json file, and in the future will be able to initialize a trace session from a live process.

Besides, I'm renaming SettingsParser to SessionParser, which I think is a better name, as the json object represents a trace session of possibly many processes.

With the current set of targets, we have the following

- Trace: main interface for dealing with trace sessions
- TraceIntelPT: plugin Trace for dealing with intel pt sessions
- TraceIntelPTSessionParser: a parser of a json trace session file that can create a corresponding TraceIntelPT instance along with Targets, ProcessTraces (to be created in https://reviews.llvm.org/D88769), and ThreadIntelPT threads.
- ProcessTrace: (to be created in https://reviews.llvm.org/D88769) can handle the correct state of the traces as the user traverses the trace. I don't think there'll be a need an intel-pt specific implementation of this class.
- ThreadIntelPT: a thread implementation that can handle the decoding of its own trace file, along with keeping track of the current position the user is looking at when doing reverse debugging.

Differential Revision: https://reviews.llvm.org/D88841
The file was modifiedlldb/source/Plugins/Trace/intel-pt/TraceIntelPT.h
The file was addedlldb/include/lldb/Target/TraceSessionFileParser.h
The file was modifiedlldb/source/Target/CMakeLists.txt
The file was modifiedlldb/include/lldb/Core/PluginManager.h
The file was removedlldb/source/Plugins/Trace/intel-pt/TraceIntelPTSettingsParser.h
The file was modifiedlldb/source/Target/Trace.cpp
The file was modifiedlldb/source/Core/PluginManager.cpp
The file was addedlldb/source/Plugins/Trace/intel-pt/TraceIntelPTSessionFileParser.h
The file was removedlldb/source/Target/TraceSettingsParser.cpp
The file was modifiedlldb/source/Plugins/Trace/intel-pt/TraceIntelPT.cpp
The file was modifiedlldb/source/Commands/CommandObjectTrace.cpp
The file was addedlldb/source/Plugins/Trace/intel-pt/ThreadIntelPT.h
The file was addedlldb/source/Plugins/Trace/intel-pt/ThreadIntelPT.cpp
The file was modifiedlldb/include/lldb/lldb-forward.h
The file was modifiedlldb/source/Plugins/Trace/intel-pt/CMakeLists.txt
The file was removedlldb/source/Plugins/Trace/intel-pt/TraceIntelPTSettingsParser.cpp
The file was removedlldb/include/lldb/Target/TraceSettingsParser.h
The file was modifiedlldb/test/API/commands/trace/TestTraceSchema.py
The file was addedlldb/source/Plugins/Trace/intel-pt/TraceIntelPTSessionFileParser.cpp
The file was modifiedlldb/include/lldb/lldb-private-interfaces.h
The file was addedlldb/source/Target/TraceSessionFileParser.cpp
The file was modifiedlldb/include/lldb/Target/Trace.h
The file was modifiedlldb/test/API/commands/trace/TestTraceLoad.py
Commit a2b6c75ac0035461ad58930fad89c1fa6de271a0 by silvasean
[mlir] Rename BufferPlacement.h to Bufferize.h

Context: https://llvm.discourse.group/t/what-is-the-strategy-for-tensor-memref-conversion-bufferization/1938/14

Differential Revision: https://reviews.llvm.org/D89174
The file was modifiedmlir/lib/Dialect/Shape/Transforms/ShapeTypeConversion.cpp
The file was removedmlir/include/mlir/Transforms/BufferPlacement.h
The file was modifiedmlir/lib/Transforms/BufferPlacement.cpp
The file was modifiedmlir/test/lib/Transforms/TestBufferPlacement.cpp
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/TensorsToBuffers.cpp
The file was addedmlir/include/mlir/Transforms/Bufferize.h
Commit 6260cb1d4d15c1b3fae986f14f1abe5e891daac5 by clementval
[mlir][openacc] Introduce acc.exit_data operation

This patch introduces the acc.exit_data operation that represents an OpenACC Exit Data directive.
Operands and attributes are derived from clauses in the spec 2.6.6.

Reviewed By: kiranchandramohan

Differential Revision: https://reviews.llvm.org/D88969
The file was modifiedmlir/include/mlir/Dialect/OpenACC/OpenACCOps.td
The file was modifiedmlir/test/Dialect/OpenACC/invalid.mlir
The file was modifiedmlir/test/Dialect/OpenACC/ops.mlir
The file was modifiedmlir/lib/Dialect/OpenACC/IR/OpenACC.cpp
Commit 0232f2d36d0af5adb60c35774795e11eca0e9be2 by xiang1.zhang
[X86] Add CET test, NFC
The file was addedllvm/test/CodeGen/X86/cet_endbr_imm_enhance.ll
Commit 2bd4730850cc0f3ab7bd0c51b18c0a220e480dc7 by i
[PowerPC] Fix signed overflow in decomposeMulByConstant after D88201

Caught by multipliers LONG_MAX (after +1) and LONG_MIN (after -1) in CodeGen/PowerPC/mul-const-i64.ll
The file was modifiedllvm/lib/Target/PowerPC/PPCISelLowering.cpp
Commit e1c38dd55d9dab332ccabb7c83a80ca92c373af0 by zixuan.wu
[CSKY 1/n] Add basic stub or infra of csky backend

This patch introduce files that just enough for lib/Target/CSKY to compile.
Notably a basic CSKYTargetMachine and CSKYTargetInfo.

Differential Revision: https://reviews.llvm.org/D88466
The file was addedllvm/lib/Target/CSKY/TargetInfo/CMakeLists.txt
The file was addedllvm/lib/Target/CSKY/TargetInfo/LLVMBuild.txt
The file was addedllvm/lib/Target/CSKY/CSKYTargetMachine.cpp
The file was modifiedllvm/docs/CompilerWriterInfo.rst
The file was addedllvm/lib/Target/CSKY/LLVMBuild.txt
The file was addedllvm/lib/Target/CSKY/CSKYTargetMachine.h
The file was modifiedllvm/lib/Target/LLVMBuild.txt
The file was modifiedllvm/CODE_OWNERS.TXT
The file was addedllvm/lib/Target/CSKY/TargetInfo/CSKYTargetInfo.h
The file was addedllvm/lib/Target/CSKY/CMakeLists.txt
The file was addedllvm/lib/Target/CSKY/TargetInfo/CSKYTargetInfo.cpp
Commit 2b96dcebfae65485859d956954f10f409abaae79 by dantrushin
[Statepoints] Allow deopt GC pointer on VReg if gc-live bundle is empty.

Currently we allow passing pointers from deopt bundle on VReg only if
they were seen in list of gc-live pointers passed on VRegs.
This means that for the case of empty gc-live bundle we spill deopt
bundle's pointers. This change allows lowering deopt pointers to VRegs
in case of empty gc-live bundle. In case of non-empty gc-live bundle,
behavior does not change.

Reviewed By: skatkov

Differential Revision: https://reviews.llvm.org/D88999
The file was modifiedllvm/test/CodeGen/X86/statepoint-vreg-details.ll
The file was modifiedllvm/lib/CodeGen/SelectionDAG/StatepointLowering.cpp
Commit 5e855f1e8056ca0800134469ee82e0ff5ad5af59 by nikita.ppv
[MemCpyOpt] Don't hoist store that's not guaranteed to execute

MemCpyOpt can hoist stores while load+store pairs into memcpy.
This hoisting can currently result in stores being executed that
weren't guaranteed to execute in the original problem.

Differential Revision: https://reviews.llvm.org/D89154
The file was modifiedllvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
The file was modifiedllvm/test/Transforms/MemCpyOpt/fca2memcpy.ll
Commit 9909ef292daddccbd3b1154cec173014b847880a by uday
[mlir][scf] Fix a bug in scf::ForOp loop unroll with an epilogue

Fixes a bug in formation and simplification of an epilogue loop generated
during loop unroll of scf::ForOp (https://bugs.llvm.org/show_bug.cgi?id=46689)

Differential Revision: https://reviews.llvm.org/D87583
The file was addedmlir/test/Transforms/scf-loop-unroll.mlir
The file was modifiedmlir/lib/Transforms/Utils/LoopUtils.cpp
Commit f2741f2aeee5bfed621be67b6c7929e51317d3bc by david.green
[TblGen][Scheduling] Fix debug output. NFC

This just moves some newlines to the expected places.
The file was modifiedllvm/utils/TableGen/CodeGenSchedule.cpp
Commit 6d8eea61b18b5043bb510aa302d4576bbace3069 by david.green
[AArch64][LV] Move vectorizer test to Transforms/LoopVectorize/AArch64. NFC
The file was removedllvm/test/CodeGen/AArch64/loopvectorize_pr33804_double.ll
The file was addedllvm/test/Transforms/LoopVectorize/AArch64/loopvectorize_pr33804_double.ll
Commit 0db08e59c9d2d3b004ea61f96d823edff283ed25 by benny.kra
[clangd] Map bits/stdint-intn.h and bits/stdint-uintn.h to cstdint.

These are private glibc headers containing parts of the implementation
of stdint.h.
The file was modifiedclang-tools-extra/clangd/index/CanonicalIncludes.cpp
Commit 96bd4d34a220359662d21b0a60e74e15c3d19663 by AlokKumar.Sharma
[DebugInfo] Support for DWARF attribute DW_AT_rank

This patch adds support for DWARF attribute DW_AT_rank.

  Summary:
Fortran assumed rank arrays have dynamic rank. DWARF attribute
DW_AT_rank is needed to support that.

  Testing:
unit test cases added (hand-written)
check llvm
check debug-info

Reviewed By: aprantl

Differential Revision: https://reviews.llvm.org/D89141
The file was modifiedllvm/docs/LangRef.rst
The file was modifiedllvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp
The file was addedllvm/test/DebugInfo/X86/dwarfdump-rankExp.ll
The file was modifiedllvm/lib/IR/Verifier.cpp
The file was modifiedllvm/lib/Bitcode/Writer/BitcodeWriter.cpp
The file was addedllvm/test/DebugInfo/X86/dwarfdump-rankConst.ll
The file was addedllvm/test/Bitcode/rankConst.ll
The file was modifiedllvm/include/llvm/IR/DebugInfoMetadata.h
The file was modifiedllvm/unittests/IR/MetadataTest.cpp
The file was addedllvm/test/Bitcode/rankExp.ll
The file was modifiedllvm/lib/IR/LLVMContextImpl.h
The file was modifiedllvm/lib/AsmParser/LLParser.cpp
The file was addedllvm/test/Verifier/array_rank.ll
The file was modifiedllvm/lib/IR/AsmWriter.cpp
The file was modifiedllvm/lib/IR/DebugInfoMetadata.cpp
The file was modifiedllvm/lib/Bitcode/Reader/MetadataLoader.cpp
The file was modifiedllvm/unittests/IR/DebugTypeODRUniquingTest.cpp
Commit cb27006a9461b78b3f7e9128af22ba6311665c70 by david.green
[ARM] Attempt to make Tail predication / RDA more resilient to empty blocks

There are a number of places in RDA where we assume the block will not
be empty. This isn't necessarily true for tail predicated loops where we
have removed instructions. This attempt to make the pass more resilient
to empty blocks, not casting pointers to machine instructions where they
would be invalid.

The test contains a case that was previously failing, but recently been
hidden on trunk. It contains an empty block to begin with to show a
similar error.

Differential Revision: https://reviews.llvm.org/D88926
The file was modifiedllvm/lib/CodeGen/ReachingDefAnalysis.cpp
The file was addedllvm/test/CodeGen/Thumb2/LowOverheadLoops/emptyblock.mir
The file was modifiedllvm/lib/Target/ARM/ARMLowOverheadLoops.cpp
Commit 329dbdaaafd8d78901c4e0c197cda919fda8e5e6 by nikita.ppv
[MemCpyOpt] Add test for incorrect memset DSE (NFC)

We can't shorten the memset if there's a throwing call in between
and the destination is non-local.
The file was modifiedllvm/test/Transforms/MemCpyOpt/memset-memcpy-redundant-memset.ll
Commit 2c6fc28aba749e1316ba29999ec5d1f3a44e07df by flo
[SCEV] Add a test case with ULE loop guard.
The file was modifiedllvm/test/Analysis/ScalarEvolution/max-backedge-taken-count-guard-info.ll
Commit 2e9fd754b41cba2253c066e9e8a7ab4770432550 by flo
[SCEV] Handle ULE in applyLoopGuards.

Handle ULE predicate in similar fashion to ULT predicate in
applyLoopGuards.
The file was modifiedllvm/test/Analysis/ScalarEvolution/max-backedge-taken-count-guard-info.ll
The file was modifiedllvm/lib/Analysis/ScalarEvolution.cpp
Commit d48b249b71628f3a73540734f50c6aae21828566 by flo
[SCEV] Add test cases where the max BTC is imprecise, due to step != 1.

Add a test case where we fail to compute a tight max backedge taken
count, due to the step being != 1.

This is part of the issue with PR40961.
The file was modifiedllvm/test/Analysis/ScalarEvolution/max-backedge-taken-count-guard-info.ll
Commit 666ef0db208bb3880115bdc133e72e954ed55300 by tim.renouf
[AMDGPU] Add gfx602, gfx705, gfx805 targets

At AMD, in an internal audit of our code, we found some corner cases
where we were not quite differentiating targets enough for some old
hardware. This commit is part of fixing that by adding three new
targets:

* The "Oland" and "Hainan" variants of gfx601 are now split out into
  gfx602. LLPC (in the GPUOpen driver) and other front-ends could use
  that to avoid using the shaderZExport workaround on gfx602.

* One variant of gfx703 is now split out into gfx705. LLPC and other
  front-ends could use that to avoid using the
  shaderSpiCsRegAllocFragmentation workaround on gfx705.

* The "TongaPro" variant of gfx802 is now split out into gfx805.
  TongaPro has a faster 64-bit shift than its former friends in gfx802,
  and a subtarget feature could be set up for that to take advantage of
  it. This commit does not make that change; it just adds the target.

V2: Add clang changes. Put TargetParser list in order.
V3: AMDGCNGPUs table in TargetParser.cpp needs to be in GPUKind order,
    so fix the GPUKind order.

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

Change-Id: Ia901a7157eb2f73ccd9f25dbacec38427312377d
The file was modifiedclang/include/clang/Basic/Cuda.h
The file was modifiedllvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.cpp
The file was modifiedclang/test/Misc/target-invalid-cpu-note.c
The file was modifiedllvm/test/CodeGen/AMDGPU/elf-header-flags-mach.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/directive-amdgcn-target.ll
The file was modifiedclang/lib/Basic/Cuda.cpp
The file was modifiedclang/test/Driver/cuda-arch-translation.cu
The file was modifiedclang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
The file was modifiedclang/lib/Basic/Targets/AMDGPU.cpp
The file was modifiedllvm/tools/llvm-readobj/ELFDumper.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPU.td
The file was modifiedclang/test/CodeGenOpenCL/amdgpu-features.cl
The file was modifiedllvm/include/llvm/Support/TargetParser.h
The file was modifiedllvm/test/Object/AMDGPU/elf-header-flags-mach.yaml
The file was modifiedllvm/docs/AMDGPUUsage.rst
The file was modifiedllvm/test/tools/llvm-readobj/ELF/amdgpu-elf-headers.test
The file was modifiedllvm/lib/Object/ELFObjectFile.cpp
The file was modifiedllvm/include/llvm/BinaryFormat/ELF.h
The file was modifiedclang/lib/Basic/Targets/NVPTX.cpp
The file was modifiedclang/test/Driver/amdgpu-mcpu.cl
The file was modifiedllvm/lib/Target/AMDGPU/GCNProcessors.td
The file was modifiedclang/test/Driver/amdgpu-macros.cl
The file was modifiedllvm/lib/Support/TargetParser.cpp
The file was modifiedllvm/lib/ObjectYAML/ELFYAML.cpp
Commit d89de5a14e5a28a6085f8af136118c4a268d0aa0 by listmail
Step down from security group

Resigning from security group as Azul representative as I have left Azul.  Previously communicated via email with security group.

Differential Revision: https://reviews.llvm.org/D88933
The file was modifiedllvm/docs/Security.rst
Commit d83cd73e9ddf9ba4cc5754560ef9a2abaaa30749 by mgorny
[lldb] [Process/FreeBSD] Mark methods override in RegisterContext*

Differential Revision: https://reviews.llvm.org/D89181
The file was modifiedlldb/source/Plugins/Process/FreeBSD/RegisterContextPOSIXProcessMonitor_arm.h
The file was modifiedlldb/source/Plugins/Process/FreeBSD/RegisterContextPOSIXProcessMonitor_powerpc.h
The file was modifiedlldb/source/Plugins/Process/FreeBSD/RegisterContextPOSIXProcessMonitor_x86.h
The file was modifiedlldb/source/Plugins/Process/FreeBSD/RegisterContextPOSIXProcessMonitor_mips64.h
The file was modifiedlldb/source/Plugins/Process/FreeBSD/RegisterContextPOSIXProcessMonitor_arm64.h
Commit 9a37587ee33bcf2fe27b49f48c9ddd8128f8ac13 by mgorny
[lldb] [Process/FreeBSDRemote] Kill process via PT_KILL

Use PT_KILL to kill the stopped process.  This ensures that the process
termination is reported properly and fixes delay/error on killing it.

Differential Revision: https://reviews.llvm.org/D89182
The file was modifiedlldb/source/Plugins/Process/FreeBSDRemote/NativeProcessFreeBSD.cpp
Commit 8dc2faf642b720c7abad06fd4cea51e6b4333cfe by mgorny
[lldb] [Process/FreeBSDRemote] Fix double semicolon
The file was modifiedlldb/source/Plugins/Process/FreeBSDRemote/NativeProcessFreeBSD.cpp
Commit 803b71233078d979c15bb4dabc9a8459a3567be5 by llvm-dev
[InstCombine] Add test case showing rotate intrinsic being split by SimplifyDemandedBits

Noticed while triaging regression report on D88834
The file was modifiedllvm/test/Transforms/InstCombine/fsh.ll
Commit f2e08c688e6c3223d14c4817c5ce0b55c03a8d1b by llvm-dev
[PowerPC] Add ppc32 funnel shift test coverage
The file was modifiedllvm/test/CodeGen/PowerPC/funnel-shift.ll
The file was modifiedllvm/test/CodeGen/PowerPC/funnel-shift-rot.ll
Commit abaca237c519a406ab00606b0464c32079831803 by martin
[lldb] [Windows] Add missing 'override', silencing warnings. NFC.

Also remove superfluous 'virtual' in overridden methods.
The file was modifiedlldb/include/lldb/Host/windows/HostThreadWindows.h
The file was modifiedlldb/include/lldb/Host/windows/ProcessLauncherWindows.h
The file was modifiedlldb/source/Plugins/Process/Windows/Common/NativeProcessWindows.h
Commit 5d330f435e12d4a7f97cde406d29ce7413f96b47 by martin
[lldb] [Windows] Remove unused functions. NFC.

These became unused in 51117e3c51754f3732e.
The file was modifiedlldb/source/Host/windows/Windows.cpp
Commit 4af6c6bf3c28d2bfb220e7a0226908613f88a1b6 by kparzysz
Define splat_vector for ISD::SPLAT_VECTOR in TargetSelectionDAG.td
The file was modifiedllvm/include/llvm/Target/TargetSelectionDAG.td
Commit 2c3e4a21f93d5cd93321db08add991f992a64f18 by llvm-dev
[PowerPC] ReplaceNodeResults - bail on funnel shifts and let generic legalizers deal with it

Fixes regression raised on D88834 for 32-bit triple + 64-bit cpu cases (which apparently is a thing).
The file was modifiedllvm/test/CodeGen/PowerPC/funnel-shift-rot.ll
The file was modifiedllvm/lib/Target/PowerPC/PPCISelLowering.cpp
The file was modifiedllvm/test/CodeGen/PowerPC/funnel-shift.ll
Commit f68d174c16217dd28858af2ce9ce5f33ac8af756 by llvm-dev
Remove %tmp variables from test cases to appease update_test_checks.py
The file was modifiedllvm/test/Transforms/InstCombine/fsh.ll
Commit 3aab3cbd4a1aa1683a81367868f9489f159da1f1 by llvm-dev
[InstCombine] getLogBase2 - no need to specify Type. NFCI.

In all the getLogBase2 uses, the specified Type is always the same as the constant being folded.
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
Commit d0c8d58527b07d8609961ea1f084d69ce0fcd3a8 by alex
Fix CMake configuration error when run with -Werror/-Wall

The following code doesn't compile

  uint64_t i = x.load(std::memory_order_relaxed);
  return 0;

when CMAKE_C_FLAGS set to -Werror -Wall, thus incorrectly
breaking the CMake configuration step:

  -- Looking for __atomic_load_8 in atomic
  -- Looking for __atomic_load_8 in atomic - not found
  CMake Error at cmake/modules/CheckAtomic.cmake:79 (message):
    Host compiler appears to require libatomic for 64-bit operations, but
    cannot find it.
  Call Stack (most recent call first):
    cmake/config-ix.cmake:360 (include)
    CMakeLists.txt:671 (include)
The file was modifiedllvm/cmake/modules/CheckAtomic.cmake
Commit 702ccb40e2d7e832ff6dce84007b82e764f116ac by llvm-dev
[InstCombine] getLogBase2(undef) -> 0.

Move the undef element handling into the getLogBase2 helper instead of pre-empting with replaceUndefsWith.
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
Commit a8682554c6662ce01853d0069afb6c5b4ef8ab55 by i
[X86] Delete redundant 'static' from namespace scope 'static constexpr'. NFC

This decreases 7 lines as the result of packing more bits on one line.
The file was modifiedllvm/lib/Support/X86TargetParser.cpp
Commit 61eaa2e14aed2f357eaa72ef7bd3a8876bbce598 by kparzysz
[SDAG] Remember to set UndefElts in isSplatValue for SPLAT_VECTOR
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
Commit 9237e73ae8a359b8616b04d225aff1cd3e93938b by kparzysz
[Hexagon] Replace HexagonISD::VSPLAT with ISD::SPLAT_VECTOR

This removes VSPLAT and VZERO. VZERO is now SPLAT_VECTOR of (i32 0).

Included is also a testcase for the previous (target-independent)
commit.
The file was modifiedllvm/lib/Target/Hexagon/HexagonISelLoweringHVX.cpp
The file was modifiedllvm/test/CodeGen/Hexagon/vect/vect-vsplath.ll
The file was modifiedllvm/lib/Target/Hexagon/HexagonPatternsHVX.td
The file was addedllvm/test/CodeGen/Hexagon/isel-splat-vector-crash.ll
The file was modifiedllvm/test/CodeGen/Hexagon/vect/vect-cst-v4i32.ll
The file was addedllvm/test/CodeGen/Hexagon/isel-splat-vector-dag-crash.ll
The file was modifiedllvm/lib/Target/Hexagon/HexagonISelLowering.h
The file was modifiedllvm/lib/Target/Hexagon/HexagonPatterns.td
The file was modifiedllvm/lib/Target/Hexagon/HexagonISelLowering.cpp
Commit 375849518db97096212f7f2b996b0d15f97be959 by craig.topper
[X86] Add a X86ISD::BEXTRI to distinquish the case where the control must be a constant.

The bextri intrinsic has a ImmArg attribute which will be converted
in SelectionDAG using TargetConstant. We previously converted this
to a plain Constant to allow X86ISD::BEXTR to call SimplifyDemandedBits
on it.

But while trying to decide if D89178 was safe, I realized that
this conversion of TargetConstant to Constant would be one case
where that would break.

So this patch adds a new opcode specifically for the immediate case.
And then teaches computeKnownBits and SimplifyDemandedBits to also
handle it, but not try to SimplifyDemandedBits on it. To make up
for that, I immediately masked the constant to 16 bits when
converting from the intrinsic node to the X86ISD node.
The file was modifiedllvm/lib/Target/X86/X86IntrinsicsInfo.h
The file was modifiedllvm/lib/Target/X86/X86InstrInfo.td
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.h
Commit 7f1b2a61250a4fe206aac974478471eee42d1e73 by craig.topper
[X86] AMX intrinsics should have ImmArg for the register numbers and use timm in isel patterns.
The file was modifiedllvm/include/llvm/IR/IntrinsicsX86.td
The file was modifiedllvm/lib/Target/X86/X86InstrAMX.td
Commit 9895327914abbd93d4db4e8660b06365ff1a90d5 by craig.topper
[X86] Redefine X86ISD::PEXTRB/W and X86ISD::PINSRB/PINSRW to use a i8 TargetConstant for the immediate instead of a ptr constant.

This is more consistent with other target specific ISD opcodes that
require immediates.
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/lib/Target/X86/X86InstrSSE.td
The file was modifiedllvm/lib/Target/X86/X86InstrFragmentsSIMD.td
The file was modifiedllvm/lib/Target/X86/X86InstrAVX512.td
Commit 667dfe39caa0023b1d00b3e126c7df57702aaf14 by xun
[Coroutines] Refactor/Rewrite Spill and Alloca processing

This patch is a refactoring of how we process spills and allocas during CoroSplit.
In the previous implementation, everything that needs to go to the heap is put into Spills, including all the values defined by allocas.
And the way to identify a Spill, is to check whether there exists a use-def relationship that crosses suspension points.

This approach is fundamentally confusing, and unfortunately, incorrect.
First of all, allocas are always process differently than spills, hence it's quite confusing to put them together. It's a much cleaner to separate them and process them separately.
Doing so simplify lots of code and makes the logic more clear and easier to reason about.

Secondly, use-def relationship is insufficient to decide whether a value defined by AllocaInst needs to go to the heap.
There are many cases where a value defined by AllocaInst can implicitly be used across suspension points without a direct use-def relationship.
For example, you can store the address of an alloca into the heap, and load that address after suspension. Or you can escape the address into an object through a function call.
Or you can have a PHINode that takes two allocas, and this PHINode is used across suspension point (when this happens, the existing implementation will spill the PHINode, a.k.a a stack adddress to the heap!).
All these issues suggest that we need to separate spill and alloca in order to properly implement this.
This patch does not yet fix these bugs, however it sets up the code in a better shape so that we can start fixing them in the next patch.

The core idea of this patch is to add a new struct called FrameDataInfo, which contains all Spills, all Allocas, and a map from each definition to its layout index in the frame (FieldIndexMap).
Spills and Allocas are identified, stored and processed independently. When they are initially added to the frame, we record their field index through FieldIndexMap. When the frame layout is finalized, we update each index into their final layout index.

In doing so, I also cleaned up a few things and also discovered a few other bugs.

Cleanups:
1. Found out that PromiseFieldId is not used, delete it.
2. Previously, SpillInfo is a vector, which is strange because every def can have multiple users. This patch cleans it up by turning it into a map from def to users.
3. Previously, a frame Field struct contains a list of Spills that field corresponds to. This isn't necessary since we only need the layout index for each given definition. This patch removes that list. Instead, we connect each field and definition using the FieldIndexMap.
4. All the loops that process Spills are simplified now because we use a map instead of a vector.

Bugs:
It seems that we are only keeping llvm.dbg.declare intrinsics in the .resume part of the function. The ramp function will no longer has it. This means we are dropping some debug information in the ramp function.

The next step is to start fixing the bugs where the implementation fails to identify some allocas that should live on the frame.

Differential Revision: https://reviews.llvm.org/D88872
The file was modifiedllvm/test/Transforms/Coroutines/coro-frame-reuse-alloca-02.ll
The file was modifiedllvm/test/Transforms/Coroutines/coro-frame-reuse-alloca-01.ll
The file was modifiedllvm/test/Transforms/Coroutines/coro-debug-frame-variable.ll
The file was modifiedllvm/test/Transforms/Coroutines/coro-split-sink-lifetime-03.ll
The file was modifiedllvm/lib/Transforms/Coroutines/CoroFrame.cpp
The file was modifiedllvm/test/Transforms/Coroutines/coro-debug.ll
The file was modifiedllvm/lib/Transforms/Coroutines/CoroInternal.h
The file was modifiedllvm/test/Transforms/Coroutines/coro-split-sink-lifetime-01.ll
The file was modifiedllvm/test/Transforms/Coroutines/coro-split-sink-lifetime-04.ll
The file was modifiedllvm/test/Transforms/Coroutines/coro-retcon-once-value2.ll
The file was modifiedllvm/test/Transforms/Coroutines/coro-frame-arrayalloca.ll
The file was modifiedllvm/test/Transforms/Coroutines/coro-retcon-frame.ll
Commit 93377888ae89560ba6d3976e2762d3d4724c4dfd by tobias.gysi
[mlir] add scf.if op canonicalization pattern that removes unused results

The patch adds a canonicalization pattern that removes the unused results of scf.if operation. As a result, cse may remove unused computations in the then and else regions of the scf.if operation.

Reviewed By: mehdi_amini

Differential Revision: https://reviews.llvm.org/D89029
The file was modifiedmlir/test/Dialect/SCF/canonicalize.mlir
The file was modifiedmlir/include/mlir/Dialect/SCF/SCFOps.td
The file was modifiedmlir/lib/Dialect/SCF/SCF.cpp
Commit b752daa26b641550e1d5b99d4b89230011c2c0cc by llvm-dev
[InstCombine] Replace getLogBase2 internal helper with ConstantExpr::getExactLogBase2. NFCI.

This exposes the helper for other power-of-2 instcombine folds that I'm intending to add vector support to.

The helper only operated on power-of-2 constants so getExactLogBase2 is a more accurate name.
The file was modifiedllvm/include/llvm/IR/Constants.h
The file was modifiedllvm/lib/IR/Constants.cpp
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
Commit b97093e520036f88c5b39e572966f1c8c387661e by llvm-dev
[InstCombine] matchFunnelShift - fold or(shl(a,x),lshr(b,sub(bw,x))) -> fshl(a,b,x) iff x < bw

If value tracking can confirm that a shift value is less than the type bitwidth then we can more confidently fold general or(shl(a,x),lshr(b,sub(bw,x))) patterns to a funnel/rotate intrinsic pattern without causing bad codegen regressions in the backend (see D89139).

Differential Revision: https://reviews.llvm.org/D88783
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
The file was modifiedllvm/test/Transforms/InstCombine/rotate.ll
The file was modifiedllvm/test/Transforms/InstCombine/funnel.ll
Commit 7c71b44980b98856f36ef208531050dcc4f0ea1a by llvm-dev
[InstCombine] Remove accidental unnecessary ConstantExpr qualification added in rGb752daa26b64155

MSVC didn't complain but everything else did....
The file was modifiedllvm/include/llvm/IR/Constants.h
Commit 913d7a110efaad06888523d17e03b2833fc83ed2 by llvm-dev
[X86][SSE2] Use smarter instruction patterns for lowering UMIN/UMAX with v8i16.

This is my first LLVM patch, so please tell me if there are any process issues.

The main observation for this patch is that we can lower UMIN/UMAX with v8i16 by using unsigned saturated subtractions in a clever way. Previously this operation was lowered by turning the signbit of both inputs and the output which turns the unsigned minimum/maximum into a signed one.

We could use this trick in reverse for lowering SMIN/SMAX with v16i8 instead. In terms of latency/throughput this is the needs one large move instruction. It's just that the sign bit turning has an increased chance of being optimized further. This is particularly apparent in the "reduce" test cases. However due to the slight regression in the single use case, this patch no longer proposes this.

Unfortunately this argument also applies in reverse to the new lowering of UMIN/UMAX with v8i16 which regresses the "horizontal-reduce-umax", "horizontal-reduce-umin", "vector-reduce-umin" and "vector-reduce-umax" test cases a bit with this patch. Maybe some extra casework would be possible to avoid this. However independent of that I believe that the benefits in the common case of just 1 to 3 chained min/max instructions outweighs the downsides in that specific case.

Patch By: @TomHender (Tom Hender) ActuallyaDeviloper

Differential Revision: https://reviews.llvm.org/D87236
The file was modifiedllvm/test/CodeGen/X86/horizontal-reduce-umax.ll
The file was modifiedllvm/test/CodeGen/X86/midpoint-int-vec-128.ll
The file was modifiedllvm/test/CodeGen/X86/vec_minmax_uint.ll
The file was modifiedllvm/test/Analysis/CostModel/X86/arith-uminmax.ll
The file was modifiedllvm/test/CodeGen/X86/machine-combiner-int-vec.ll
The file was modifiedllvm/test/CodeGen/X86/sat-add.ll
The file was modifiedllvm/test/CodeGen/X86/horizontal-reduce-umin.ll
The file was modifiedllvm/test/CodeGen/X86/umax.ll
The file was modifiedllvm/test/CodeGen/X86/umin.ll
The file was modifiedllvm/test/CodeGen/X86/vector-trunc-usat.ll
The file was modifiedllvm/test/CodeGen/X86/masked_store_trunc_usat.ll
The file was modifiedllvm/lib/Target/X86/X86TargetTransformInfo.cpp
The file was modifiedllvm/test/CodeGen/X86/vselect-minmax.ll
The file was modifiedllvm/test/CodeGen/X86/vector-reduce-umax.ll
The file was modifiedllvm/test/CodeGen/X86/vector-reduce-umin.ll
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
Commit c7f3bc87d3e5442bfbbb08133e3cc634d6ae466f by llvm-dev
Fix Wdocumentation warning. NFCI.

Add a space after /param names before any commas otherwise the doxygen parsers get confused.
The file was modifiedllvm/include/llvm/Object/MachOUniversalWriter.h
Commit 86f69689f9461a2ffc8a990eac05f146d1d662c7 by marukawa
[VE][NFC] Clean VEISelLowering.cpp

Clean the order of setOperationActions and others.

Differential Revision: https://reviews.llvm.org/D89203
The file was modifiedllvm/lib/Target/VE/VEISelLowering.cpp
Commit c5138e61e16aeee24216f4006bcf9cb6c12d28fd by spatel
[InstCombine] add/adjust tests for add+xor -> shifts; NFC
The file was modifiedllvm/test/Transforms/InstCombine/signext.ll
Commit 85c7653d92a8c8585aded983cd3e220c40e2447c by spatel
[InstCombine] add tests with extra uses for add+xor transform; NFC
The file was modifiedllvm/test/Transforms/InstCombine/signext.ll
Commit f81200ae9959e0b0c66a2191f30afb8dd5bf7afa by spatel
[InstCombine] add one-use check to add+xor transform

As shown in the affected test, we could increase instruction
count without this limitation. There's another test with extra
use that shows we still convert directly to a real "sext" if
possible.
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
The file was modifiedllvm/test/Transforms/InstCombine/signext.ll
Commit 3f3356bdd9c7188530f6582b4a407469131ae679 by spatel
[InstCombine] allow vector splats for add+xor --> shifts
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
The file was modifiedllvm/test/Transforms/InstCombine/signext.ll
Commit bdb193a6ed32edbedbcbe2e9e34d2c7d23ae7815 by nikita.ppv
[MemCpyOpt] Add additional byval tests (NFC)

Test read/write clobbers and the the non-local case.
The file was modifiedllvm/test/Transforms/MemCpyOpt/memcpy.ll
Commit 8f2cacae67f39a77cbcdf4f5d66e5fa15c1ccee7 by david.green
[LV] Extra predicated inloop reduction tests. NFC
The file was addedllvm/test/Transforms/LoopVectorize/reduction-inloop-pred.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/reduction-inloop-uf4.ll
Commit d7186fe3710828fab03de69f78f01f001d70e1aa by nikita.ppv
[MemCpyOpt] Add lifetime may alias test (NFC)

Test the case where a lifetime intrinsic may alias the memcpy
source. Other cases test must or no alias.
The file was modifiedllvm/test/Transforms/MemCpyOpt/memcpy-undef.ll
Commit 32d565b4618d31511e79dbe77aae8d456f2bf466 by Zinovy Nis
[clang-tidy] Fix crash in readability-function-cognitive-complexity on weak refs

Fix for https://bugs.llvm.org/show_bug.cgi?id=47779

Differential Revision: https://reviews.llvm.org/D89194
The file was modifiedclang-tools-extra/clang-tidy/readability/FunctionCognitiveComplexityCheck.cpp
The file was modifiedclang/include/clang/ASTMatchers/ASTMatchers.h
The file was modifiedclang/docs/LibASTMatchersReference.html
The file was modifiedclang/lib/ASTMatchers/Dynamic/Registry.cpp
The file was modifiedclang-tools-extra/test/clang-tidy/checkers/readability-function-cognitive-complexity.cpp
Commit be6e8e50f4170303e989daea941e8295d9934c66 by david.green
[LV] Tail folded inloop reductions.

This expands upon the inloop reductions added in e9761688e41cb9e976,
allowing them to be inserted into tail folded loops. Reductions are
generates with the form:

  x = select(mask, vecop, zero)
  v = vecreduce.add(x)
  c = add chain, v

Where zero here is chosen as the identity value for add reductions. The
backend is then expected to fold the select and the vecreduce into a
single predicated instruction.

Most of the code is fairly straight forward, except for the creation of
blockmasks which need to ensure they are created in dominance order. The
order they are added is altered to be after any phis, keeping the
requirements for the underlying IR.

Differential Revision: https://reviews.llvm.org/D84451
The file was modifiedllvm/lib/Analysis/IVDescriptors.cpp
The file was modifiedllvm/test/Transforms/LoopVectorize/reduction-inloop-pred.ll
The file was modifiedllvm/lib/Transforms/Vectorize/VPlan.h
The file was modifiedllvm/test/Transforms/LoopVectorize/ARM/mve-reductions.ll
The file was modifiedllvm/lib/Transforms/Vectorize/LoopVectorize.cpp
The file was modifiedllvm/test/Transforms/LoopVectorize/ARM/mve-reduction-predselect.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/X86/vect.omp.force.small-tc.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/reduction-inloop-uf4.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/X86/optsize.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/optsize.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/X86/tail_loop_folding.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/reduction-order.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/X86/x86-interleaved-accesses-masked-group.ll
The file was modifiedllvm/include/llvm/Analysis/IVDescriptors.h
The file was modifiedllvm/test/Transforms/LoopVectorize/ARM/mve-reduction-types.ll
The file was modifiedllvm/lib/Transforms/Vectorize/VPlan.cpp
The file was modifiedllvm/test/Transforms/LoopVectorize/ARM/mve-gather-scatter-tailpred.ll
Commit cbe4d973edadba7664ab8783770fa51742cd93b9 by i
[X86] Define __LAHF_SAHF__ if feature 'sahf' is set or 32-bit mode

GCC 11 will define this macro.

In LLVM, the feature flag only applies to 64-bit mode and we always define the
macro in 32-bit mode. This is different from GCC -m32 in which -mno-sahf can
suppress the macro. The discrepancy can unlikely cause trouble.

Reviewed By: craig.topper

Differential Revision: https://reviews.llvm.org/D89198
The file was modifiedclang/lib/Basic/Targets/X86.cpp
The file was modifiedclang/test/Preprocessor/predefined-arch-macros.c
Commit 544a6aa2674e3875e4014eafb101a982f9296439 by lebedev.ri
[InstCombine] combineLoadToOperationType(): don't fold int<->ptr cast into load

And another step towards transforms not introducing inttoptr and/or
ptrtoint casts that weren't there already.

As we've been establishing (see D88788/D88789), if there is a int<->ptr cast,
it basically must stay as-is, we can't do much with it.

I've looked, and the most source of new such casts being introduces,
as far as i can tell, is this transform, which, ironically,
tries to reduce count of casts..

On vanilla llvm test-suite + RawSpeed, @ `-O3`, this results in
-33.58% less `IntToPtr`s (19014 -> 12629)
and +76.20% more `PtrToInt`s (18589 -> 32753),
which is an increase of +20.69% in total.

However just on RawSpeed, where i know there are basically
none `IntToPtr` in the original source code,
this results in -99.27% less `IntToPtr`s (2724 -> 20)
and +82.92% more `PtrToInt`s (4513 -> 8255).
which is again an increase of 14.34% in total.

To me this does seem like the step in the right direction,
we end up with strictly less `IntToPtr`, but strictly more `PtrToInt`,
which seems like a reasonable trade-off.

See https://reviews.llvm.org/D88860 / https://reviews.llvm.org/D88995
for some more discussion on the subject.

(Eventually, `CastInst::isNoopCast()`/`CastInst::isEliminableCastPair`
should be taught about this, yes)

Reviewed By: nlopes, nikic

Differential Revision: https://reviews.llvm.org/D88979
The file was modifiedllvm/test/Transforms/InstCombine/memset_chk-1.ll
The file was modifiedllvm/test/Transforms/InstCombine/load-bitcast32.ll
The file was modifiedllvm/test/Transforms/InstCombine/intptr1.ll
The file was modifiedllvm/test/Transforms/InstCombine/PR30597.ll
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp
The file was modifiedclang/test/CodeGen/arm64_32-vaarg.c
The file was modifiedllvm/test/Transforms/InstCombine/load-bitcast64.ll
Commit f82346fd7391fdd15b77355deb6f7c030a89dcb5 by zeratul976
[clangd] Avoid relations being overwritten in a header shard

Fixes https://github.com/clangd/clangd/issues/510

Differential Revision: https://reviews.llvm.org/D87256
The file was modifiedclang-tools-extra/clangd/index/FileIndex.cpp
The file was modifiedclang-tools-extra/clangd/unittests/FileIndexTests.cpp
The file was modifiedclang-tools-extra/clangd/unittests/BackgroundIndexTests.cpp
Commit 8178e41dc1a395fc0a99f945bf27fbfca871d3e5 by tpopp
[mlir] Type erase inputs to select statements in shape.broadcast lowering.

This is required or broadcasting with operands of different ranks will lead to
failures as the select op requires both possible outputs and its output type to
be the same.

Differential Revision: https://reviews.llvm.org/D89134
The file was modifiedmlir/lib/Conversion/ShapeToStandard/ShapeToStandard.cpp
The file was modifiedmlir/test/Conversion/ShapeToStandard/shape-to-standard.mlir
Commit a9cefc3deee04566735351c27194a9693742aadf by i
[ELF] Fix broken bitstream linking with lld when e_machine > 255

In ELF/InputFiles.cpp, getBitcodeMachineKind() is limited to uint8_t return
type. This works as long as EM_xxx is < 256, which is true for common
architectures, but not for some newly assigned or unofficial EM_* values.

The corresponding ELF field (e_machine) can hold uint16_t.

Reviewed By: MaskRay

Differential Revision: https://reviews.llvm.org/D89185
The file was modifiedlld/ELF/InputFiles.cpp
Commit c25da4b04ae1eafa27623717a032de3d62ffc803 by richard
Fix arc lint's clang-format rule: only format the file we were asked to format.

This avoids diffs being applied in the work tree to files that are
supposed to be excluded (clang tests), allows arc to properly provide
interactive feedback for the formatting fixes, and reduces the number of
files that we format, in a change affecting N files, from N^2 to N.
The file was modifiedutils/arcanist/clang-format.sh
Commit 9e72d3eaf38f217698f72cb8fdc969a6e72dad3a by craig.topper
[ValueTracking] Use KnownBits::countMaxLeadingZeros/countMaxTrailingZeros to make code more readable. NFC
The file was modifiedllvm/lib/Analysis/ValueTracking.cpp
Commit 849c60541b630ddf8cabf9179fa771b3f4207ec8 by richard
PR47792: Include the type of a pointer or reference non-type template
parameter in its notion of template argument identity.

We already did this for all the other kinds of non-type template
argument. We're still missing the type from the mangling, so we continue
to be able to see collisions at link time; that's an open ABI issue.
The file was modifiedclang/lib/AST/ASTContext.cpp
The file was modifiedclang/lib/AST/TemplateBase.cpp
The file was modifiedclang/test/SemaTemplate/temp_arg_nontype_cxx1z.cpp
Commit 4b011901229c9c6397651a03e16c5f5b98a8412c by clementval
[mlir][openacc] Introduce acc.enter_data operation

This patch introduces the acc.enter_data operation that represents an OpenACC Enter Data directive.
Operands and attributes are dervied from clauses in the spec 2.6.6.

Reviewed By: kiranchandramohan

Differential Revision: https://reviews.llvm.org/D88941
The file was modifiedmlir/include/mlir/Dialect/OpenACC/OpenACCOps.td
The file was modifiedmlir/lib/Dialect/OpenACC/IR/OpenACC.cpp
The file was modifiedmlir/test/Dialect/OpenACC/ops.mlir
The file was modifiedmlir/test/Dialect/OpenACC/invalid.mlir
Commit 6f7e1ce2143e0f06208206dfa57bf9c81275920e by qiucofan
[NFC] Move PPC strict-fp MIR test to dedicated file

fp-strict-conv-f128.ll is generated by script, but some manual MIR tests
exist in it. Move them to another file to satisfy script when updating.
The file was modifiedllvm/test/CodeGen/PowerPC/fp-strict-conv-f128.ll
The file was modifiedllvm/test/CodeGen/PowerPC/nofpexcept.ll
Commit ba2dff0159fcd1d2349bc610331914618ca9bc30 by Jonas Devlieghere
Revert "PR47792: Include the type of a pointer or reference non-type template"

This reverts commit 849c60541b630ddf8cabf9179fa771b3f4207ec8 because it
results in a stage 2 build failure:

llvm-project/clang/include/clang/AST/ExternalASTSource.h:409:20: error:
definition with same mangled name
'_ZN5clang25LazyGenerationalUpdatePtrIPKNS_4DeclEPS1_XadL_ZNS_17ExternalASTSource19CompleteRedeclChainES3_EEE9makeValueERKNS_10ASTContextES4_'
as another definition

  static ValueType makeValue(const ASTContext &Ctx, T Value);
The file was modifiedclang/test/SemaTemplate/temp_arg_nontype_cxx1z.cpp
The file was modifiedclang/lib/AST/ASTContext.cpp
The file was modifiedclang/lib/AST/TemplateBase.cpp
Commit cddb49bcc0b2853f594e4245977f6c89c75384c8 by i
[SchedDAGInstrs] Delete redundant contains(). NFC
The file was modifiedllvm/lib/CodeGen/ScheduleDAGInstrs.cpp
Commit cec49a583693752b3984e49f9c193de07c2a7698 by rjmccall
Revert "[SYCL] Implement __builtin_unique_stable_name."

This reverts commit b5a034e771d0e4d7d8e71fc545b230d98e5a1f42.

This feature was added without following the proper process.
The file was modifiedclang/lib/Sema/SemaExpr.cpp
The file was removedclang/test/ParserSYCL/unique-stable-name.cpp
The file was modifiedclang/lib/AST/ItaniumMangle.cpp
The file was modifiedclang/test/Analysis/eval-predefined-exprs.cpp
The file was modifiedclang/include/clang/Parse/Parser.h
The file was modifiedclang/lib/Parse/ParseExpr.cpp
The file was modifiedclang/include/clang/AST/Expr.h
The file was removedclang/test/CodeGenSYCL/unique-stable-name.cpp
The file was modifiedclang/include/clang/Sema/Sema.h
The file was modifiedclang/lib/AST/Expr.cpp
The file was modifiedclang/include/clang/Basic/TokenKinds.def
The file was modifiedclang/lib/Sema/SemaTemplateInstantiate.cpp
The file was modifiedclang/include/clang/AST/Mangle.h
The file was modifiedclang/docs/LanguageExtensions.rst
Commit d784f7406911c4fb6bc559320f7f9ff134be7ff5 by Vitaly Buka
[NFC][Asan] Remove unused macro
The file was modifiedcompiler-rt/lib/asan/asan_stack.h
Commit 6bf25f45a9b6bd2bf6bd4bf03f6b0d0e2839c33f by kito.cheng
[Tablegen][SubtargetEmitter] Print TuneCPU in Subtarget::ParseSubtargetFeatures

Let user able to know which -tune-cpu are used now.

Reviewed By: craig.topper

Differential Revision: https://reviews.llvm.org/D88951
The file was modifiedllvm/utils/TableGen/SubtargetEmitter.cpp
Commit c5ba0d33cc060cc06a28a5d9101060afd1c0ee9a by david.sherwood
[SVE] Make ElementCount and TypeSize use a new PolySize class

I have introduced a new template PolySize class, where the template
parameter determines the type of quantity, i.e. for an element
count this is just an unsigned value. The ElementCount class is
now just a simple derivation of PolySize<unsigned>, whereas TypeSize
is more complicated because it still needs to contain the uint64_t
cast operator, since there are still many places in the code that
rely upon this implicit cast. As such the class also still needs
some of it's own operators.

I've tried to minimise the amount of code in the base PolySize
class, which led to a couple of changes:

1. In some places we were relying on '==' operator comparisons
between ElementCounts and the scalar value 1. I didn't put this
operator in the new PolySize class, and thought it was actually
clearer to use the isScalar() function instead.
2. I removed the isByteSized function and replaced it with calls
to isKnownMultipleOf(8).

I've also renamed NextPowerOf2 to be coefficientNextPowerOf2 so
that it's more consistent with coefficientDivideBy.

Differential Revision: https://reviews.llvm.org/D88409
The file was modifiedllvm/include/llvm/IR/Intrinsics.h
The file was modifiedllvm/lib/CodeGen/TargetLoweringBase.cpp
The file was modifiedllvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
The file was modifiedllvm/lib/Transforms/Vectorize/VPlan.cpp
The file was modifiedllvm/include/llvm/Support/TypeSize.h
The file was modifiedllvm/lib/Target/X86/X86InterleavedAccess.cpp
The file was modifiedllvm/include/llvm/CodeGen/TargetLowering.h
The file was modifiedllvm/lib/Transforms/Vectorize/LoopVectorize.cpp
The file was modifiedllvm/include/llvm/CodeGen/ValueTypes.h
The file was modifiedllvm/include/llvm/Support/MachineValueType.h
The file was modifiedllvm/lib/Support/LowLevelType.cpp
Commit 1c021c64caef83cccb719c9bf0a2554faa6563af by lebedev.ri
[SCEV] Model ptrtoint(SCEVUnknown) cast not as unknown, but as zext/trunc/self of SCEVUnknown

While we indeed can't treat them as no-ops, i believe we can/should
do better than just modelling them as `unknown`. `inttoptr` story
is complicated, but for `ptrtoint`, it seems straight-forward
to model it just as a zext-or-trunc of unknown.

This may be important now that we track towards
making inttoptr/ptrtoint casts not no-op,
and towards preventing folding them into loads/etc
(see D88979/D88789/D88788)

Reviewed By: mkazantsev

Differential Revision: https://reviews.llvm.org/D88806
The file was modifiedllvm/test/CodeGen/X86/ragreedy-hoist-spill.ll
The file was modifiedllvm/test/CodeGen/ARM/lsr-undef-in-binop.ll
The file was modifiedllvm/test/Transforms/IndVarSimplify/2011-11-01-lftrptr.ll
The file was modifiedllvm/lib/Analysis/ScalarEvolution.cpp
The file was modifiedllvm/lib/Transforms/Utils/SimplifyIndVar.cpp
The file was modifiedllvm/test/Analysis/ScalarEvolution/add-expr-pointer-operand-sorting.ll
The file was modifiedpolly/test/Isl/CodeGen/scev_looking_through_bitcasts.ll
The file was modifiedllvm/test/Analysis/ScalarEvolution/no-wrap-add-exprs.ll
The file was modifiedllvm/test/Analysis/ScalarEvolution/ptrtoint.ll
Commit d765d12676905c9e51f4c3b23218cc1e330f9c4f by david.sherwood
Fix build failure caused by c5ba0d33cc060cc06a28a5d9101060afd1c0ee9a
The file was modifiedllvm/include/llvm/IR/Intrinsics.h
Commit b98e5e0f7e99d6b72aa637cc00790b98021e2086 by pifon
[mlir] Move Linalg tensors-to-buffers tests to Linalg tests.

The buffer placement preparation tests in
test/Transforms/buffer-placement-preparation* are using Linalg as a test
dialect which leads to confusion and "copy-pasta", i.e. Linalg is being
extended now and when TensorsToBuffers.cpp is changed, TestBufferPlacement is
sometimes kept in-sync, which should not be the case.

This has led to the unnoticed bug, because the tests were in a different directory and the patterns were slightly off.

Differential Revision: https://reviews.llvm.org/D89209
The file was modifiedmlir/test/Transforms/buffer-placement-preparation.mlir
The file was modifiedmlir/test/Dialect/Linalg/tensors-to-buffers.mlir
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/TensorsToBuffers.cpp
Commit 60cf8453d0beeb510900eda82b5a26b21af49907 by nicolas.vasilache
Revert "Revert "Give attributes C++ namespaces.""

This reverts commit df295fac6cd14977672b2874700572e0f77b77da.

Reactivates a spuriously rolled back change.
The file was modifiedmlir/tools/mlir-tblgen/RewriterGen.cpp
The file was modifiedmlir/tools/mlir-tblgen/OpDefinitionsGen.cpp
The file was modifiedmlir/lib/TableGen/Pattern.cpp
The file was modifiedmlir/include/mlir/IR/OpBase.td
Commit 702529d899c87e9268bb33d836dbc91b6bce0b16 by hokein.wu
[clang] Fix returning the underlying VarDecl as top-level decl for VarTemplateDecl.

Given the following VarTemplateDecl AST,

```
VarTemplateDecl col:26 X
|-TemplateTypeParmDecl typename depth 0 index 0
`-VarDecl X 'bool' cinit
  `-CXXBoolLiteralExpr 'bool' true
```

previously, we returned the VarDecl as the top-level decl, which was not
correct, the top-level decl should be VarTemplateDecl.

Differential Revision: https://reviews.llvm.org/D89098
The file was modifiedclang-tools-extra/clangd/unittests/ParsedASTTests.cpp
The file was modifiedclang/lib/Parse/ParseDecl.cpp
Commit 25e437ec1e5b96028a319d3f2aca4129cdd3d85d by grimar
[llvm-readobj/elf] - Ignore the hash table when on EM_S390/EM_ALPHA platforms.

Specification for `SHT_HASH` table says (https://refspecs.linuxbase.org/elf/gabi4+/ch5.dynamic.html#hash)
that it contains `Elf32_Word` entries for both `32/64` bit objects.

But there is a problem with `EM_S390` and `ELF::EM_ALPHA` platforms: they use 8-bytes entries.
(see the issue reported: https://bugs.llvm.org/show_bug.cgi?id=47681).

Currently we might infer the size of the dynamic symbols table from hash table,
but because of the issue mentioned, the calculation is wrong. And also we don't dump the hash table
properly.

I am not sure if we want to support 8-bytes entries as they violates specification and also the
`.hash` table is kind of deprecated by itself (the `.gnu.hash` table is used nowadays).
So, the solution this patch suggests is to ban using of the hash table on `EM_S390/EM_ALPHA` platforms.

Differential revision: https://reviews.llvm.org/D88817
The file was modifiedllvm/tools/llvm-readobj/ELFDumper.cpp
The file was modifiedllvm/test/tools/llvm-readobj/ELF/hash-table.test
Commit bb406f36dca3d53690a31e051d6f75f11eba6aa1 by hokein.wu
[AST][RecoveryExpr] Build dependent callexpr in C for error-recovery.

See whole context: https://reviews.llvm.org/D85025

Reviewed By: sammccall

Differential Revision: https://reviews.llvm.org/D84304
The file was modifiedclang/test/AST/ast-dump-recovery.c
The file was modifiedclang/lib/Sema/SemaExpr.cpp
The file was modifiedclang/test/Sema/error-dependence.c
Commit 8852d30b1c1b3b65cec0147cdf442051aa35e31b by hokein.wu
[AST][RecoveryExpr] Don't perform early typo correction in C.

The dependent mechanism for C error-recovery is mostly finished,
this is the only place we have missed.

Differential Revision: https://reviews.llvm.org/D89045
The file was modifiedclang/lib/Sema/SemaExpr.cpp
The file was modifiedclang/test/AST/ast-dump-recovery.c
Commit a64e8583dafe0fe407e521d546abc9dfb24ba1b3 by sstipanovic
[IR][FIX] Intrinsics - don't apply default willreturn if IntrNoReturn is specified

Summary: Since willreturn will soon be added as default attribute, we can end up with both noreturn and willreturn on the same intrinsic. This was exposed by llvm.wasm.throw which has IntrNoReturn.

Reviewers: jdoerfert, arsenm

Differential Revision: https://reviews.llvm.org/D88644
The file was modifiedllvm/utils/TableGen/CodeGenTarget.cpp
Commit 7102793065f2329a2fde78f32a1f2582dd89b0e7 by eleviant
Add test for cortex-a57/ARM sched model. NFC
The file was addedllvm/test/tools/llvm-mca/ARM/cortex-a57-basic-instructions.s
Commit f1bf41e433e196ecffcc4fb7cd04c58d48445425 by hokein.wu
Fix buildbot failure for 702529d899c87e9268bb33d836dbc91b6bce0b16.
The file was modifiedclang-tools-extra/clangd/unittests/ParsedASTTests.cpp
Commit 6c32bc4875117696d23c035e9e11320e095e52a0 by marukawa
[VE] Change to expand BRCOND

VE doesn't have BRCOND instruction, so need to expand it.  Also add
a regression test.

Reviewed By: simoll

Differential Revision: https://reviews.llvm.org/D89173
The file was modifiedllvm/lib/Target/VE/VEISelLowering.cpp
The file was addedllvm/test/CodeGen/VE/brcond.ll
Commit 9d6d4b07a21614be12edc063aeda2bd19b58f780 by marukawa
[VE] Support fneg and frem

VE doesn't have fneg or frem instruction, so change them to expand.  Add
regression tests also.

Reviewed By: simoll

Differential Revision: https://reviews.llvm.org/D89205
The file was modifiedllvm/lib/Target/VE/VEISelLowering.cpp
The file was addedllvm/test/CodeGen/VE/fp_frem.ll
The file was addedllvm/test/CodeGen/VE/fp_fneg.ll
Commit 45d785e22b2c940e6203eceda979e2b2bca57b29 by llvm-dev
Revert rGb97093e520036f8 - "[InstCombine] matchFunnelShift - fold or(shl(a,x),lshr(b,sub(bw,x))) -> fshl(a,b,x) iff x < bw"

This reverts commit b97093e520036f88c5b39e572966f1c8c387661e.

Funnel shift argument commutation isn't working correctly
The file was modifiedllvm/test/Transforms/InstCombine/rotate.ll
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
The file was modifiedllvm/test/Transforms/InstCombine/funnel.ll