FailedChanges

Summary

  1. [clang-tidy] readability-simplify-boolean-expr detects negated literals (details)
  2. [docs] Replace "constexpr expressions" with "constant expressions". (details)
  3. [DAGCombiner] clean up merge of truncated stores; NFC (details)
  4. [InstCombine] canonicalize 'not' ops before logical shifts (details)
  5. Enable constexpr on ROTATELEFT/ROTATERIGHT builtin intrinsics (PR47249) (details)
  6. Enable constexpr on BITREVERSE builtin intrinsics (PR47249) (details)
  7. [LiveDebugValues] Install an implementation-picking LiveDebugValues pass (details)
  8. [gn build] Port 20bb9fe565a (details)
  9. Fix some builds after 20bb9fe565a (details)
  10. [X86] ia32intrin.h - pull out common attributes used in cast helpers into define. NFCI. (details)
  11. GlobalISel: Merge FewerElements for G_BUILD_VECTOR/G_CONCAT_VECTORS (details)
  12. [Polly] Fix use-after-free. (details)
  13. [Polly] Ensure consistent Scop::InstStmtMap. NFC. (details)
  14. [lldb] Extract reproducer providers & co into their own header. (details)
  15. [flang] Fix assert on bad character kind (details)
  16. [flang][msvc] Disambiguate injected class name. (details)
  17. [llvm-reduce] make llvm-reduce save the best reduction it has when it crashes (details)
  18. [LiveDebugValues] Add instruction-referencing LDV implementation (details)
  19. [gn build] Port ae6f7882403 (details)
  20. Move Py_buffer_RAII to .h file so SWIG 2 doesnt have to parse it (details)
  21. [LiveDebugValues] Delete unneeded copy constructor after D83047 (details)
  22. Follow-up build fix for rGae6f78824031 (details)
  23. [AArch64] add tests for store merge of truncs; NFC (details)
  24. [libunwind] Ensure enough alignment for unw_cursor_t for SEH build configurations (details)
  25. [flang][msvc] Split class declaration and constexpr variable definition. NFC. (details)
  26. [LLD][COFF] Reset outputSections for successive runs (details)
  27. Revert "[Polly] Ensure consistent Scop::InstStmtMap. NFC." (details)
  28. [DAGCombiner] add early exit for store merging of truncs (details)
  29. [llvm-dwarfdump] --statistics: break lines and indent by 2 (details)
  30. [DebugInfo][test] Fix dwarf-callsite-related-attrs.ll after llvm-dwarfdump --statistics change (details)
  31. [X86] Allow 32-bit mode only CPUs with -mtune on 64-bit targets (details)
  32. [libunwind] Make findUnwindSectionsByPhdr static (details)
  33. Use TranslateFromMLIRRegistration for SPIRV roundtrip (NFC) (details)
  34. Refactor `mlir-translate` to extract the `main()` logic in a helper on the model of `MlirOptMain()` (NFC) (details)
  35. Add a `dialect_registration` callback for "translations" registered with mlir-translate (details)
  36. Create ${swig_target}-scripts target instead of lldb-python-scripts (details)
  37. Reword the documentation for the `mlirTranslateMain` API (NFC) (details)
  38. [X86] Enable constexpr on _cast fp<-> uint intrinsics (PR31446) (details)
  39. [docs] Add an initial (non-exhaustive) list of intrinsics that can be used in constant expressions (details)
  40. [ORC] Add a LLJITWithThinLTOSummaries example in OrcV2Examples (details)
  41. [analyzer] Add modeling for unque_ptr::get() (details)
  42. [DAGCombiner] restrict store merge of truncs to early combining (details)
  43. [DSE,MemorySSA] Keep single DL instance in DSEState (NFC). (details)
  44. [X86] Enable constexpr on ROTL/ROTR intrinsics (PR31446) (details)
  45. [X86][FastISel] Support materializing floating-point constants for large code model & PIC (details)
  46. [llvm-reduce] Skip terminators when reducing instructions. (details)
  47. [NFC][InstCombine] Add tests for negation of freeze (details)
  48. [InstCombine] Negator: freeze is freely negatible if it's operand is negatible (details)
  49. Update FIR registration to not rely on the global MLIR dialect registry (NFC) (details)
  50. [flang][openacc] Fix wait-argument for wait clause + add tests (details)
  51. [clang][Driver] Implement AddClangSystemIncludeArgs and HasNativeLLVMSupport for the OpenBSD clang driver. (details)
  52. [clang][Driver] Implement addLibCxxIncludePaths and getCompilerRT for the OpenBSD clang driver. (details)
  53. [NFC][OpenMP] Remove outdated comments about potential issues (details)
  54. [PowerPC] Support constrained vector fp/int conversion (details)
  55. [DAGCombine] Remove dead node when it is created by getNegatedExpression (details)
  56. [PowerPC] Allow constrained FP intrinsics in mightUseCTR (details)
  57. [PowerPC] Support lowering int-to-fp on ppc_fp128 (details)
  58. Add initial python bindings for attributes. (details)
  59. [LiveDebugVariables] Internalize class DbgVariableValue. NFC (details)
  60. [SCEV] Add operand methods to Cast and UDiv (details)
  61. Add an assertion to protect against missing Dialect registration in a pass pipeline (NFC) (details)
  62. [SCEV] Attempt to fix windows buildbots (details)
  63. [SelectionDAG] Fix miscompile bug in expandFunnelShift (details)
  64. [NFCI][SimplifyCFG] Combine select costs and checks (details)
  65. Add support for AVR attiny441 and attiny841 (details)
  66. [SCEV] Still trying to fix windows buildbots (details)
  67. [lldb/Utility] Remove some Scalar type accessors (details)
  68. [lld] s/dyn_cast/isa in InputSection.cpp (details)
  69. Reland "Correctly emit dwoIDs after ASTFileSignature refactoring (D81347)" (details)
  70. [SCEV] Still (again) trying to fix buildbots (details)
  71. Revert "Reland "Correctly emit dwoIDs after ASTFileSignature refactoring (D81347)"" (details)
  72. [InstCombine] add tests for abs of select with negated op; NFC (PR39474) (details)
  73. [InstCombine] fold abs of select with negated op (PR39474) (details)
  74. [DSE,MemorySSA] Limit elimination at end of function to single UO. (details)
  75. [SystemZ] Preserve the MachineMemOperand in emitCondStore() in all cases. (details)
  76. [DSE,MemorySSA] Regnerate some check lines. (details)
  77. [AST][RecoveryAST] Preserve the type by default for recovery expression. (details)
  78. [Fixed Point] Use FixedPointBuilder to codegen fixed-point IR. (details)
  79. [Fixed Point] Add codegen for fixed-point shifts. (details)
  80. Reland "Correctly emit dwoIDs after ASTFileSignature refactoring (D81347)" (details)
  81. [ARM][MVE] Allow tail predication for strides !=1 with gather/scatters (details)
  82. [DSE,MemorySSA] Delay PointerMayBeCaptured calls until actually needed. (details)
  83. [analyzer][tests] Add a notion of project sizes (details)
  84. [llvm][LV] Replace `unsigned VF` with `ElementCount VF` [NFCI] (details)
  85. GlobalISel: Reduce G_SHL width if source is extension (details)
  86. Revert "[llvm][LV] Replace `unsigned VF` with `ElementCount VF` [NFCI]" (details)
  87. AMDGPU/GlobalISel: Start implementing computeKnownBitsForTargetInstr (details)
  88. [llvm][LV] Replace `unsigned VF` with `ElementCount VF` [NFCI] (details)
  89. [OPENMP]Fix PR47158, case 3: allow devic_typein nested declare target region. (details)
  90. AMDGPU/GlobalISel: Add baseline, failing unmerge tests (details)
  91. AMDGPU/GlobalISel: Use different technique for sample v3s16 values (details)
  92. GlobalISel: Improve dead instruction debug printing (details)
  93. [coroutine] should disable inline before calling coro split (details)
  94. [SyntaxTree] Split array declarator tests (details)
  95. [SyntaxTree] Use annotations to reduce noise on member function tests (details)
  96. [SyntaxTree] Split FreeStandingClass tests (details)
  97. [SyntaxTree] Split ExplicitTemplateInstantiation test (details)
  98. [SyntaxTree] Group tests related to `using` (details)
  99. [SyntaxTree] Split `ParametersAndQualifiers` tests (details)
  100. [SyntaxTree] Split `DynamicExceptionSpecification` test (details)
  101. [PowerPC] Add clang options to control MMA support (details)
  102. Test all CHECK-NOT in a block even if one fails (details)
  103. [libFuzzer] Make msan.test:SimpleCmpTest succeed with less trials. (details)
  104. [OpenMP] Check if _MSC_VER is defined before using it (details)
  105. AMDGPU/GlobalISel: Use unmerge instead of extract in addrspace queries (details)
  106. [clang][NFC] Fix a GCC warning in ASTImporterTest.cpp (details)
  107. [DSE,MemorySSA] Do not use callCapturesBefore in isReadClobber. (details)
  108. [lldb] common completion for process pids and process names (details)
  109. [lldb] Remote disk file/directory completion for platform commands (details)
  110. [FLANG] Pick `.md` files when building sphinx documentation. (details)
  111. [SDAG] Convert FSHL <--> FSHR if the target only supports one of them (details)
  112. [LegalizeTypes][X86] Add ROTL/ROTR to WidenVectorResult. (details)
  113. TableGen/GlobalISel: Allow inst matcher to check multiple opcodes (details)
  114. [lldb] type category name common completion (details)
  115. [flang][openacc] Fix reduction operator parsing/unparsing (details)
  116. [AMDGPU, docs] Fix typos (details)
  117. [TSan][Darwin] Handle NULL argument in interceptor (details)
  118. AMDGPU: Add flag to disable promotion of uniform i16 ops (details)
  119. Revert D85812 "[coroutine] should disable inline before calling coro split" (details)
  120. Add hashing of the .text section to ProcessMinidump. (details)
  121. [mlir] Add Index Type, Floating Point Type and None Type subclasses to python bindings. (details)
  122. [PowerPC] Extend custom lower of vector truncate to handle wider input (details)
  123. [NFC][InstCombine] Adjust naming for some methods to match coding standards (details)
  124. [NFC][InstCombine] Multi-level aggregate test for phi-of-insertvalue pattern (details)
  125. [flang] Fix bug accessing implicit variable in specification expression (details)
  126. [Scalarizer] Avoid updating the name of globals (details)
  127. Move special va_list handling to kmp_os.h (details)
  128. Add <stdarg.h> include to kmp_os.h, to get the va_list type, required (details)
  129. [llvm-libtool-darwin] Add support for -V option (details)
  130. [compiler-rt] Disable ranlib when using libtool (details)
  131. [runtimes] Remove TOOLCHAIN_TOOLS specialization (details)
  132. [runtimes] Use llvm-libtool-darwin for runtimes build (details)
  133. [InstCombine] add tests for insert+extract demanded elements; NFC (details)
  134. [SLP] avoid 'tmp' names in regression tests; NFC (details)
  135. [InstCombine] improve demanded element analysis for vector insert-of-extract (details)
  136. [TSan][libdispatch] Add interceptors for dispatch_barrier_async_and_wait() (details)
  137. [libunwind] Remove static_assert / __has_feature macros (details)
  138. [PowerPC] Handle SUBFIC in reg+reg -> reg+imm transformation (details)
  139. [TSan][libdispatch] Add interceptors for dispatch_barrier_async_and_wait(), pt. 2 (details)
  140. AMDGPU: Have a few selection failure tests check both paths (details)
  141. [X86] Copy the tuning features and scheduler model from pentium4/x86-64 to generic (details)
  142. [PowerPC] Do not use FISel for calls and TOC-based accesses with PC-Rel (details)
  143. AMDGPU/GlobalISel: Handle AGPRs used for SGPR operands. (details)
  144. [lldb] Add a SymbolFileProvider to record and replay calls to dsymForUUID (details)
  145. [x86][AArch64] adjust fast-math-flags in tests; NFC (details)
  146. [DAGCombine]: Fold X/Sqrt(X) to Sqrt(X) (details)
  147. [LLDB] Fix how ValueObjectVariable handles DW_AT_const_value when the DWARFExpression holds the data that represents a constant value (details)
  148. Fix test for D77924. (details)
  149. [LLDB] Fix SVE offset calculation in NativeRegisterContextLinux_arm64 (details)
  150. [not][test] Fix disable-symbolization.test when 'printenv' is not available (details)
  151. [MLInliner] Support training that doesn't require partial rewards (details)
  152. Properly pass modules flags to frontend when using -std=c++20 instead of -std=c++2a. (details)
  153. Add NDEBUG checks around debug only loop to avoid unused variable (details)
  154. [flang] Don't attempt to compute element size if no DynamicType (details)
  155. Disable 'not' test on Windows because 'env' from GnuWin32 cannot be used without arguments. (details)
  156. [DebugInfo] Move constructor homing case in shouldOmitDefinition. (details)
  157. Temporarily Revert "[DebugInfo] Move constructor homing case in shouldOmitDefinition." (details)
  158. [CMake] Fix ncurses/zlib in LLVM_SYSTEM_LIBS for Windows GNU (details)
  159. [SyntaxTree] Split `MemberPointer` tests with annotations (details)
  160. [SyntaxTree] Split ConstVolatileQualifiers tests (details)
  161. [SyntaxTree] Use annotations on ClassTemplate_MemberClassDefinition test (details)
  162. [X86] Support -march=sapphirerapids (details)
  163. PR37556: Don't diagnose conflicts between instantiated unqualified (details)
  164. [lldb] Don't depend on psutil in TestCompletion.py (details)
  165. [SyntaxTree] Extend the syntax tree dump to also cover `NodeRole` (details)
  166. [SyntaxTree] Update `Statement` tests to dump `NodeRole` (details)
  167. [SyntaxTree] Update `Expression` tests to dump `NodeRole` (details)
  168. [SyntaxTree] Update `Declaration` tests to dump `NodeRole` (details)
  169. [SyntaxTree] Update `Modifiable` tests to dump `NodeRole` and `unmodifiable` tag (details)
  170. [Compiler-RT] Fix profiler building with MinGW GCC (details)
  171. [compiler-rt][asan][test] Set LD_LIBRARY_PATH_{32,64} on Solaris (details)
  172. [NFC][RDA] Add explicit def check (details)
  173. [InstCombine] PHI-of-insertvalues -> insertvalue-of-PHI's (details)
  174. [DSE,MemorySSA] Cache accesses with/without reachable read-clobbers. (details)
  175. [SVE] Fix TypeSize related warnings with IR truncates of scalable vectors (details)
  176. [llvm-dwarfdump] Fix misleading scope byte coverage statistics (details)
  177. [FileCheck][docs] Fix word errors (details)
  178. [llvm-readelf/obj] - Change the return type of the `createDRI(...)` to `Expected<>` (details)
  179. Revert "[CMake] Fix ncurses/zlib in LLVM_SYSTEM_LIBS for Windows GNU" (details)
  180. Revert "[InstCombine] improve demanded element analysis for vector insert-of-extract" (details)
  181. [NFC][InstCombine] Tests for PHI-of-extractvalues (details)
  182. [llvm-readobj] - Print "Unknown" when a program header is unknown. (details)
  183. [UpdatesTestChecks] Fix typo in common.py (details)
  184. [NFC][ARM] arith code size cost tests (details)
  185. [SVE] Lower scalable vector ISD::FNEG operations. (details)
  186. [Attributor][NFC] Clang format (details)
  187. [NFC][SimplifyCFG] Add some more tests for Arm. (details)
  188. [PowerPC] Fix gcc warning [NFC] (details)
  189. [libunwind] Fix warning when building without frameheader cache (details)
  190. [ARM][CGP] Fix scalar condition selects for MVE (details)
  191. [NFC][SimplifyCFG] More tests for Arm (details)
  192. [asan] Also allow for SIGBUS in high-address-dereference.c (details)
  193. Fix crypt.cpp sanitizer test on FreeBSD (details)
  194. Fix update_llc_test_checks function regex for RV64 (details)
  195. [clangd] When inserting "using", add "::" in front if that's the style. (details)
  196. [LV] get.active.lane.mask consuming tripcount instead of backedge-taken count (details)
  197. [libFuzzer] Un-XFAIL msan.test on SystemZ (details)
  198. [compiler-rt][builtins] Add more test cases for __div[sdt]f3 LibCalls (details)
  199. [Utils] Add highlighting definition for byref IR attribute (details)
  200. AMDGPU/GlobalISel: Apply bitcast load/store hack to pointer vectors (details)
  201. [ARM][MVE] Tail-predication: remove the BTC + 1 overflow checks (details)
  202. AMDGPU/GlobalISel: Fix using unlegalizable values in tests (details)
  203. AMDGPU/GlobalISel: Use more accurate legality rules for merge/unmerge (details)
  204. [LiveDebugValues] Add switches for using instr-ref variable locations (details)
  205. [SelectionDAG] Legalize intrinsic get.active.lane.mask (details)
  206. [DWARFYAML] Make the 'Attributes' field optional. (details)
  207. [scudo][standalone] Skip irrelevant regions during release (details)
  208. [Verifier] Additional check for intrinsic get.active.lane.mask (details)
  209. AMDGPU/GlobalISel: re-auto-generate some test checks (details)
  210. [ELF] .note.gnu.property: error for invalid pr_datasize (details)
  211. [InstCombine] add vector demanded elements tests with shuffles; NFC (details)
  212. [InstCombine] improve demanded element analysis for vector insert-of-extract (2nd try) (details)
  213. [LangRef] Revise semantics of intrinsic get.active.lane.mask (details)
  214. [AIX][compiler-rt][builtins] Don't add ppc builtin implementations that require __int128 on AIX (details)
  215. [LoopNest] False negative of `arePerfectlyNested` with LCSSA loops (details)
  216. [x86] add AVX shuffle test for PR47262; NFC (details)
  217. [Hexagon] Remove (redundant) HexagonISelLowering::isHvxOperation(SDValue) (details)
  218. [ARM] Additional test for tailpred reductions. NFC (details)
  219. [NewPM][test] Fix accelerate-vector-functions.ll under NPM (details)
  220. [flang] Don't completely left-justify fixed-form tokenization (details)
  221. AArch64: Fix hardcoded register in test (details)
  222. [mlir] NFC: fix typo in FileCheck prefix (details)
  223. [FIX] Avoid creating BFI when emitting remarks for dead functions (details)
  224. [lldb] Don't ask for QOS_CLASS_UNSPECIFIED queue in TestQueues (details)
  225. [lldb] Initialize reproducers in LocateSymbolFileTest (details)
  226. [flang] Parse global compiler directives (details)
  227. [flang] Improve error handling for bad characters in source (details)
  228. [ORC] Fix an endif comment. (details)
  229. [examples] Fix dependencies for OrcV2Examples/LLJITWithThinLTOSummaries. (details)
  230. [test] Add -inject-tli-mapping to -loop-vectorize -vector-library tests (details)
  231. [X86] Mention -march=sapphirerapids in the release notes. (details)
  232. [tsan] On arm64e, strip out ptrauth bits from incoming PCs (details)
  233. [flang] Check that various variables referenced in I/O statements may be defined (details)
  234. [mlir][openacc][NFC] Fix comment about OpenACCExecMapping (details)
  235. [llvm-mca][NFC] Refactor handling of views that examine individual instructions, (details)
  236. [mlir] [LLVMIR] Add get active lane mask intrinsic (details)
  237. [MemDep] Use BatchAA when computing pointer dependencies (details)
  238. Reland "[DebugInfo] Move constructor homing case in shouldOmitDefinition." (details)
  239. [ValueTracking] Add a noundef test for D86477; NFC (details)
  240. [ValueTracking] Let getGuaranteedNonPoisonOp find multiple non-poison operands (details)
  241. [SystemZ][z/OS] Add z/OS Target and define macros (details)
  242. [lldb] Make Reproducer compatbile with SubsystemRAII  (NFC) (details)
  243. [Hexagon] Check if EVT is simple type in HVX lowering (details)
  244. [AMDGPU] Switch to named simm16 in vscnt insertion (details)
  245. [OpenMP] Pack first-private arguments to improve efficiency of data transfer (details)
  246. [mlir] [LLVMIR] Mark reductions as side-effect free (details)
  247. [SDAG] Improve MemSDNode::getBasePtr (details)
  248. [TargetLoweringObjectFileImpl] Make .llvmbc and .llvmcmd non-SHF_ALLOC (details)
  249. [AMDGPU] Remove unsound dependency on ISA version in waitcnt (details)
  250. [MLInliner] Simplify TFUTILS_SUPPORTED_TYPES (details)
  251. Remove unused/misnamed SetObjectModificationTime (details)
  252. [llvm-libtool-darwin] Address post-commit feedback (details)
  253. [X86] Remove a redundant COPY_TO_REGCLASS for VK16 after a KMOVWkr in an isel output pattern. (details)
  254. Revert "[Coverage] Enable emitting gap area between macros" (details)
  255. Add llvm_unreachable after fully covered switch to silence some warnings from GCC (NFC) (details)
  256. [X86] Remove extra getOperand(0) call from recently introduced store(extract_element(vtrunc)) to truncated store combine. (details)
  257. Remove global registration from the test dialect in MLIR (NFC) (details)
  258. [Modules] Improve error message when cannot find parent module for submodule definition. (details)
  259. [X86] Add an isel pattern for (i8 (trunc (i16 (bitconvert (v16i1 X))))) to avoid an extra EXTRACT_SUBREG (details)
  260. Add Z3 to system libraries list if enabled (details)
  261. [Docs] Document --lto-whole-program-visibility (details)
  262. Update UnwindPlan dump to list if it is a trap handler func; also Command (details)
  263. Ah, one test too many updated.  This one should be unmodified. (details)
  264. [llvm-lipo] Add support for bitcode files (details)
  265. [DWARFYAML] Use writeDWARFOffset() to write the prologue_length field. NFC. (details)
  266. [libc] Extend MPFRMatcher to handle multiple-input-multiple-output functions. (details)
  267. [libc][obvious] Add back the accidentally removed MPFRNumber destructor. (details)
  268. Remove the use of global dialect registration from the standalone-translate.cpp example (NFC) (details)
  269. Fix a 32-bit overflow issue when reading LTO-generated bitcode files whose strtab are of size > 2^29 (details)
  270. [InstCombine] PHI-of-extractvalues -> extractvalue-of-PHI, aka invokes are bad (details)
  271. Revert "[InstCombine] PHI-of-extractvalues -> extractvalue-of-PHI, aka invokes are bad" (details)
  272. [mlir][spirv] Infer converted type of scf.for from the init value (details)
  273. [llvm-readobj] Fix arm64 unwind opcode disassembly printing (details)
  274. [MC] [Win64EH] Update the AArch64/seh.s test slightly. NFC. (details)
  275. [LLD][MinGW] Cleanup Options.td file. NFC. (details)
  276. [LLD][MinGW] Handle allow-multiple-definition flag (details)
  277. [libc][NFC] For remquo quotient, compare only 3 bits of MPFR and libc results. (details)
  278. Adjust assertion when casting to an unregistered operation (details)
  279. Add assertion in PatternRewriter::create<> to defend the same way as OpBuilder::create<> against missing dialect registration (NFC) (details)
  280. [NFC][InstCombine] Add a PHI-of-insertvalues test with different base aggregate types (details)
  281. [InstCombine] PHI-of-extractvalues -> extractvalue-of-PHI, aka invokes are bad (details)
  282. [SyntaxTree] Add support for `CallExpression` (details)
  283. [SyntaxTree] Fix C++ versions on tests of `BuildTreeTest.cpp` (details)
  284. [Attributor] Provide an edge-based interface in AAIsDead (details)
  285. [mlir] Fix bug in block merging when the types of the operands differ (details)
  286. [SelectionDAG] Handle non-power-of-2 bitwidths in expandROT (details)
  287. [lldb] XFAIL TestMemoryHistory on Linux (details)
  288. [Support] Speedup llvm-dwarfdump 3.9x (details)
  289. [clangd] Compute the inactive code range for semantic highlighting. (details)
  290. [NFC] Fix some spelling errors in clang Driver Options.td (details)
  291. [AArch64][SVE] Fix calculation restore point for SVE callee saves. (details)
  292. [analyzer] Add modeling of assignment operator in smart ptr (details)
  293. [AArch64][AsmParser] Fix bug in operand printer (details)
  294. Reland [IR] Intrinsics default attributes and opt-out flag (details)
  295. [TableGen][GlobalISel] Fix tblgen optimization bug (details)
  296. [GlobalISel] Fix and tidy up documentation for ValueMapping class (NFC) (details)
  297. [X86] Make sure we do not clobber RBX with mwaitx when used as a base (details)
  298. [lldb] Correct wording of EXP_MSG (details)
  299. [SystemZ/ZOS] Additions to the build system. (details)
  300. [llvm-readelf][test] - Refine the sections-ext.test (details)
  301. [llvm-readobj] - Don`t crash when --section-symbols is requested for an object w/o .symtab. (details)
  302. [lldb/DWARF] More DW_AT_const_value fixes (details)
  303. [obj2yaml] - Cleanup error reporting (remove Error.cpp/.h files) (details)
  304. Copy m_plan_is_for_signal_trap member. (details)
  305. [libunwind] Convert x86, x86_64, arm64 register restore functions to C calling convention and name mangling (details)
  306. [gn build] Port 357dc1ed125 (details)
  307. [RDA] Don't visit the BB of the instruction in getReachingUniqueMIDef (details)
  308. [llvm-readobj/elf][test] - Add testing for EM_* specific OS/ABI values. (details)
  309. [llvm-readobj][test] - Commit trivial.obj.elf-amdhsa-gfx803 binary back. (details)
  310. [ARM] Increase MVE gather/scatter cost by MVECostFactor. (details)
  311. [llvm/Object] - Make dyn_cast<XCOFFObjectFile> work as it should. (details)
  312. [mlir][PDL] Add a PDL Interpreter Dialect (details)
  313. [Scheduling] Implement a new way to cluster loads/stores (details)
  314. [DWARFYAML] Make the unit_length and header_length fields optional. (details)
  315. [AMDGPU][GlobalISel] Eliminate barrier if workgroup size is not greater than wavefront size (details)
  316. GlobalISel: Combine G_ADD of G_PTRTOINT to G_PTR_ADD (details)
  317. AMDGPU/GlobalISel: Tolerate negated control flow intrinsic outputs (details)
  318. Add clang-cl "vctoolsdir" option to specify the location of the msvc toolchain (details)
  319. AMDGPU: Use Subtarget reference in SIInstrInfo (details)
  320. [Support] Allow printing the stack trace only for a given depth (details)
  321. [LegalizeTypes] Add ROTL/ROTR to ScalarizeVectorResult. (details)
  322. [libc] Add implementations for sqrt, sqrtf, and sqrtl. (details)
  323. [OpenMP] Fix build on macOS sdk 10.12 and newer (details)
  324. [AMDGPU] Make more use of Subtarget reference in SIInstrInfo (details)
  325. [lldb][NFC] Simplify string literal in GDBRemoteCommunicationClient (details)
  326. Fix failing tests after VCTOOLSDIR change (details)
  327. Bump -len_control value in fuzzer-custommutator.test (PR47286) (details)
  328. [clangd] Enable recovery-ast-type by default. (details)
  329. [libc++] Always run Ninja through xcrun in the macOS CI scripts (details)
  330. [clangd] Use string[] for allCommitCharacters (details)
  331. [clang][NFC] Properly fix a GCC warning in ASTImporterTest.cpp (details)
  332. [Clang] Fix tests following rG087047144210 (details)
  333. [libc++] Use xcrun to find Ninja in the macOS backdeployment CI too (details)
  334. [LiveDebugValues][NFC] Add instr-ref tests, adapt old tests (details)
  335. [LV] Fallback strategies if tail-folding fails (details)
  336. Fix frame pointer layout on AArch64 Linux. (details)
  337. Fix quiet mode in git-clang-format (details)
  338. Revert "[LiveDebugValues][NFC] Add instr-ref tests, adapt old tests" (details)
  339. [libFuzzer] Error and exit if user supplied fuzzer writeable directories don't exist (details)
  340. [SystemZ/ZOS] Add header file to encapsulate use of <sysexits.h> (details)
  341. [SyntaxTree] Migrate `ParamatersAndQualifiers` to use the new List API (details)
  342. [LegalizeTypes] Remove WidenVecRes_Shift and just use WidenVecRes_Binary (details)
  343. [profile] Add InstrProfilingVersionVar.c.o to Darwin kext builtins (details)
  344. [XCOFF][AIX] Support relocation generation for large code model (details)
  345. [ThinLTO][Legacy] Compute PreservedGUID based on IRName in Symtab (details)
  346. [llvm] [DAG] Fix bug in llvm.get.active.lane.mask lowering (details)
  347. Revert "Fix frame pointer layout on AArch64 Linux." (details)
  348. [NFC][InstCombine] Add tests with PHI-of-{insert,extract}value with multiple uses (details)
  349. [NFC][Value] Fixup comments, "N users" is NOT the same as "N uses". (details)
  350. [Value][InstCombine] Fix one-use checks in PHI-of-op -> Op-of-PHI[s] transforms to be one-user checks (details)
  351. [clang] Exclude invalid destructors from lookups. (details)
  352. [X86] Add assembler support for .d32 and .d8 mnemonic suffixes to control displacement size. (details)
  353. [IR] Add NoUndef attribute to Intrinsics.td (details)
  354. [SampleFDO] Enhance profile remapping support for searching inline instance (details)
  355. AMDGPU: Don't assert on misaligned DS read2/write2 offsets (details)
  356. [Hexagon] Implement llvm.masked.load and llvm.masked.store for HVX (details)
  357. [SVE] Remove calls to VectorType::getNumElements from clang (details)
  358. [Polly] Use llvm::function_ref. NFC. (details)
  359. [Polly] Inline ShoulDelete lambda. NFC. (details)
  360. [LTO] Don't apply LTOPostLink module flag during writeMergedModule (details)
  361. [MC][SVE] Fix data operand for instruction alias of `st1d`. (details)
  362. [gn build] Manually port ed07e1fe (details)
  363. [InstSimplify] Simplify to vector constants when possible (details)
  364. Add cmake test support for LLJITWithThinLTOSummaries to make sure (details)
  365. [mlir] NFC: fix trivial typos in documents (details)
  366. [OpenMP] Fix import library installation with MinGW (details)
  367. [libomptarget][amdgpu] Update plugin CMake to work with latest rocr library (details)
  368. [Support][Windows] Fix incorrect GetFinalPathNameByHandleW() return value check in realPathFromHandle() (details)
  369. [llvm] [Thumb2] Test unusual length for active lane mask (details)
  370. [DAGCombiner] allow store merging non-i8 truncated ops (details)
  371. Reapply D70800: Fix AArch64 AAPCS frame record chain (details)
  372. [test] Rewrite various tests to not use constprop (details)
  373. [AArch64][SVE] Add lowering for llvm fceil (details)
  374. [InstSimplify] Add additional umax tests (NFC) (details)
  375. [InstSimplify] Fold min/max intrinsic based on icmp of operands (details)
  376. [VectorCombine] adjust test for better coverage; NFC (details)
  377. [libomptarget][amdgpu] Improve thread safety, remove dead code (details)
  378. [mlir][vector] Add vector.bitcast operation (details)
  379. [LangRef] Memset/memcpy/memmove can take undef/poison pointer if the size is 0 (details)
  380. [AArch64] Use CCAssignFnForReturn helper in more spots. NFC. (details)
  381. [IR] Remove noundef from masked store/load/gather/scatter's pointer operands (details)
  382. [X86] Default to -mtune=generic unless -march is passed to the driver. Add TuneCPU to the AST serialization (details)
  383. Bring llvm::Optional data formatter back in sync with the implementation. (details)
  384. Use properlyDominates in RDFLiveness when sorting on dominance. (details)
  385. [X86] Change pentium4 tuning settings and scheduler model back to their values before D83913. (details)
  386. Load correct module for linux and android when duplicates exist in minidump. (details)
  387. [ConstProp] Remove ConstantPropagation (details)
  388. Fix OCaml bindings (details)
  389. [X86] Update release notes for -mtune support. (details)
  390. [OpenMP] Always emit debug messages that indicate offloading failure (details)
  391. [ORC][JITLink] Switch to unique ownership for EHFrameRegistrars. (details)
  392. GlobalISel: Add generic instructions for memory intrinsics (details)
  393. GlobalISel: IRTranslate minimum of pointer sizes on memcpy (details)
  394. [libunwind] Minor fixes in libunwind (details)
  395. [libunwind] Factor out getInfoFromFdeCie. NFCI. (details)
  396. [gn build] Port 7a457593efe (details)
  397. [lld-macho] Fall back to raw path if we don't find anything under syslibroot (details)
  398. [lld-macho] Make it possible to re-export .tbd files (details)
  399. [lld-macho] Handle TAPI and regular re-exports uniformly (details)
  400. [lld-macho] Implement -ObjC (details)
  401. [lld-macho][NFC] Handle GOT bindings and regular bindings more uniformly (details)
  402. [lld-macho] Implement weak bindings for GOT/TLV (details)
  403. [lld-macho] Implement -all_load (details)
  404. Fix MLIR build with MLIR_INCLUDE_TESTS=OFF (details)
  405. [PowerPC] Implement Vector Multiply High/Divide Extended Builtins in LLVM/Clang (details)
  406. [MLIR][SPIRV] Added optional name to SPIR-V module (details)
  407. Fix an overflow issue at BackpatchWord (details)
  408. [MLIR][SPIRVToLLVM] Updated the documentation for type conversion (details)
  409. Remove the `run` method from `OpPassManager` and `Pass` and migrate it to `OpToOpPassAdaptor` (details)
  410. [NFC][Test] Update the test with utils/update_llc_test_checks.py (details)
  411. Default to -fuse-init-array on OpenBSD. (details)
  412. [SyntaxTree] Refactor `NodeRole`s (details)
  413. [MLIR][SPIRVToLLVM] Added a hook for descriptor set / binding encoding (details)
  414. [lld-macho] Fix objc.s test (details)
  415. [gn build] Port 7394460d875 (details)
  416. [gn build] Port cf918c809bb (details)
  417. [ARM] Make MachineVerifier more strict about terminators (details)
  418. [RISCV] add the MC layer support of riscv vector Zvamo extension (details)
  419. [MLIR][GPUToSPIRV] Passing gpu module name to SPIR-V module (details)
  420. [mlir] NFC: fix trivial typo under test and tools (details)
  421. Revert "Reapply D70800: Fix AArch64 AAPCS frame record chain" (details)
  422. [ARM] Enable outliner at -Oz for M-class (details)
  423. [Attributor] Add flag for undef value to the state of AAPotentialValues (details)
  424. [LangRef] get.active.lane.mask can produce poison value (details)
  425. [MLIR][Shape] Fix typo (details)
  426. [AMDGPU] Preserve vcc_lo when shrinking V_CNDMASK (details)
  427. Revert "[Verifier] Additional check for intrinsic get.active.lane.mask" (details)
  428. [NFC] Add unittests for findAllocaForValue (details)
  429. [polly][cmake] Don't build LLVMPolly.so without PIC (details)
  430. [DSE,MemorySSA] Traverse use-def chain without MemSSA Walker. (details)
  431. [unittests/Object] - Simplify the code in ELFObjectFileTest.cpp, NFCI. (details)
  432. [ValueTracking] Support select in findAllocaForValue (details)
  433. [lldb] Fix gcc 5.4.0 compile error (details)
  434. [RISC-V] ADDI/ORI/XORI x, 0 should be as cheap as a move (details)
  435. [RISC-V] Mark C_MV as a move instruction (details)
  436. [RISC-V] fmv.s/fmv.d should be as cheap as a move (details)
  437. [lld][ELF][test] Expand testing of symbols in mergeable sections (details)
  438. Follow up of rGca243b07276a: fixed a typo. NFC. (details)
  439. [AArch64][SVE] Add missing debug info for ACLE types. (details)
  440. [SVE] Fallback to default expansion when lowering SIGN_EXTEN_INREG from non-byte based source. (details)
  441. [NFC][ValueTracking] Fix typo in test (details)
  442. [AArch64] Optimize instruction selection for certain vector shuffles (details)
  443. [NFC][ValueTracking] Cleanup a test (details)
  444. [DSE,MemorySSA] Add test for PR47285. (details)
  445. [Sema][AArch64] Support arm_sve_vector_bits attribute (details)
  446. [NFC][DebugInfo] Create InstructionOrdering helper class (1/4) (details)
  447. [DwarfDebug] Improve single location detection in validThroughout (2/4) (details)
  448. [DwarfDebug] Improve multi-BB single location detection in validThroughout (3/4) (details)
  449. [DwarfDebug] Improve validThroughout performance (4/4) (details)
  450. Revert "[DWARF] Add cuttoff guarding quadratic validThroughout behaviour" (details)
  451. [ELF][test] Add test coverage of TLS to gc-sections.s (details)
  452. [NFC][compiler-rt] Factor out __mulv[sdt]i3 implementations to .inc file (details)
  453. [NFC][compiler-rt] Factor out __mulo[sdt]i4 implementations to .inc file (details)
  454. [DSE,MemorySSA] Remove short-cut to check if all paths are covered. (details)
  455. Fix for PS4 bots after 0b7f6cc71a72a85f8a0cbee836a7a8e31876951a (details)
  456. [LLD] [MinGW] Enable dynamicbase by default (details)
  457. [LLD] [COFF] Check the aux section definition size for IMAGE_COMDAT_SELECT_SAME_SIZE (details)
  458. [FPEnv] Allow fneg + strict_fadd -> strict_fsub in DAGCombiner (details)
  459. [AMDGPU] Remove unused variable introduced in r251860 (details)
  460. [CMake][compiler-rt][libunwind] Compile assembly files as ASM not C, unify workarounds (details)
  461. [SyntaxTree][NFC] Append "get" to syntax Nodes accessor names (details)
  462. [SyntaxTree][NFC][Style] Functions start with lowercase (details)
  463. Fix Attributor return status (details)
  464. Fix OpenMP deduplicateRuntimeCalls return status (details)
  465. [lldb/Utility] Use APSInt in the Scalar class (details)
  466. [lldb/DWARF] Fix handling of variables with both location and const_value attributes (details)
  467. [Tooling][Format] Treat compound extensions (foo.bar.cc) as matching foo.h (details)
  468. [cmake] Make gtest include directories a part of the library interface (details)
  469. [lldb] Fix Type::GetByteSize for pointer types (details)
  470. [lldb/cmake] Fix linking of lldbUtilityHelpers for 9cb222e74 (details)
  471. [SimplifyLibCalls] Remove over-eager early return in strlen optzns. (details)
  472. [Hexagon] Widen short vector stores to HVX vectors using masked stores (details)
  473. AMDGPU: Hoist subtarget lookup (details)
  474. [lldb/cmake] Fix linking of lldbSymbolHelpers for 9cb222e7 (details)
  475. [Hexagon] Fold single-use variable into assert. NFCI. (details)
  476. [Hexagon] Fold another layer of single-use variable into assert. NFCI. (details)
  477. [MLIR] MemRef Normalization for Dialects (details)
  478. Revert "[AIX][XCOFF] emit symbol visibility for xcoff object file." (details)
  479. [Support] On Windows, add optional support for {rpmalloc|snmalloc|mimalloc} (details)
  480. [CodeGen][AArch64] Support arm_sve_vector_bits attribute (details)
  481. [libcxx] Fix compile for BUILD_EXTERNAL_THREAD_LIBRARY (details)
  482. [libc++] Install a more recent CMake on libc++ builders (details)
  483. [Test] Tidy up loose ends from LLVM_HAS_GLOBAL_ISEL (details)
  484. [NFC][EarlyCSE][InstSimplify] Add tests for CSE of PHI nodes (details)
  485. [InstSimplify][EarlyCSE] Try to CSE PHI nodes in the same basic block (details)
  486. Revert "[libcxx] Fix compile for BUILD_EXTERNAL_THREAD_LIBRARY" (details)
  487. [HeapProf] Clang and LLVM support for heap profiling instrumentation (details)
  488. [MLIR][GPUToSPIRV] Fix use-after-free. Found by asan. (details)
  489. [CodeGen] Properly propagating Calling Convention information when lowering vector arguments (details)
  490. [GISel]: Fix one more CSE Non determinism (details)
  491. [Attributor] Add a phase flag to Attributor (details)
  492. [sda][nfc] clang-formatting (details)
  493. [OCaml] Remove add_constant_propagation (details)
  494. [lldb] Move triple construction out of getArchCFlags in DarwinBuilder (NFC) (details)
  495. [lldb] Make lldb-argdumper a dependency of liblldb (details)
  496. [GISel] Add new GISel combiners for G_SELECT (details)
  497. [test][Inliner] Make always-inline.ll work with NPM (details)
  498. [gn build] Manually port c9455d3 (details)
  499. [gn build] Port 7ed8124d46f (details)
  500. [HeapProf] Fix bot failures from instrumentation pass (details)
  501. Reapply D70800: Fix AArch64 AAPCS frame record chain (details)
  502. [X86] Don't call hasFnAttribute and getFnAttribute for 'prefer-vector-width' and 'min-legal-vector-width' in getSubtargetImpl (details)
  503. [ARM][BFloat16] Change types of some Arm and AArch64 bf16 intrinsics (details)
  504. GlobalISel: Remove leftover lit.local.cfg (details)
  505. [ARM][BFloat16] Change types of some Arm and AArch64 bf16 intrinsics (details)
  506. GlobalISel: Implement known bits for G_MERGE_VALUES (details)
  507. GlobalISel: Use & operator on KnownBits (details)
  508. [SVE] Remove calls to VectorType::getNumElements from IR (details)
  509. [libc++][NFC] Define functor's call operator inline (details)
  510. [lld-macho] Disable invalid/stub-link.s test for Mac (details)
  511. [OpenMP][MLIR] Conversion pattern for OpenMP to LLVM (details)
  512. [OpenMP] Ensure testing for versions 4.5 and default - Part 2 (details)
  513. [SVE] Remove calls to VectorType::getNumElements from Transforms/Vectorize (details)
  514. [MLIR] Fixed missing constraint append when adding an AffineIfOp domain (details)
  515. [Attributor] Guarantee getAAFor not to update AA in the manifestation stage (details)
  516. [libcxx] Fix the broken test after D82657. (details)
  517. Recommit "[libFuzzer] Fix value-profile-load test." (details)
  518. [analyzer] NFC: Store the pointee/referenced type for dynamic type tracking. (details)
  519. [analyzer] pr47037: CastValueChecker: Support for the new variadic isa<>. (details)
  520. [analyzer] Fix the debug print about debug egraph dumps requiring asserts. (details)
  521. [analyzer] NFC: Fix wrong parameter name in printFormattedEntry. (details)
  522. [SVE] Remove bad call to VectorType::getNumElements() from HeapProfiler (details)
  523. [InstSimplify] SimplifyPHINode(): check that instruction is in basic block first (details)
  524. [OpenMP] Ensure testing for versions 4.5 and default - Part 3 (details)
  525. [CodeGen] Use an AttrBuilder to bulk remove 'target-cpu', 'target-features', and 'tune-cpu' before re-adding in CodeGenModule::setNonAliasAttributes. (details)
  526. [Attributor] Do not add AA to dependency graph after the update stage (details)
  527. [RegisterScavenging] Delete dead function unprocess(). (details)
  528. [Hexagon] Emit better 32-bit multiplication sequence for HVXv62+ (details)
  529. GlobalISel: Add and_trivial_mask to all_combines (details)
  530. AMDGPU: Use caller subtarget, not intrinsic declaration (details)
  531. [NFC][ValueTracking] Add OffsetZero into findAllocaForValue (details)
  532. [StackSafety] Ignore allocas with partial lifetime markers (details)
  533. MIR: Infer not-SSA for subregister defs (details)
  534. AArch64/GlobalISel: Fix missing function begin marker in test (details)
  535. GlobalISel: Implement known bits for min/max (details)
  536. [OpenMP] Fix a failing test after D85214 (details)
  537. [Attributor] Do not manifest noundef for dead positions (details)
  538. [Driver][XRay][test] Update the macOS support check (details)
  539. [OPENMP]Do not crash for globals in inner regions with outer target (details)
  540. [SSP] Restore setting the visibility of __guard_local to hidden for better code generation. (details)
  541. Revert "[CodeGen][AArch64] Support arm_sve_vector_bits attribute" (details)
  542. [ValueTracking] Replace recursion with Worklist (details)
  543. Recommit "[libFuzzer] Fix arguments of InsertPartOf/CopyPartOf calls in CrossOver mutator." (details)
  544. Revert "GlobalISel: Use & operator on KnownBits" (details)
  545. Correctly revert "GlobalISel: Use & operator on KnownBits" (details)
  546. AMDGPU: Fix broken switch braces (details)
  547. AMDGPU/GlobalISel: Implement computeKnownBits for groupstaticsize (details)
  548. GlobalISel: Implement computeNumSignBits for G_SEXT_INREG (details)
  549. [clang-query][NFC] Silence a few lint warnings (details)
  550. [lldb] Fix "no matching std::pair constructor" on Ubuntu 16.04 (NFC) (details)
  551. [lld-macho] Implement weak binding for branch relocations (details)
  552. [lld-macho] Emit the right header flags for weak bindings/symbols (details)
  553. [lld-macho] Emit binding opcodes for defined symbols that override weak dysyms (details)
  554. [lld-macho] Implement GOT_LOAD relaxation (details)
  555. [lld-macho] Support GOT relocations to __dso_handle (details)
  556. [lld-macho] Weak locals should be relaxed too (details)
  557. [lld-macho][NFC] Define isHidden() in LinkEditSection (details)
  558. Revert "Use find_library for ncurses" (details)
  559. [MemorySSA] Assert defining access is not a MemoryUse. (details)
  560. [PowerPC] PPCBoolRetToInt: Don't translate Constant's operands (details)
  561. [flang][openacc] Add check for tile clause restriction (details)
  562. [MSAN] Add fiber switching APIs (details)
  563. [flang][openacc] Fix gang-argument parsing and add validity tests for !$acc loop (details)
  564. Add an unsigned shift base sanitizer (details)
  565. Add a global flag to disable the global dialect registry "process wise" (details)
  566. (Expensive) Check for Loop, SCC and Region pass return status (details)
  567. [gn build] Port b1f4e5979b7 (details)
  568. [MC] [Win64EH] Avoid producing malformed xdata records (details)
  569. [ValueTracking] Remove a stray semicolon. NFC. (details)
  570. [llvm-reduce] Skip chunks that lead to broken modules. (details)
  571. [unittests/Object] - Add testing for missing ELF formats. (details)
  572. [llvm-readobj][test] - Test "Format" values. (details)
  573. [llvm-readobj] - Simplify the code that creates dumpers. NFCI. (details)
  574. [BuildLibCalls] Add argmemonly to more lib calls. (details)
  575. [mlir][Linalg] Enhance Linalg fusion on generic op and tensor_reshape op. (details)
  576. [NFC][asan] Don't unwind stack before pool check (details)
  577. [DSE,MemorySSA] Add memcmp test case. (details)
  578. [BasicAA] Add first libfunc tests with memcmp. (details)
  579. [MemLoc] Support memcmp in MemoryLocation::getForArgument. (details)
  580. [cmake] Don't build with -O3 -fPIC on Solaris/sparcv9 (details)
  581. [doxygen] Fix bad doxygen results for BugReporterVisitors.h (details)
  582. [lldb] Reduce intentation in SymbolFileDWARF::ParseVariableDIE (details)
  583. [lldb/Utility] Polish the Scalar class (details)
  584. [DSE,MemorySSA] Check if Current is valid for elimination first. (details)
  585. [clang-format] Parse volatile as a pointer qualifier (details)
  586. [clang-format] Parse restrict as a pointer qualifier (details)
  587. [clang-format] Parse __attribute((foo)) as a pointer qualifier (details)
  588. [clang-format] Parse nullability attributes as a pointer qualifier (details)
  589. [clang-format] Detect pointer qualifiers in cast expressions (details)
  590. [AArch64][CodeGen] Restrict bfloat vector operations to what's actually supported (details)
  591. [FunctionAttrs] Bulk remove attributes. NFC. (details)
  592. [SyntaxTree][NFC] Refactor function templates into functions taking base class (details)
  593. [SyntaxTree] Add coverage for declarators and init-declarators (details)
  594. [SCCP] Use bulk-remove API to bulk-remove attributes. NFCI. (details)
  595. [NFC][ARM] Add tail predication test (details)
  596. [ARM][LowOverheadLoops] Liveouts and reductions (details)
  597. [Statepoint] Turn assert into check in foldPatchpoint. (details)
  598. [DWARFYAML] Abbrev codes in a new abbrev table should start from 1 (by default). (details)
  599. [SVE] Make ElementCount members private (details)
  600. Fix build failures caused by f4257c5832aa51e960e7351929ca3d37031985b7 (details)
  601. Fix more build failures caused by f4257c5832aa51e960e7351929ca3d37031985b7 (details)
  602. Fix Windows x86 compilation after a6a37a2fcd2a8048a75bd0d8280497ed89d73224 (details)
  603. [LLD][PowerPC] Add a pc-rel based long branch thunk (details)
  604. Reland "[CodeGen][AArch64] Support arm_sve_vector_bits attribute" (details)
  605. [DAGCombine] Don't delete the node if it has uses immediately (details)
  606. [GlobalISel] fix a compilation error with gcc 6.3.0 (details)
  607. [OpenMP] Fixed wrong test command in the test private_mapping.c (details)
  608. [Statepoint] Always spill base pointer. (details)
  609. [PowerPC] Implemented Vector Load with Zero and Signed Extend Builtins (details)
  610. [ARM] Extra gather scatter tailpred test. NFC (details)
  611. [ARM] Correct predicate operand for offset gather/scatter (details)
  612. [libc++] Un-deprecate and un-remove some members of std::allocator (details)
  613. [flang][NFC] Change how error symbols are recorded (details)
  614. [ARM][MVE] Enable MVE gathers and scatters by default (details)
  615. [llvm][CodeGen] Machine Function Splitter (details)
  616. [gn build] Port 94faadaca4e (details)
  617. [lldb/test] Use @skipIfWindows for PExpectTest (details)
  618. [lldb] Fix typo in disassemble_options_line description (details)
  619. [lldb/test] Use shorter test case names in TestStandardUnwind (details)
  620. [CodeGenPrepare] Zap the argument of llvm.assume when deleting it (details)
  621. Strength-reduce SmallVectors to arrays. NFCI. (details)
  622. [ARM] Skip combining base updates for vld1x NEON intrinsics (details)
  623. Skip analysis re-computation when no changes are reported (details)
  624. [LIBOMPTARGET]Do not try to optimize bases for the next parameters. (details)
  625. [InstCombine] usub.sat(a, b) + b => umax(a, b) (PR42178) (details)
  626. [SROA] Improve handleling of assumes bundles by SROA (details)
  627. [ObjCARCOpt] Port objc-arc to NPM (details)
  628. [LLD][PowerPC] Remove redundant file write out in the test cases (details)
  629. [Attributes] Add a method to check if an Attribute has AttrKind None. Use instead of hasAttribute(Attribute::None) (details)
  630. Add new warning for compound punctuation tokens that are split across macro expansions or split by whitespace. (details)
  631. Rename AnalysisManager::slice in AnalysisManager::nest (NFC) (details)
  632. [test] Pin some RUNs in potential.ll to legacy PM (details)
  633. Reland "[test] Exit with an error if no tests are run." (details)
  634. [UpdateTestChecks] include { in function signature check line (details)
  635. AMDGPU: Fix incorrectly deleting copies after spilling SGPR tuples (details)
  636. [early-ifcvt] Add OptRemarks (details)
  637. GlobalISel: Combine out redundant sext_inreg (details)
  638. Add Location, Region and Block to MLIR Python bindings. (details)
  639. [lldb] Dervice dotest.py path from config.lldb_src_root (NFC) (details)
  640. [lldb] Get rid of LLDB_LIB_DIR and LLDB_IMPLIB_DIR in dotest (details)
  641. [gcov] Increment counters with atomicrmw if -fsanitize=thread (details)
  642. Revert "[InstSimplify][EarlyCSE] Try to CSE PHI nodes in the same basic block" (details)
  643. [ARC] Update brcc test. (details)
  644. [clang] Enable -fsanitize=thread on Fuchsia. (details)
  645. [gcov][test] Don't write a.gcno in CWD (details)
  646. Use report_fatal_error instead of llvm::errs() + abort() (NFC) (details)
  647. [ObjC][ARC] In HandlePotentialAlterRefCount, check whether an (details)
  648. [lldb] Make the lit configuration values optional for the API tests (details)
  649. [lldb] Hoist --framework argument out of LLDB_TEST_COMMON_ARGS (NFC) (details)
  650. [compiler-rt][tsan] Remove unnecesary typedefs (details)
  651. [DAGCombiner] Enhance (zext(setcc)) (details)
  652. [LLD][PowerPC][test] Disable ELF/ppc64-pcrel-long-branch-error.s (details)
  653. [DWARFYAML] Make the debug_abbrev_offset field optional. (details)
  654. [NFC][STLExtras] Add make_first_range(), similar to existing make_second_range() (details)
  655. [NFC][InstructionSimplify] Add a warning about not simplifying to not def-reachable (details)
  656. [Attributes] Merge calls to getFnAttribute/hasFnAttribute using Attribute::isValid. NFC (details)
  657. [Target][AArch64] Allow for char as int8_t in AArch64AsmParser.cpp (details)
  658. [InstCombine] Fix typo in comment (NFC) (details)
  659. [PPC] Fix platform definitions when compiling FreeBSD powerpc64 as LE (details)
  660. [NFC][InstCombine] Add tests for PHI CSE (details)
  661. [NFC][InstSimplify] Add a note to PHI CSE tests that they are all negative tests (details)
  662. [InstCombine] Take 2: Perform trivial PHI CSE (details)
  663. [InstCombine] visitPHINode(): use InstCombiner::replaceInstUsesWith() instead of RAUW (details)
  664. [NFC][InstCombine] select.ll: remove outdated TODO comment (details)
  665. [NFC][InstCombine] Add STATISTIC() for how many iterations we did (details)
  666. [NFC] Instruction::isIdenticalToWhenDefined(): s/nessesairly/necessarily/ (details)
  667. [NFC][InstCombine] Fix some comments: the code already uses IC::replaceInstUsesWith() (details)
  668. [InstCombine] canonicalizeICmpPredicate(): use InstCombiner::replaceInstUsesWith() instead of RAUW (details)
  669. [InstCombine] foldAggregateConstructionIntoAggregateReuse(): use InstCombiner::replaceInstUsesWith() instead of RAUW (details)
  670. [MC] [Win64EH] Fill in FuncletOrFuncEnd if missing (details)
  671. [AArch64] Generate and parse SEH assembly directives (details)
  672. [InstCombine] Return replaceInstUsesWith() result (NFC) (details)
  673. Revert "[InstCombine] Take 2: Perform trivial PHI CSE" (details)
  674. [UpdateTestChecks] Don't skip attributes when comparing functions (details)
  675. [InstCombine] Take 3: Perform trivial PHI CSE (details)
  676. [TargetLowering] Strip tailing whitespace (NFC) (details)
  677. [EarlyCSE] add tests for commutative intrinsics; NFC (details)
  678. [EarlyCSE] fold commutable intrinsics (details)
  679. [Instruction] Speculatively undo isIdenticalToWhenDefined() PHI handling changes (details)
  680. [Sema] ICK_Function_Conversion is a third kind conversion (details)
  681. [Sema] Simplify ShouldDiagnoseUnusedDecl, NFC (details)
  682. [IR] Inline AttrBuilder::addAttribute. It just sets 1 bit. NFC. (details)
  683. [DSE,MemorySSA] Return early when hitting a MemoryPhi. (details)
  684. [Attributor][NFC] rerun update_test_checks without --scrub-attributes (details)
  685. [Attributor][NFC] Do not manifest noundef for positions to be changed to undef (details)
  686. [NFCI][Local] Rewrite EliminateDuplicatePHINodes to optionally check hashing invariants (details)
  687. [NFC][Local] EliminateDuplicatePHINodes(): add STATISTIC() (details)
  688. Reapply [LVI] Normalize pointer behavior (details)
  689. [LVI] Remove unnecessary lambda capture (NFC) (details)
  690. [LV] Check opt-for-size before expanding runtime checks. (details)
  691. [InstSimplify] Protect against more poison in SimplifyWithOpReplaced (PR47322) (details)
  692. [InstSimplify] Reduce code duplication in simplifySelectWithICmpCond (NFC) (details)
  693. [Attributor] Fix AANoUndef identification (details)
  694. [libc++] Add from-scratch configuration files for the test suite (details)
  695. [libc++] Move the default site config template alongside other config files (details)
  696. [libc++] Temporarily force-set the LIBCXX_TEST_CONFIG cache value (details)
  697. [ORC] Add getDFSLinkOrder / getReverseDFSLinkOrder methods to JITDylib. (details)
  698. Remove OpenBSD/sparc support (details)
  699. Set alignment of .llvmbc and .llvmcmd to 1 (details)
  700. [Attributor][NFC] Fix dependency type in AAUndefinedBehaviorImpl::updateImpl (details)
  701. [Attributor] Fix callsite check in AAUndefinedBehavior (details)
  702. [LangRef] State that storing an aggregate fills padding with undef (details)
  703. [LangRef] Apply a missing comment from D86189 (details)
  704. [OpenMPOpt][NFC] add reproducer for problem found in D85544 (details)
  705. Improve doc comments for several methods returning bools (details)
  706. [Attributor] Introduce module slice. (details)
  707. Reland [OpenMPOpt] ICV tracking for calls (details)
  708. [llvm-reduce] Function body reduction: don't forget to unset comdat (details)
  709. [LV] Add some const to RecurrenceDescriptor. NFC (details)
  710. [Hexagon] Fix perfect shuffle generation for single vectors (details)
  711. [NFC][compiler-rt] Factor out __div[sdt]i3 and __mod[dt]i3 implementations (details)
  712. [CVP] Regenerate test checks (NFC) (details)
  713. [SLP] make commutative check apply only to binops; NFC (details)
  714. [x86] add tests for multi-use fast sqrt/recip; NFC (details)
  715. [AArch64] add tests for multi-use fast sqrt/recip; NFC (details)
  716. [DAGCombiner] skip reciprocal divisor optimization for x/sqrt(x) (details)
  717. [FastISel] update to use intrinsic's isCommutative(); NFC (details)
  718. [libcxx/variant] Implement workaround for GCC bug. (details)
  719. [LV] Update CFG before adding runtime checks. (details)
  720. Fix gcc warning by explicitly initializing the base class copy ctor (NFC) (details)
  721. [FileCheck] Add precision to format specifier (details)
  722. [llvm-reduce] Add test for BB reduction with non-void ret type. (details)
  723. [X86] Pre-commit the test-shrink.ll changes from D86578. (details)
  724. [DSE,MemorySSA] Simplify code, EarlierAccess is be a MemoryDef (NFC). (details)
  725. [GVN] add test for commutative intrinsic; NFC (details)
  726. [NewGVN] add test for commutative intrinsic; NFC (details)
  727. [IR][GVN] allow intrinsics in Instruction's isCommutative query (details)
  728. [DSE,MemorySSA] Skip defs without analyzable write locations. (details)
  729. Revert "[IR][GVN] allow intrinsics in Instruction's isCommutative query" (details)
  730. [GVN] add another commutable intrinsic test; NFC (details)
  731. [InstCombine] add extra-use tests for fmul+sqrt; NFC (details)
  732. [Sink][test] Add nounwind test and properly test convergent (details)
  733. [Sink] Optimize/simplify sink candidate finding with nearest common dominator (details)
  734. [Test] Simplify DWARF test cases. NFC. (details)
  735. [lldb] Don't crash when LLDB can't extract the tsan report (details)
  736. [FileCheck] Move FileCheck implementation out of LLVMSupport into its own library (details)
  737. Revert "[FileCheck] Move FileCheck implementation out of LLVMSupport into its own library" (details)
  738. [llvm-readobj/elf] - Don't fail when dumping an archive with a member that can't be recognized. (details)
  739. [lldb] Fix TestCompletion's pid completion failing randomly (details)
  740. [lldb][NFC] Remove trailing whitespace in TestCompletion (details)
  741. Fix sphinx documentation after a6a37a2fcd2a8048a75bd0d8280497ed89d73224 (details)
  742. [lldb] tab completion for class `CommandObjectTypeFormatterDelete` (details)
  743. [NFCI] Silent a build warning due to an extra semi-colon (details)
  744. [analyzer] Add modeling for unique_ptr move constructor (details)
  745. [Flang][NFC] Remove license comments from files in docs/ folder. (details)
  746. [x86] add another test for reciprocal sqrt; NFC (details)
  747. [AArch64] add another test for reciprocal sqrt; NFC (details)
  748. [DAGCombiner] skip reciprocal divisor optimization for x/sqrt(x), better (details)
  749. [clang-tidy] New check readability-prefer-member-initializer (details)
  750. [Clang-Tidy] New check `bugprone-redundant-branch-condition` (details)
  751. [gn build] Port 14dd0737822 (details)
  752. [gn build] Port f5fd7486d6c (details)
  753. Teach the swift calling convention about _Atomic types (details)
  754. [CodeGen] Make sure the EH cleanup for block captures is conditional when the block literal is in a conditional context (details)
  755. [clang-tidy] Buildbot failure fix for commit rGf5fd7486d6c0 (details)
  756. [PowerPC][AIX] Add test for returning a vector type. [NFC] (details)
  757. [llvm-reduce] Create returns with undef values for non-void functions. (details)
  758. [NFC] [DAGCombiner] Remove unnecessary negation in visitFNEG (details)
  759. [NFC] [DAGCombiner] Refactor bitcast folding within fabs/fneg (details)
  760. [analyzer] Add bool operator modeling for unque_ptr (details)
  761. [X86][CGP] Pre-commit test cases for D86371. (details)
  762. [LLD] [COFF] Error out if creating a DLL with too many exported symbols (details)
  763. [ARM] Register pressure with -mthumb forces register reload before each call (details)
  764. [ORC] Remove a stray semicolon, silencing warnings. NFC. (details)
  765. [NFC][InstCombine] visitPHINode(): cleanup PHI CSE instruction replacement (details)
  766. [SVE] Remove calls to VectorType::getNumElements from InstCombine (details)
  767. [IR][GVN] allow intrinsics in Instruction's isCommutative query (2nd try) (details)
  768. [X86][CGP] Add gather test cases for D86371. (details)
  769. [docs] Fix indentation in FileCheck.rst (details)
  770. [mlir][OpFormatGen] Add support for specifiy "custom" directives. (details)
  771. [mlir][ODS] Add new SymbolNameAttr and add support for in assemblyFormat (details)
  772. [mlir][OpFormatGen] Add initial support for regions in the custom op assembly format (details)
  773. [mlir][PDL] Move the formats for PatternOp and RewriteOp to the declarative form. (details)
  774. [OpenMPOpt][HideMemTransfersLatency] Get values stored in offload arrays (details)
  775. [flang] Format label scope is independent of block scope (details)
  776. [analyzer][NFC] Add `override` keyword missing from D86027 (details)
  777. [SVE] Mark VectorType::getNumElements() deprecated (details)
  778. [lldb] Add reproducer verifier (details)
  779. [ORC] Remove an unused variable. (details)
  780. [flang] Make `TypeParamInquiry` monomorphic (details)
  781. [SVE] Remove calls to VectorType::getNumElements() from llvm-stress (details)
  782. Fix mlir-reduce to explicitly register dialects and disable the global dialect registry by default (details)
  783. [flang] Check shape conformance on initializers (details)
  784. [mlir][openacc] Add missing attributes and operands for acc.loop (details)
  785. [OpenMPOpt][NFC] Moving constants as struct static attributes (details)
  786. [DWARFYAML] Make the debug_str section optional. (details)
  787. [MemorySSA] Clean up single value phis. (details)
  788. [CMake] Use find_library for ncurses (details)
  789. Remove -Wcompound-token-split-by-space from -Wall. (details)
  790. Fix -Wcompound-token-split to give the same warnings under -E (details)
  791. [Test] Move IndVars test to a proper place (details)
  792. More accurately compute the ranges of possible values for +, -, *, &, %. (details)
  793. Classify (small unsigned bitfield) < 0 comparisons under (details)
  794. Revert "[ARM] Register pressure with -mthumb forces register reload before each call" (details)
  795. [SVE][CodeGen] Fix TypeSize/ElementCount related warnings in sve-split-load.ll (details)
  796. [analyzer][StdLibraryFunctionsChecker] Use Optionals throughout the summary API (details)
  797. Revert "[lldb] Add reproducer verifier" (details)
  798. [NFCI] Removed an un-used declaration got accidentally introduced in f91d18eaa946b2d2ea5a9 (details)
  799. [llvm-readobj/elf] - Report warnings instead of errors when dumping broken stack sizes sections. (details)
  800. [llvm-readobj][test] - Update the comment in archive.test (details)
  801. [llvm-readobj][test] - Remove amdgpu-elf-definitions.test (details)
  802. [libcxx] Link target `cxx_external_threads` to `cxx-headers` for BUILD_EXTERNAL_THREAD_LIBRARY (details)
  803. [llvm-dwarfdump][test] Add tests for dumping the .debug_line_str section. (details)
  804. [NFC][Asan] Format includes (details)
  805. [OpenMP] Fix infinite loop in Sema::isOpenMPGlobalCapturedDecl() (details)
  806. Reland [FileCheck] Move FileCheck implementation out of LLVMSupport into its own library (details)
  807. [InstCombine] adjust recip sqrt tests for better coverage; NFC (details)
  808. [llvm-readobj] - Remove Error.cpp,.h and drop dependencies in the code. (details)
  809. [NFC] Test commit, whitespace changes (details)
  810. [LoopIdiomRecognizePass] Options to disable part or the entire Loop Idiom Recognize Pass (details)
  811. [SystemZ][z/OS] Adding initial toolchain for z/OS (details)
  812. [SystemZ][z/OS] Fix build break in z/OS toolchain (details)
  813. AMDGPU: Convert test to MIR (details)
  814. AMDGPU: Check some offsets in test (details)
  815. PowerPC: Switch test to generated checks (details)
  816. GlobalISel: Artifact combine unmerge of unmerge (details)
  817. Revert "Reapply D70800: Fix AArch64 AAPCS frame record chain" (details)
  818. GlobalISel: Implement computeKnownBits for G_UNMERGE_VALUES (details)
  819. GlobalISel: Implement computeNumSignBits for G_SEXTLOAD/G_ZEXTLOAD (details)
  820. GlobalISel: Add combines for extend operations (details)
  821. [flang] Improve compile-time shape conformance checking (details)
  822. [PowerPC] Implement instruction definitions/MC Tests for xvcvspbf16 and xvcvbf16spn (details)
  823. [DAGCombiner] Fold an AND of a masked load into a zext_masked_load (details)
  824. [libc++] Improve REQUIRES for _ExtInt test on recent Clangs (details)
  825. [builtins] Unify the softfloat division implementation (details)
  826. [PowerPC] Handle STRICT_FSETCC(S) in more cases (details)
  827. GlobalISel: Implement computeKnownBits for G_BSWAP and G_BITREVERSE (details)
  828. GlobalISel: Port smarter known bits for umin/umax from DAG (details)
  829. GlobalISel: Implement computeNumSignBits for G_SELECT (details)
  830. [tsan] Fix "failed to intercept sysctlnametomib" on FreeBSD (details)
  831. x87 FPU state instructions do not use an f32 memory location (details)
  832. [GlobalISel] Fold xor(cmp(pred, _, _), 1) -> cmp(inverse(pred), _, _) (details)
  833. [flang] Fix integer CASE constant typing (details)
  834. [flang] Version information in flang/f18 (details)
  835. [AArch64][GlobalISel] Optimize away a Not feeding a brcond by using tbz instead of tbnz. (details)
  836. [Bitstream] Use alignTo to make code more readable. NFC (details)
  837. [PowerPC][AIX] Update save/restore offset for frame and base pointers. (details)
  838. [libfuzzer] Reduce default verbosity when printing large mutation sequences (details)
  839. [gn build] port 5ffd940ac02 a bit more (details)
  840. [gn build] Port 3d90a61cf2e (details)
  841. [gn build] Port 3e1e5f54492 (details)
  842. First commit on the release/11.x branch. (details)
  843. [fuzzer] Create user provided fuzzer writeable directories when requested if they dont exist (details)
  844. [builtins] Make __div[sdt]f3 handle denormal results (details)
  845. [MemorySSA] Update phi map with replacement value. (details)
  846. Revert "[fuzzer] Create user provided fuzzer writeable directories when requested if they dont exist" (details)
  847. [libc++] Workaround timespec_get not always being available in Apple SDKs (details)
  848. [OpenMP] Consolidate error handling and debug messages in Libomptarget (details)
  849. Revert "Revert "Reapply D70800: Fix AArch64 AAPCS frame record chain"" (details)
  850. [ORC] Add unit test for HasMaterializationSideEffectsOnly failure behavior. (details)
  851. Do not emit "-tune-cpu generic" for PS4 platform (details)
  852. [Bindings] Add LLVMAddInstructionSimplifyPass (details)
  853. [MachineCopyPropagation] In isNopCopy, check the destination registers match in addition to the source registers. (details)
  854. [LV] Interleave to expose ILP for small loops with scalar reductions. (details)
  855. Revert "[libfuzzer] Reduce default verbosity when printing large mutation sequences" (details)
  856. [Loads] Add canReplacePointersIfEqual helper. (details)
  857. [NFC] Fix unused var in release build (details)
  858. [amdgpu] Run SROA after loop unrolling. (details)
  859. Revert "[GlobalISel] Fold xor(cmp(pred, _, _), 1) -> cmp(inverse(pred), _, _)" (and dependent patch "Optimize away a Not feeding a brcond by using tbz instead of tbnz.") (details)
  860. [LangRef] Fix condition for when a loop is considered parallel. (details)
  861. [mlir][ODS] Use c++ types for integer attributes of fixed width when possible. (details)
  862. Thread safety analysis: More consistent warning message (details)
  863. [builtins] Fix divtf3_test.c (details)
  864. Revert "Revert "[GlobalISel] Fold xor(cmp(pred, _, _), 1) -> cmp(inverse(pred), _, _)" (and dependent patch "Optimize away a Not feeding a brcond by using tbz instead of tbnz.")" (details)
  865. [llvm] [unittests] Remove temporary files after they're not needed (details)
  866. [Docs] Remove outdated OS limitation (details)
  867. [SVE] Update INSERT_SUBVECTOR DAGCombine to use getVectorElementCount(). (details)
  868. [llvm] [unittests] Fix failing test 'FileCollectorTest.addDirectory' (details)
  869. [PowerPC] Implement builtins for xvcvspbf16 and xvcvbf16spn (details)
  870. [libFuzzer] Break dependency on common_interface_defs.h (details)
  871. [mlir][vulkan-runner] Explicitly export vulkan-runtime-wrapper entry points. (details)
  872. [clang] consistently use getLangOpts() (details)
  873. [ADT] Make Optional a literal type. (details)
  874. [clang] Do not consider the template arguments of bases to be bases themselves (details)
  875. [clangd] Handle templates more consistently in type hierarchy (details)
  876. [lldb/interpreter] Improve REPL init file compatibility (details)
  877. Simplify Symbol Status Message to Only Debug Info Size (details)
  878. [NFC] Fix unused var in release builds. (details)
  879. [lldb] Move ScriptCommand and RegexCommand under Commands (NFC) (details)
  880. [MemCpyOptimizer] Preserve analyses and replace use of lambdas to get them. (details)
  881. [DebugInfo] Simplify string table dumpers. (details)
  882. Don't take the expression range into account when looking for widening (details)
  883. Revert switch based variant temporarily. (details)
  884. [ORC] Fix MachOPlatform's synthetic symbol dependence registration. (details)
  885. [ORC] Add an early out for MachOPlatform's init-scraper plugin setup. (details)
  886. Fix build-bots. (details)
  887. [ORC] Remove stray debugging output. (details)
  888. [CMake] Remove -Wl,-allow-shlib-undefined which was added in rL221530 (details)
  889. [RFC][Target] Add a new triple called Triple::csky (details)
  890. [mlir] Add Complex Type, Vector Type and Tuple Type subclasses to python bindings (details)
  891. [Attributor] Fix AANoUndef initialization (details)
  892. [Attributor] Make use of AANoUndef in AAUndefinedBehavior (details)
  893. Revert "[libc++] Workaround timespec_get not always being available in Apple SDKs" (details)
  894. [X86][SSE] SimplifyDemandedVectorEltsForTargetNode - add general shuffle combining support (details)
  895. [mlir][VectorOps] Fail fast when a strided memref is passed to vector_transfer (details)
  896. [X86] Remove superfluous trailing semicolons, fixing warnings. NFC. (details)
  897. [DebugInfo] Remove Dwarf5AccelTableWriter::Header::UnitLength. NFC. (details)
  898. [DebugInfo] Emit a 1-byte value as a terminator of entries list in the name index. (details)
  899. [AArch64][SVE] Preserve full vector regs over EH edge. (details)
  900. [AMDGPU] Fix offset for REL32_HI relocs (details)
  901. [SVE] Don't reorder subvector/binop sequences when the resulting binop is not legal. (details)
  902. [mlir] Extend BufferAssignmentTypeConverter with result conversion callbacks (details)
  903. [Test] Simplify test by removing unneeded variable (details)
  904. Move all fields of '-cc1' option related classes into def file databases (details)
  905. [VectorCombine] allow vector loads with mismatched insert type (details)
  906. [InstCombine] Transform 1.0/sqrt(X) * X to X/sqrt(X) (details)
  907. [mlir][VectorToSCF] 128 byte alignment of alloc ops (details)
  908. [GlobalOpt] Fix an incorrect Modified status (details)
  909. Revert "[mlir] Extend BufferAssignmentTypeConverter with result conversion callbacks" (details)
  910. [libc++] Make some testing utilities constexpr (details)
  911. [ImplicitNullChecks] NFC: Separated out checks and added comments (details)
  912. [ImplicitNullChecks] NFC: Refactor dependence safety check (details)
  913. [lldb/Target] Add custom interpreter option to `platform shell` (details)
  914. [NFC] [PowerPC] Add FMA flag propagation test (details)
  915. [IPSCCP] Fix a bug that the "returned" attribute is not cleared when function is optimized to return undef (details)
  916. [lldb/Host] Add missing proc states (details)
  917. [mlir] Extend BufferAssignmentTypeConverter with result conversion callbacks (details)
  918. [X86][SSE] Fold vselect(pshufb,pshufb) -> or(pshufb,pshufb) (details)
  919. [ms] [llvm-ml] Add support for line continuations in MASM (details)
  920. [IRGen] Fix an assert when __attribute__((used)) is used on an ObjC method (details)
  921. Make -fvisibility-inlines-hidden apply to static local variables in inline functions on Darwin (details)
  922. [libc++] Re-apply the workaround for timespec_get not always being available in Apple SDKs (details)
  923. [libc++] Fix incorrect usage of __STDC_HOSTED__ (details)
  924. [libc++] Remove definition of _LIBCPP_ALIGNOF for GCC in C++03 mode (details)
  925. [flang] Make -fget-symbols-sources output deterministic (details)
  926. [AMDGPU][MC] Corrected parser to avoid generation of excessive error messages (details)
  927. [flang] Support multiple CookedSource instances (details)
  928. [clang-format] Parse double-square attributes as pointer qualifiers (details)
  929. [Bindings] Move LLVMAddInstructionSimplifyPass to Scalar.cpp (details)
  930. Revert "Move all fields of '-cc1' option related classes into def file databases" (details)
  931. [TSan][libdispatch] Fix compilation error on Linux (details)
  932. [gn build] Fix COMPILER_RT_HAS_* defines for libclang_rt.profile (details)
  933. [clang] Add missing .def files to Clang's modulemap (details)
  934. [AST] Fix handling of long double and bool in __builtin_bit_cast (details)
  935. Fix a -Wparenthesis warning in 8ff44e644bb7, NFC (details)
  936. Store an Identifier instead of a StringRef for the OperationName inside an AbstractOperation (NFC) (details)
  937. [PowerPC] Implemented Vector Multiply Builtins (details)
  938. Add constexpr to pair (details)
  939. [GCDAProfiling] Suppress -Wprio-ctor-dtor for GCC>=9 and remove unused write_string/length_of_string (details)
  940. [libTooling] Restore defaults for matchers in makeRule. (details)
  941. [lldb/test] Fix TestPlatform*.py Windows failures (NFC) (details)
  942. [libcxx] Fix whitespace error (details)
  943. Make sure that llvm-ml uses MASM integer lexing when in --as-lex mode (details)
  944. [flang] Implement nonstandard OPEN statement CARRIAGECONTROL specifier (details)
  945. Revert "[HIP] Change default --gpu-max-threads-per-block value to 1024" (details)
  946. [PowerPC] Update MemorySanitizer test to cater for number of CPUs > 1024 (details)
  947. [APInt] New member function setBitVal (details)
  948. [PowerPC] Do not legalize vector FDIV without VSX (details)
  949. [mlir][Affine] Fix AffineLoopInvariantCodeMotion (details)
  950. Revert "[clang] Add missing .def files to Clang's modulemap" (details)
  951. Perform an extra consistency check when searching ModuleManager's (details)
  952. [scudo][standalone] Enable secondary cache release on Fuchsia (details)
  953. run in terminal (details)
  954. [ThinLTO] Fix a metadata lost issue with DICompileUnit import. (details)
  955. [mlir][Affine] Support affine vector loads/stores in LICM (details)
  956. Use an Identifier instead of an OperationName internally for OpPassManager identification (NFC) (details)
  957. Improve error handling for SmallVector programming errors (details)
  958. [VectorCombine][SVE] Do not fold bitcast shuffle for scalable type. (details)
  959. Fix de6caf871be79dc7549aebe4e4fb57d52f6ed202 (details)
  960. [PowerPC] Fix broken kill flag after MI peephole (details)
  961. [libc++] Avoid including <sys/cdefs.h> on non-Apple platforms in <ctime> (details)
  962. [MLIR][Affine][VectorOps] Vectorize uniform values in SuperVectorizer (details)
  963. Tweak `mlir-linalg-ods-gen` library dependency: only MLIRIR is needed, not the entire parser (NFC) (details)
  964. Revert de6caf871be79dc7549aebe4e4fb57d52f6ed202 and 51128b670d4f757132e927c4f3dd78d257d37f70 (https://reviews.llvm.org/D84974) (details)
  965. [asan_symbolize] Remove --use-symbol-table=true which is the default (details)
  966. [llvm-dwarfdump] Warn user when it encounters no null terminated strings. (details)
  967. [InstCombine] Fix a couple crashes with extractelement on a scalable vector. (details)
  968. [compiler-rt] Don't build llvm-lit in RUNTIMES-BUILD (details)
  969. Fix for PR46384. Failure on weak dllimport. (details)
  970. Add code owners of new MachO port (details)
  971. [lldb/Gui] zero-initialize children_stop_id (details)
  972. [mlir][spirv] Add block read and write from SPV_INTEL_subgroups (details)
  973. [X86] Add a /tune: option for clang-cl (details)
  974. [CodeGenPrepare][X86] Teach optimizeGatherScatterInst to turn a splat pointer into GEP with scalar base and 0 index (details)
  975. [lldb] Always record both the working and home directory. (details)
  976. [NewPM][Lint] Port -lint to NewPM (details)
  977. Revert "[NewPM][Lint] Port -lint to NewPM" (details)
  978. [lldb] Pass -fno-objc-exceptions for objcxx targets (details)
  979. [lldb] Add reproducer verifier (details)
  980. [mlir][Linalg] Wrong tile size for convolutions fixed (details)
  981. Decouple OpPassManager from the the MLIRContext (NFC) (details)
  982. Adding GDB PrettyPrinter for mlir::Identifier. (details)
  983. [StackProtector] Fix crash with vararg due to not checking LocationSize validity. (details)
  984. [debugserver] Fix that debugserver's stop reply packets always return signal code 0 (details)
  985. Fix broken HUGE_VALF macro in llvm-c/DataTypes.h (details)
  986. [lldb] Remove debugserver specific string from TestAbortExitCode check (details)
  987. [AArch64] Add asm directives for the remaining SEH unwind codes (details)
  988. [lldb] Remove a stray semicolon, fixing pedantic GCC warnings. NFC. (details)
  989. [lldb] Make symbol list output from `image dump symtab` not depend on internal ordering of DenseMap (details)
  990. [lldb/Interpreter] Fix language detection for the REPL InitFile (details)
  991. [SCCP] Add test where dereferenceable ptr is replaced with un-dereferenceable one (details)
  992. [llvm-readelf/obj] - Cleanup the interface of `DumpStyle`. NFCI. (details)
  993. [SCCP] Do not replace deref'able ptr with un-deref'able one. (details)
  994. Revert "[SCCP] Do not replace deref'able ptr with un-deref'able one." (details)
  995. [clang][aarch64] Drop experimental from  __ARM_FEATURE_SVE_BITS macro (details)
  996. Revert "Adding GDB PrettyPrinter for mlir::Identifier." (details)
  997. [llvm-readobj/elf] - Improve warning messages, reported for .stack_sizes sections. (details)
  998. [llvm-readelf] - Move a bit of common code to printDynamicRelocHeader(). NFC. (details)
  999. [PowerPC] Fix missing TLS symbol type. (details)
  1000. [MemCpyOptimizer] Change required analysis order for BasicAA/PhiValuesAnalysis (details)
  1001. [X86][AVX] Test SSE41 BLENDV combines on AVX targets as well (details)
  1002. [X86][SSE] Add PR47404 test case (details)
  1003. [GVN] Preserve MemorySSA if it is available. (details)
  1004. [Test] Add test showing some simple cases that IndVarSimplify does not cover (details)
  1005. [NFC][RISCV] Simplify pass arg of RISCVMergeBaseOffsetOpt (details)
  1006. [X86][SSE] Fold select(X > -1, A, B) -> select(0 > X, B, A) (PR47404) (details)
  1007. [lldb] Improve test failure reporting for expect() (details)
  1008. [PassManager] Move load/store motion pass after DSE in LTO pipeline. (details)
  1009. [EarlyCSE] add tests for fma/fmuladd; NFC (details)
  1010. [X86] Fix llvm-qualified-auto warning by using const auto*. NFC. (details)
  1011. [X86] Fix llvm-qualified-auto warning by using auto*. NFC. (details)
  1012. [X86] Avoid llvm-qualified-auto warning by not using auto. NFC. (details)
  1013. [mlir] Add Acos, Asin, Atan, Sinh, Cosh, Pow to SPIRVGLSLOps (details)
  1014. LowerEmuTLS.cpp - remove unused TargetLowering.h include. NFC. (details)
  1015. [spirv] Add SPIR-V GLSL extended Round op (details)
  1016. [mlir] Support default valued attribute in StructsGen (details)
  1017. [mlir][VectorOps] Fall back to a loop when accessing a vector from a strided memref (details)
  1018. [LLD][PowerPC][test] Fix out-of-memory issue running ppc64-pcrel-long-branch-error.s (details)
  1019. [GVN] add tests for >2 arg commutable intrinsics; NFC (details)
  1020. [IR][GVN] add/allow commutative intrinsics with >2 args (details)
  1021. Fix spelling mistake. NFC. (details)
  1022. X86/X86TargetObjectFile.cpp - remove unused headers. NFCI. (details)
  1023. [libTooling] Provide overloads of `rewriteDescendants` that operate directly on an AST node. (details)
  1024. GlobalISel/Utils.h - remove unused includes. NFCI. (details)
Commit df5335a36d3d70927d1834f31c705e31b4b3701f by n.james93
[clang-tidy] readability-simplify-boolean-expr detects negated literals

Adds support for detecting cases like `if (!true) ...`.
Addresses [[ https://bugs.llvm.org/show_bug.cgi?id=47166 | readability-simplify-boolean-expr not detected for negated boolean literals. ]]

Reviewed By: aaron.ballman

Differential Revision: https://reviews.llvm.org/D86176
The file was modifiedclang-tools-extra/test/clang-tidy/checkers/readability-simplify-bool-expr.cpp (diff)
The file was modifiedclang-tools-extra/clang-tidy/readability/SimplifyBooleanExprCheck.h (diff)
The file was modifiedclang-tools-extra/clang-tidy/readability/SimplifyBooleanExprCheck.cpp (diff)
Commit 436a35a77313598eedad867a0f086aeb1b5b6eb2 by llvm-dev
[docs] Replace "constexpr expressions" with "constant expressions".

Based off comment from @rsmith on D86339
The file was modifiedclang/docs/ReleaseNotes.rst (diff)
Commit 2fc7c852018ab0d59101f98a29bab7050596a0f0 by spatel
[DAGCombiner] clean up merge of truncated stores; NFC

This code handles the special-case of i8 stores,
but it could be generalized to deal with other types.
The file was modifiedllvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp (diff)
Commit ec06b381304140b2553cfdfae5a063f39c5c59ff by spatel
[InstCombine] canonicalize 'not' ops before logical shifts

This reverses the existing transform that would uniformly canonicalize any 'xor' after any shift. In the case of logical shifts, that turns a 'not' into an arbitrary 'xor' with constant, and that's probably not as good for analysis, SCEV, or codegen.

The SCEV motivating case is discussed in:
http://bugs.llvm.org/PR47136

There's an analysis motivating case at:
http://bugs.llvm.org/PR38781

I did draft a patch that would do the same for 'ashr' but that's questionable because it's just swapping the position of a 'not' and uncovers at least 2 missing folds that we would probably need to deal with as preliminary steps.

Alive proofs:
https://rise4fun.com/Alive/BBV

  Name: shift right of 'not'
  Pre: C2 == (-1 u>> C1)
  %a = lshr i8 %x, C1
  %r = xor i8 %a, C2
  =>
  %n = xor i8 %x, -1
  %r = lshr i8 %n, C1

  Name: shift left of 'not'
  Pre: C2 == (-1 << C1)
  %a = shl i8 %x, C1
  %r = xor i8 %a, C2
  =>
  %n = xor i8 %x, -1
  %r = shl i8 %n, C1

  Name: ashr of 'not'
  %a = ashr i8 %x, C1
  %r = xor i8 %a, -1
  =>
  %n = xor i8 %x, -1
  %r = ashr i8 %n, C1

Differential Revision: https://reviews.llvm.org/D86243
The file was modifiedllvm/test/Transforms/InstCombine/xor.ll (diff)
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp (diff)
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineShifts.cpp (diff)
The file was modifiedllvm/test/Transforms/InstCombine/2010-11-01-lshr-mask.ll (diff)
The file was modifiedllvm/test/Transforms/InstCombine/compare-signs.ll (diff)
The file was modifiedllvm/test/Transforms/InstCombine/and-xor-merge.ll (diff)
The file was modifiedllvm/test/Transforms/InstCombine/icmp.ll (diff)
Commit 2ceac91ec0fc186ff503402e7b88e4576a69008d by llvm-dev
Enable constexpr on ROTATELEFT/ROTATERIGHT builtin intrinsics (PR47249)

This enables us to use the __builtin_rotateleft / __builtin_rotateright 8/16/32/64 intrinsics inside constexpr code.

Differential Revision: https://reviews.llvm.org/D86342
The file was modifiedclang/test/Sema/constant-builtins-2.c (diff)
The file was modifiedclang/docs/ReleaseNotes.rst (diff)
The file was modifiedclang/lib/AST/ExprConstant.cpp (diff)
The file was modifiedclang/docs/LanguageExtensions.rst (diff)
Commit e7d9182a666a2a8f903bd330c82d7c623b783371 by llvm-dev
Enable constexpr on BITREVERSE builtin intrinsics (PR47249)

This enables us to use the __builtin_bitreverse 8/16/32/64 intrinsics inside constexpr code.

Differential Revision: https://reviews.llvm.org/D86339
The file was modifiedclang/docs/ReleaseNotes.rst (diff)
The file was modifiedclang/lib/AST/ExprConstant.cpp (diff)
The file was modifiedclang/test/Sema/constant-builtins-2.c (diff)
The file was modifiedclang/docs/LanguageExtensions.rst (diff)
Commit 20bb9fe565ab2c70b768d829d42bbbaea2be85cc by jeremy.morse
[LiveDebugValues] Install an implementation-picking LiveDebugValues pass

This patch renames the current LiveDebugValues class to "VarLocBasedLDV"
and removes the pass-registration code from it. It creates a separate
LiveDebugValues class that deals with pass registration and management,
that calls through to VarLocBasedLDV::ExtendRanges when
runOnMachineFunction is called. This is done through the "LDVImpl"
abstract class, so that a future patch can install the new
instruction-referencing LiveDebugValues implementation and have it
picked at runtime.

No functional change is intended, just shuffling responsibilities.

Differential Revision: https://reviews.llvm.org/D83046
The file was modifiedllvm/lib/CodeGen/CMakeLists.txt (diff)
The file was modifiedllvm/lib/CodeGen/LiveDebugValues/VarLocBasedImpl.cpp (diff)
The file was addedllvm/lib/CodeGen/LiveDebugValues/LiveDebugValues.h
The file was addedllvm/lib/CodeGen/LiveDebugValues/LiveDebugValues.cpp
Commit eeb46367720a56f06ac64fda6f60727ae8a5b5ea by llvmgnsyncbot
[gn build] Port 20bb9fe565a
The file was modifiedllvm/utils/gn/secondary/llvm/lib/CodeGen/BUILD.gn (diff)
Commit 2d9be9e31852866b21da93a04dba003099f21caa by jeremy.morse
Fix some builds after 20bb9fe565a

-Wsuggest-override indicates this VarLocBasedLDV method needs the
override keyword.
The file was modifiedllvm/lib/CodeGen/LiveDebugValues/VarLocBasedImpl.cpp (diff)
Commit 42b993d97d31d7810fa3c1f7f2e79f72baa02416 by llvm-dev
[X86] ia32intrin.h - pull out common attributes used in cast helpers into define. NFCI.
The file was modifiedclang/lib/Headers/ia32intrin.h (diff)
Commit 901e3317fe7c88405b232b090896ae0d111c8c93 by Matthew.Arsenault
GlobalISel: Merge FewerElements for G_BUILD_VECTOR/G_CONCAT_VECTORS

This switches from using G_EXTRACT in odd cases to widen with undef
and unmerge.
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fminnum.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fcmp.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-umax.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-smin.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fmul.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-ushlsat.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-ssubo.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fmaxnum.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fsub.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-llvm.amdgcn.image.load.2d.d16.ll (diff)
The file was modifiedllvm/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-shl.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-bitcast.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-lshr.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-uaddo.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-select.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-build-vector.s16.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-intrinsic-round.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-smax.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fcanonicalize.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fsin.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-sshlsat.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-sext-inreg.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-umin.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-uaddsat.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fsqrt.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-saddsat.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-ffloor.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-saddo.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-ssubsat.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-phi.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-usubo.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-usubsat.mir (diff)
The file was modifiedllvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fma.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fadd.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fcos.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-ashr.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-extract.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fdiv.mir (diff)
Commit 6983741eaa84e76802feca9145e39293cc6d15b4 by llvm-project
[Polly] Fix use-after-free.

VirtualUse of type UseKind::Inter expects the definition of a
llvm::Value to be represented in another statement. In the bug report
that statement has been removed due to its domain being empty.
Scop::InstStmtMap for the llvm::Value's defintion still pointed to the
removed statement, which resulted in the use-after-free.

The defintion statement was removed by Simplify because it was
considered to not be reachable by other uses; trivially because it is
never executed due to its empty domain. However, no such thing happend
to the using statement using the value altough its domain is also empty.

Fix by always removing statements with empty domains in Simplify since
these are not properly analyzable. A UseKind::Inter should always have a
statement with its defintion due to LLVM's SSA form.
Scop::removeStmtNotInDomainMap() also removes statements with empty
domains but does so without considering the context as used by
Simplify's analyzes.

In another angle, InstStmtMap pointing to removed statements should not
happen either and ForwardOpTree would have bailed out if the llvm::Value
definition was not represented by a statement. This will be corrected in
a followup-commit.

This fixes llvm.org/PR47098
The file was addedpolly/test/Simplify/func-b320a7.ll
The file was modifiedpolly/include/polly/ScopInfo.h (diff)
The file was modifiedpolly/lib/Transform/Simplify.cpp (diff)
Commit 8e06bf6b3a2e8d25e56cd52dca0cf3ff1b37b5d1 by llvm-project
[Polly] Ensure consistent Scop::InstStmtMap. NFC.

InstStmtMap became inconsistent with ScopStmt::getInstructions() after
the statement's instructions is modified, e.g. by being considered
unused by the Simplify pass or being moved by ForwardOpTree.

Change ScopStmt::setInstructions() to also update its parent's
InstStmtMap. Also add assertions checking the consistency.
The file was modifiedpolly/include/polly/ScopInfo.h (diff)
The file was modifiedpolly/lib/Analysis/ScopInfo.cpp (diff)
Commit bb894b97821a1c970ce0c3243aaebbfa94add15c by Jonas Devlieghere
[lldb] Extract reproducer providers & co into their own header.

Extract all the provider related logic from Reproducer.h and move it
into its own header ReproducerProvider.h. These classes are seeing most
of the development these days and this reorganization reduces
incremental compilation from ~520 to ~110 files when making changes to
the new header.
The file was modifiedlldb/include/lldb/Utility/Reproducer.h (diff)
The file was modifiedlldb/source/Plugins/ExpressionParser/Clang/ClangModulesDeclVendor.cpp (diff)
The file was modifiedlldb/source/Plugins/SymbolVendor/MacOSX/SymbolVendorMacOSX.cpp (diff)
The file was modifiedlldb/unittests/Utility/ReproducerTest.cpp (diff)
The file was addedlldb/source/Utility/ReproducerProvider.cpp
The file was modifiedlldb/include/lldb/Core/IOHandler.h (diff)
The file was modifiedlldb/source/Utility/Reproducer.cpp (diff)
The file was modifiedlldb/source/API/SBReproducerPrivate.h (diff)
The file was modifiedlldb/source/Interpreter/CommandInterpreter.cpp (diff)
The file was modifiedlldb/source/Utility/ProcessInfo.cpp (diff)
The file was addedlldb/include/lldb/Utility/ReproducerProvider.h
The file was modifiedlldb/include/lldb/Utility/GDBRemote.h (diff)
The file was modifiedlldb/source/Core/IOHandler.cpp (diff)
The file was modifiedlldb/source/Initialization/SystemInitializerCommon.cpp (diff)
The file was modifiedlldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.cpp (diff)
The file was modifiedlldb/source/Utility/CMakeLists.txt (diff)
The file was modifiedlldb/include/lldb/Utility/ProcessInfo.h (diff)
The file was modifiedlldb/source/Host/common/Host.cpp (diff)
Commit c0c3cafa2bdaaf878a6b544837073d3d92fbb797 by tkeith
[flang] Fix assert on bad character kind

When we report an error for a bad character kind, don't keep it in the
`DeclTypeSpec`. Otherwise there could be further problems. In this case,
`ComputeOffsets()` got an assertion error because we didn't recognize
`CHARACTER(*,8)` as needing a descriptor because of the bad kind.

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

Differential Revision: https://reviews.llvm.org/D86357
The file was modifiedflang/lib/Semantics/resolve-names.cpp (diff)
The file was modifiedflang/test/Semantics/kinds02.f90 (diff)
Commit 2aaa5a546ea016b8e2092ced1bd7147db51d483a by llvm-project
[flang][msvc] Disambiguate injected class name.

The identifier `Expr` within the scope of the Expr class (including its temple specializations) refers to the current template/instantiation (see https://en.cppreference.com/w/cpp/language/injected-class-name for details). The `MapTemplate` template expect a non-instantiated template as the first template argument, not the concrete instantiation of `Expr`.

At least msvc interprets `Expr` as the injected class name, whereas gcc and clang use the global `flang::evaluate::Expr` template. Disambiguate by explicitly using the namespace.

This patch is part of the series to [[ http://lists.llvm.org/pipermail/flang-dev/2020-July/000448.html | make flang compilable with MS Visual Studio ]].

Reviewed By: DavidTruby

Differential Revision: https://reviews.llvm.org/D85646
The file was modifiedflang/include/flang/Evaluate/expression.h (diff)
Commit 7fef40d83cbb1be376f58b5763cf362e517b5e8d by tyker
[llvm-reduce] make llvm-reduce save the best reduction it has when it crashes

This helps with both debugging llvm-reduce and sometimes getting usefull result even if llvm-reduce crashes

Reviewed By: lebedev.ri

Differential Revision: https://reviews.llvm.org/D85996
The file was modifiedllvm/tools/llvm-reduce/llvm-reduce.cpp (diff)
The file was modifiedllvm/tools/llvm-reduce/deltas/Delta.cpp (diff)
Commit ae6f788240310e50f912f67353bc0a845a104d97 by jeremy.morse
[LiveDebugValues] Add instruction-referencing LDV implementation

This patch imports the instruction-referencing implementation of
LiveDebugValues proposed here:

  http://lists.llvm.org/pipermail/llvm-dev/2020-June/142368.html

The new implementation is unreachable in this patch, it's the next patch
that enables it behind a command line switch. Briefly, rather than
tracking variable locations by just their location as the 'VarLoc'
implementation does, this implementation does it by value:
* Each value defined in a function is numbered, and propagated through
   dataflow,
* Each DBG_VALUE reads a machine value number from a machine location,
* Variable _values_ are propagated through dataflow,
* Variable values are translated back into locations, DBG_VALUEs
   inserted to specify where those locations are.

The ultimate aim of this is to enable referring to variable values
throughout post-isel code, rather than locations. Those patches will
build on top of this new LiveDebugValues implementation in later patches
-- it can't be done with the VarLoc implementation as we don't have
value information, only locations.

Differential Revision: https://reviews.llvm.org/D83047
The file was addedllvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.cpp
The file was modifiedllvm/lib/CodeGen/LiveDebugValues/LiveDebugValues.h (diff)
The file was modifiedllvm/lib/CodeGen/CMakeLists.txt (diff)
Commit 21ad3c4738cb69bd2974a1d9d820b768024406da by llvmgnsyncbot
[gn build] Port ae6f7882403
The file was modifiedllvm/utils/gn/secondary/llvm/lib/CodeGen/BUILD.gn (diff)
Commit 5d8eedee917de2d39d1c485d07a30f8649bc6866 by antonio.afonso
Move Py_buffer_RAII to .h file so SWIG 2 doesnt have to parse it

`struct Py_buffer_RAII` definition uses explicit deleted functions which are not supported by SWIG 2 (only 3).
To get around this I moved this struct to an .h file that is included to avoid being parsed by swig.

Reviewed By: lawrence_danna

Differential Revision: https://reviews.llvm.org/D86381
The file was addedlldb/bindings/python/python-typemaps.h
The file was modifiedlldb/bindings/python/python-typemaps.swig (diff)
Commit 60bcec4eead73996877c389d439af337f186c3ae by maskray
[LiveDebugValues] Delete unneeded copy constructor after D83047

It will suppress the implicitly-declared copy assignment operator in C++20.
The file was modifiedllvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.cpp (diff)
Commit 93af37043b9c1a8ea47890ad2bcf277f9b36c47d by jeremy.morse
Follow-up build fix for rGae6f78824031

One of the bots objects to brace-initializing a tuple:

  http://lab.llvm.org:8011/builders/clang-cmake-x86_64-sde-avx512-linux/builds/43595/steps/build%20stage%201/logs/stdio

As the tuple constructor is apparently explicit. Fall back to the (not
as pretty) explicit construction of a tuple. I'd thought this was
permitted behaviour; will investigate why this fails later.
The file was modifiedllvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.cpp (diff)
Commit c1dc44f914e250979cf95dd486a3b87d2d692bd4 by spatel
[AArch64] add tests for store merge of truncs; NFC
The file was addedllvm/test/CodeGen/AArch64/merge-trunc-store.ll
Commit 542db87f1ac67087aeb5cf572b1f9744d482da69 by martin
[libunwind] Ensure enough alignment for unw_cursor_t for SEH build configurations

When built in SEH mode, UnwindCursor contains a CONTEXT struct,
which is aligned to 16 bytes in most configurations, causing the
whole UnwindCursor object to have 16 byte alignment.

This fixes backtraces using _Unwind_Backtrace on x86_64 mingw,
where an unw_cursor_t allocated on the stack was misaligned before.

This is an ABI break for this struct for this configuration, but very
few callers call libunwind directly (and even fewer directly allocate
an unw_cursor_t anyway).

Differential Revision: https://reviews.llvm.org/D86102
The file was modifiedlibunwind/include/libunwind.h (diff)
The file was modifiedlibunwind/src/UnwindCursor.hpp (diff)
Commit 207d4499dfab050b0535c7361527d3c37cf6488a by llvm-project
[flang][msvc] Split class declaration and constexpr variable definition. NFC.

Msvc has trouble defining a struct/class and defining a constexpr symbol in the same declarator. It reports the following error:
```
basic-parsers.h(809): error C2131: expression did not evaluate to a constant
basic-parsers.h(809): note: failure was caused by call of undefined function or one not declared 'constexpr'
basic-parsers.h(809): note: see usage of 'Fortran::parser::OkParser::OkParser'
```

Fix the msvc compilation by splitting the two definitions into two separate declarators.

This patch is part of the series to [[ http://lists.llvm.org/pipermail/flang-dev/2020-July/000448.html | make flang compilable with MS Visual Studio ]].

Reviewed By: DavidTruby, klausler

Differential Revision: https://reviews.llvm.org/D85937
The file was modifiedflang/lib/Parser/token-parsers.h (diff)
The file was modifiedflang/lib/Parser/basic-parsers.h (diff)
The file was modifiedflang/lib/Parser/expr-parsers.cpp (diff)
Commit 54f5a4ea4c859cf7f34f0d4955abc3a2f44bd0dc by martin
[LLD][COFF] Reset outputSections for successive runs

The global variable outputSections in the COFF writer was not
cleared between runs which caused successive calls to lld::coff::link
to generate invalid binaries. These binaries when loaded would result
in "invalid win32 applications" and/or "bad image" errors.

Differential Revision: https://reviews.llvm.org/D86401
The file was modifiedlld/COFF/Writer.cpp (diff)
Commit 8b14db636dec8afa904366a0d5499b80d7dc7034 by llvm-project
Revert "[Polly] Ensure consistent Scop::InstStmtMap. NFC."

This reverts commit 8e06bf6b3a2e8d25e56cd52dca0cf3ff1b37b5d1.

It broke the polly-x86_64-linux-test-suite and
aosp-O3-polly-before-vectorizer-unprofitable buildbots.
The file was modifiedpolly/lib/Analysis/ScopInfo.cpp (diff)
The file was modifiedpolly/include/polly/ScopInfo.h (diff)
Commit 79cb289a95e5fee838c90cd029100393025029d2 by spatel
[DAGCombiner] add early exit for store merging of truncs

This should be NFC in terms of output because the endian
check further down would bail out too, but we are wasting
time by waiting to that point to give up. If we generalize
that function to deal with more than i8 types, we should
not have to deal with the degenerate case.
The file was modifiedllvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp (diff)
Commit 481c3b8c941c8c9fb2003e8f1f691e3c7774083a by maskray
[llvm-dwarfdump] --statistics: break lines and indent by 2

so that the user does not have to pipe the output to `jq` or `python -m json.tool`.
This change makes testing more convenient because `-NEXT` patterns can be used.
The "prettify by default" is a good tradeoff to make. The output size increases a bit.

Differential Revision: https://reviews.llvm.org/D86318
The file was modifiedllvm/test/tools/llvm-dwarfdump/X86/stats-dbg-callsite-info.ll (diff)
The file was modifiedllvm/test/tools/llvm-dwarfdump/X86/statistics.ll (diff)
The file was modifiedllvm/test/tools/llvm-dwarfdump/X86/stats-inlining-single-cu.ll (diff)
The file was modifiedllvm/test/tools/llvm-dwarfdump/X86/statistics-v3.test (diff)
The file was modifiedllvm/test/tools/llvm-dwarfdump/X86/stats-mulitple-cu-out-of-line.ll (diff)
The file was modifiedllvm/test/tools/llvm-dwarfdump/X86/statistics-dwo.test (diff)
The file was modifiedllvm/test/tools/llvm-dwarfdump/X86/stats-inlining-multi-cu.ll (diff)
The file was modifiedllvm/test/tools/llvm-dwarfdump/X86/statistics-base-address.s (diff)
The file was modifiedllvm/test/tools/llvm-dwarfdump/X86/stats-multiple-cu-members.ll (diff)
The file was modifiedllvm/test/tools/llvm-dwarfdump/X86/locstats.ll (diff)
The file was modifiedllvm/test/tools/llvm-dwarfdump/X86/stats-multiple-cu-same-name.ll (diff)
The file was modifiedllvm/tools/llvm-dwarfdump/Statistics.cpp (diff)
Commit ba93844d114e3ad36a8ca22abc7fce8cb83c1cb8 by maskray
[DebugInfo][test] Fix dwarf-callsite-related-attrs.ll after llvm-dwarfdump --statistics change
The file was modifiedllvm/test/DebugInfo/X86/dwarf-callsite-related-attrs.ll (diff)
Commit cc7bf9bcbfbc8d8188d9fe540c2bc1aee23824af by craig.topper
[X86] Allow 32-bit mode only CPUs with -mtune on 64-bit targets

gcc errors on this, but I'm nervous that since -mtune has been
ignored by clang for so long that there may be code bases out
there that pass 32-bit cpus to clang.
The file was modifiedclang/lib/Basic/Targets.cpp (diff)
The file was modifiedclang/lib/Basic/Targets/X86.cpp (diff)
The file was modifiedclang/test/Misc/target-invalid-cpu-note.c (diff)
The file was modifiedclang/test/Driver/x86-mtune.c (diff)
The file was modifiedclang/include/clang/Basic/TargetInfo.h (diff)
The file was modifiedclang/lib/Basic/Targets/X86.h (diff)
The file was modifiedllvm/include/llvm/Support/X86TargetParser.h (diff)
Commit 3c1b2e338dfdf4f305b1cb40e2ebcb93a7e470c3 by rprichard
[libunwind] Make findUnwindSectionsByPhdr static

Currently, this function is present in the dynsym table of
libunwind.so (on ELF targets). Make the function static instead.

In the previous release (LLVM 10.x), this function was instead a lambda
function inside LocalAddressSpace::findUnwindSections, and because
LocalAddressSpace was marked with _LIBUNWIND_HIDDEN, the lambda
function was also a hidden symbol.

Differential Revision: https://reviews.llvm.org/D86372
The file was modifiedlibunwind/src/AddressSpace.hpp (diff)
Commit 12541b5ed59d00c6a2ac90ccaf7aa8ff37d8d84b by joker.eph
Use TranslateFromMLIRRegistration for SPIRV roundtrip (NFC)

This is aligning it with the other "translation" which operates on a MLIR input.
The file was modifiedmlir/lib/Dialect/SPIRV/Serialization/TranslateRegistration.cpp (diff)
Commit 96cb8cdeb0f31201c14f87a883cecb7725a87b36 by joker.eph
Refactor `mlir-translate` to extract the `main()` logic in a helper on the model of `MlirOptMain()` (NFC)

Differential Revision: https://reviews.llvm.org/D86408
The file was modifiedmlir/include/mlir/Translation.h (diff)
The file was modifiedmlir/tools/mlir-translate/mlir-translate.cpp (diff)
The file was modifiedmlir/lib/Translation/Translation.cpp (diff)
Commit f164534ca8e042ab7bbc25516f88adf027ebe12d by joker.eph
Add a `dialect_registration` callback for "translations" registered with mlir-translate

This will allow out-of-tree translation to register the dialects they expect
to see in their input, on the model of getDependentDialects() for passes.

Differential Revision: https://reviews.llvm.org/D86409
The file was modifiedmlir/lib/Target/LLVMIR/ConvertToROCDLIR.cpp (diff)
The file was modifiedmlir/lib/Target/LLVMIR/ConvertToLLVMIR.cpp (diff)
The file was modifiedmlir/tools/mlir-translate/mlir-translate.cpp (diff)
The file was modifiedmlir/lib/Target/LLVMIR/LLVMAVX512Intr.cpp (diff)
The file was modifiedmlir/lib/Dialect/SPIRV/Serialization/TranslateRegistration.cpp (diff)
The file was modifiedmlir/include/mlir/Translation.h (diff)
The file was modifiedmlir/lib/Target/LLVMIR/ConvertToNVVMIR.cpp (diff)
The file was modifiedmlir/lib/Translation/Translation.cpp (diff)
Commit 52381938bcc8547316d79a4721281da7f934d9b8 by antonio.afonso
Create ${swig_target}-scripts target instead of lldb-python-scripts

This addresses the issue raised here https://reviews.llvm.org/rG02bf5632a94da6c3570df002804f8d3f79c11bfc
The `finish_swig_python` function might be called more than once so we need to create the distribution
component target based on the swig target.

Differential Revision: https://reviews.llvm.org/D86402
The file was modifiedlldb/CMakeLists.txt (diff)
The file was modifiedlldb/bindings/python/CMakeLists.txt (diff)
Commit 50927f3191f908142201ccc50962537bf9d96bda by joker.eph
Reword the documentation for the `mlirTranslateMain` API (NFC)

Address post-commit review in https://reviews.llvm.org/D86408
The file was modifiedmlir/include/mlir/Translation.h (diff)
Commit f8e0e5db48601cb0d019405703ccaa2378f503e0 by llvm-dev
[X86] Enable constexpr on _cast fp<-> uint intrinsics (PR31446)

As suggested by @rsmith on PR47267, by replacing the builtin_memcpy bitcast pattern with builtin_bit_cast we can use _castf32_u32, _castu32_f32, _castf64_u64 and _castu64_f64 inside constant expresssions (constexpr). Although __builtin_bit_cast was added for c++20 it works on all clang c/c++ modes.

Differential Revision: https://reviews.llvm.org/D86398
The file was modifiedclang/lib/Headers/ia32intrin.h (diff)
The file was modifiedclang/docs/ReleaseNotes.rst (diff)
The file was modifiedclang/test/CodeGen/x86-builtins.c (diff)
Commit f76adc2603f6cc466dd809142388ffb56a1c3e31 by llvm-dev
[docs] Add an initial (non-exhaustive) list of intrinsics that can be used in constant expressions

As suggested by @rsmith on D86398 - we should try to document the intrinsics that can be used in constexpr
The file was modifiedclang/docs/LanguageExtensions.rst (diff)
Commit b014cc0f655da5094302c326d6d0576fdb652e58 by Stefan Gränitz
[ORC] Add a LLJITWithThinLTOSummaries example in OrcV2Examples

The example demonstrates how to use a module summary index file produced for ThinLTO to:
* find the module that defines the main entry point
* find all extra modules that are required for the build

A LIT test runs the example as part of the LLVM test suite [1] and shows how to create a module summary index file.
The code also provides two Error types that can be useful when working with ThinLTO summaries.

[1] if LLVM_BUILD_EXAMPLES=ON and platform is not Windows

Differential Revision: https://reviews.llvm.org/D85974
The file was addedllvm/test/Examples/OrcV2Examples/Inputs/bar-mod.ll
The file was addedllvm/test/Examples/OrcV2Examples/Inputs/foo-mod.ll
The file was addedllvm/examples/OrcV2Examples/LLJITWithThinLTOSummaries/CMakeLists.txt
The file was addedllvm/test/Examples/OrcV2Examples/lljit-with-thinlto-summaries.test
The file was addedllvm/examples/OrcV2Examples/LLJITWithThinLTOSummaries/LLJITWithThinLTOSummaries.cpp
The file was addedllvm/test/Examples/OrcV2Examples/Inputs/main-mod.ll
The file was modifiedllvm/examples/OrcV2Examples/CMakeLists.txt (diff)
The file was modifiedllvm/test/Examples/lit.local.cfg (diff)
Commit 55208f5a2126e491c41ba9ff6542551bfc090e86 by vrnithinkumar
[analyzer] Add modeling for unque_ptr::get()

Summary: Implemented  modeling for get() method in SmartPtrModeling

Reviewers: NoQ, Szelethus, vsavchenko, xazax.hun

Reviewed By: NoQ, xazax.hun

Subscribers: martong, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D86029
The file was modifiedclang/test/Analysis/smart-ptr.cpp (diff)
The file was modifiedclang/test/Analysis/smart-ptr-text-output.cpp (diff)
The file was modifiedclang/lib/StaticAnalyzer/Checkers/SmartPtrModeling.cpp (diff)
Commit 1d0fa798248f2d4e7a3b5b6d6465edb41d13354d by spatel
[DAGCombiner] restrict store merge of truncs to early combining

The pattern matching does not account for truncating stores,
so it is unlikely to work at later stages. So we are likely
wasting compile-time with no hope of improvement by running
this later.
The file was modifiedllvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp (diff)
Commit 2843c9fe0a50470d231a4c29540c46aa631295d8 by flo
[DSE,MemorySSA] Keep single DL instance in DSEState (NFC).

Small cleanup, also removes one instance of getting DataLayout without
using it later.
The file was modifiedllvm/lib/Transforms/Scalar/DeadStoreElimination.cpp (diff)
Commit a1dc3d241ba00042b6160287f887d1019e36bae0 by llvm-dev
[X86] Enable constexpr on ROTL/ROTR intrinsics (PR31446)

This enables constexpr rotate intrinsics defined in ia32intrin.h, including the MS specific builtins.
The file was modifiedclang/lib/Headers/ia32intrin.h (diff)
The file was modifiedclang/lib/AST/ExprConstant.cpp (diff)
The file was modifiedclang/docs/LanguageExtensions.rst (diff)
The file was modifiedclang/test/CodeGen/rot-intrinsics.c (diff)
The file was modifiedclang/docs/ReleaseNotes.rst (diff)
Commit bef684154d400df5cfd935a18ed7312a582fe5eb by maskray
[X86][FastISel] Support materializing floating-point constants for large code model & PIC

The following program miscompiles because rL216012 added static
relocation model support but not for PIC.

```
// clang -fpic -mcmodel=large -O0 a.cc
double foo() { return 42.0; }
```

This patch adds PIC support.

Reviewed By: craig.topper

Differential Revision: https://reviews.llvm.org/D86024
The file was modifiedllvm/lib/Target/X86/X86FastISel.cpp (diff)
The file was modifiedllvm/test/CodeGen/X86/fast-isel-constpool.ll (diff)
Commit 51a82828fb291fc8f7768711c4b769157d5f0227 by flo
[llvm-reduce] Skip terminators when reducing instructions.

Removing terminators will result in invalid IR, making further
reductions pointless. I do not think there is any valid use case where
we actually want to create invalid IR as part of a reduction.

Reviewed By: lebedev.ri

Differential Revision: https://reviews.llvm.org/D86210
The file was modifiedllvm/test/Reduce/remove-instructions.ll (diff)
The file was modifiedllvm/tools/llvm-reduce/deltas/ReduceInstructions.cpp (diff)
The file was addedllvm/test/Reduce/do-not-remove-terminator.ll
The file was modifiedllvm/test/Reduce/remove-funcs.ll (diff)
Commit b899d13a0f157a43295d0906fe761d39c8cf467f by lebedev.ri
[NFC][InstCombine] Add tests for negation of freeze
The file was modifiedllvm/test/Transforms/InstCombine/sub-of-negatible.ll (diff)
Commit f6decfa36d89a308ef6769a38b836d1352c10fb4 by lebedev.ri
[InstCombine] Negator: freeze is freely negatible if it's operand is negatible
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineNegator.cpp (diff)
The file was modifiedllvm/test/Transforms/InstCombine/sub-of-negatible.ll (diff)
Commit f6615b2ddb3d046cc7a99ec74ee032ea21a1d27a by joker.eph
Update FIR registration to not rely on the global MLIR dialect registry (NFC)

MLIR is removing "soon" the global dialect registry, this patch is
transitionning FIR to not rely on it anymore.
The file was modifiedflang/tools/tco/tco.cpp (diff)
The file was modifiedflang/include/flang/Optimizer/Dialect/FIRDialect.h (diff)
Commit 86bbf8e6fc2bf6396c1efae556bacda054f90b33 by clementval
[flang][openacc] Fix wait-argument for wait clause + add tests

This patch fix the usage of the wait-argument in a clause and add several tests and fix the unparsing of
the wait-argument.

Reviewed By: sscalpone

Differential Revision: https://reviews.llvm.org/D86325
The file was modifiedflang/lib/Parser/openacc-parsers.cpp (diff)
The file was modifiedflang/test/Semantics/acc-clause-validity.f90 (diff)
The file was modifiedflang/lib/Parser/unparse.cpp (diff)
Commit 2b37174b9a5db235e493cb72e4454cc08a1b1791 by brad
[clang][Driver] Implement AddClangSystemIncludeArgs and HasNativeLLVMSupport for the OpenBSD clang driver.

If not overridden, AddClangSystemIncludeArgs's implementation is empty, so by
default, no system include args are added to the Clang driver. This means that
invoking Clang without the frontend must include a manual -I/usr/include flag,
which is inconsistent behavior. Therefore, override and implement this method
to match. Some boilerplate is also borrowed for handling of the other driver
flags.

While we are here, also override and enable HasNativeLLVMSupport.

Patch by: 3405691582 (dana koch)

Differential Revision: https://reviews.llvm.org/D86412
The file was modifiedclang/lib/Driver/ToolChains/OpenBSD.h (diff)
The file was modifiedclang/lib/Driver/ToolChains/OpenBSD.cpp (diff)
The file was modifiedclang/lib/Frontend/InitHeaderSearch.cpp (diff)
Commit bf3577ef64c300ba7841a90a4e09e1e305271976 by brad
[clang][Driver] Implement addLibCxxIncludePaths and getCompilerRT for the OpenBSD clang driver.
The file was modifiedclang/lib/Driver/ToolChains/OpenBSD.h (diff)
The file was modifiedclang/lib/Driver/ToolChains/OpenBSD.cpp (diff)
Commit f93b42a629ae5865bf71f8062553125b8684deaf by tianshilei1992
[NFC][OpenMP] Remove outdated comments about potential issues

The issue mentioned has been fixed in D84996
The file was modifiedopenmp/libomptarget/src/omptarget.cpp (diff)
Commit 41ba9d77231eac32f8a022eedffd261c47020dd4 by qiucofan
[PowerPC] Support constrained vector fp/int conversion

This patch makes these operations legal, and add necessary codegen
patterns.

There's still some issue similar to D77033 for conversion from v1i128
type. But normal type tests synced in vector-constrained-fp-intrinsic
are passed successfully.

Reviewed By: uweigand

Differential Revision: https://reviews.llvm.org/D83654
The file was modifiedllvm/lib/Target/PowerPC/PPCInstrVSX.td (diff)
The file was modifiedllvm/lib/Target/PowerPC/PPCISelLowering.cpp (diff)
The file was modifiedllvm/test/CodeGen/PowerPC/vector-constrained-fp-intrinsics.ll (diff)
The file was modifiedllvm/lib/Target/PowerPC/PPCISelLowering.h (diff)
Commit 960cbc53ca170c8c605bf83fa63b49ab27a56f65 by qshanz
[DAGCombine] Remove dead node when it is created by getNegatedExpression

We hit the compiling time reported by https://bugs.llvm.org/show_bug.cgi?id=46877
and the reason is the same as D77319. So we need to remove the dead node we created
to avoid increase the problem size of DAGCombiner.

Reviewed By: Spatel

Differential Revision: https://reviews.llvm.org/D86183
The file was modifiedllvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp (diff)
The file was addedllvm/test/CodeGen/X86/pr46877.ll
Commit fed6107dcbfb44b1e0a8e7436d92ef6b1981a6d4 by qiucofan
[PowerPC] Allow constrained FP intrinsics in mightUseCTR

We may meet Invalid CTR loop crash when there's constrained ops inside.
This patch adds constrained FP intrinsics to the list so that CTR loop
verification doesn't complain about it.

Reviewed By: steven.zhang

Differential Revision: https://reviews.llvm.org/D81924
The file was modifiedllvm/lib/Target/PowerPC/PPCTargetTransformInfo.cpp (diff)
The file was addedllvm/test/CodeGen/PowerPC/ctrloop-constrained-fp.ll
Commit 1bc45b2fd8083036c7d5a1545874ab06ec9b029a by qiucofan
[PowerPC] Support lowering int-to-fp on ppc_fp128

D70867 introduced support for expanding most ppc_fp128 operations. But
sitofp/uitofp is missing. This patch adds that after D81669.

Reviewed By: uweigand

Differntial Revision: https://reviews.llvm.org/D81918
The file was modifiedllvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp (diff)
The file was modifiedllvm/test/CodeGen/PowerPC/ppcf128-constrained-fp-intrinsics.ll (diff)
Commit 3137c299269dd758c4c1630dc0c4621a1137eb7c by stellaraccident
Add initial python bindings for attributes.

* Generic mlir.ir.Attribute class.
* First standard attribute (mlir.ir.StringAttr), following the same pattern as generic vs standard types.
* NamedAttribute class.

Differential Revision: https://reviews.llvm.org/D86250
The file was modifiedmlir/test/Bindings/Python/ir_types.py (diff)
The file was addedmlir/test/Bindings/Python/ir_attributes.py
The file was modifiedmlir/lib/Bindings/Python/IRModules.h (diff)
The file was modifiedmlir/lib/Bindings/Python/PybindUtils.cpp (diff)
The file was modifiedmlir/include/mlir-c/IR.h (diff)
The file was modifiedmlir/lib/Bindings/Python/IRModules.cpp (diff)
The file was modifiedmlir/lib/Bindings/Python/PybindUtils.h (diff)
Commit fd485673dafd9211fa0379f491875e452cbd41ce by i
[LiveDebugVariables] Internalize class DbgVariableValue. NFC
The file was modifiedllvm/lib/CodeGen/LiveDebugVariables.cpp (diff)
Commit b999400a4fb645cab6d8abcb1ce9146775f69c64 by sam.parker
[SCEV] Add operand methods to Cast and UDiv

Add methods to access operands in a similar manner to NAryExpr.

Differential Revision: https://reviews.llvm.org/D86083
The file was modifiedllvm/include/llvm/Analysis/ScalarEvolutionExpressions.h (diff)
Commit 610706906ae218eaff5b996f64554be7b279e4f0 by joker.eph
Add an assertion to protect against missing Dialect registration in a pass pipeline (NFC)

Reviewed By: rriddle

Differential Revision: https://reviews.llvm.org/D86327
The file was modifiedmlir/test/lib/Transforms/TestConvertCallOp.cpp (diff)
The file was modifiedmlir/lib/Pass/Pass.cpp (diff)
The file was modifiedmlir/include/mlir/IR/MLIRContext.h (diff)
The file was modifiedmlir/lib/IR/MLIRContext.cpp (diff)
Commit e286c600e10d06f922e3129bafac640f326cf9ee by sam.parker
[SCEV] Attempt to fix windows buildbots
The file was modifiedllvm/include/llvm/Analysis/ScalarEvolutionExpressions.h (diff)
Commit 7a4e26adc8c2c00985fb460aba36a0884d412833 by bjorn.a.pettersson
[SelectionDAG] Fix miscompile bug in expandFunnelShift

This is a fixup of commit 0819a6416fd217 (D77152) which could
result in miscompiles. The miscompile could only happen for targets
where isOperationLegalOrCustom could return different values for
FSHL and FSHR.

The commit mentioned above added logic in expandFunnelShift to
convert between FSHL and FSHR by swapping direction of the
funnel shift. However, that transform is only legal if we know
that the shift count (modulo bitwidth) isn't zero.

Basically, since fshr(-1,0,0)==0 and fshl(-1,0,0)==-1 then doing a
rewrite such as fshr(X,Y,Z) => fshl(X,Y,0-Z) would be incorrect if
Z modulo bitwidth, could be zero.

```
$ ./alive-tv /tmp/test.ll

----------------------------------------
define i32 @src(i32 %x, i32 %y, i32 %z) {
%0:
  %t0 = fshl i32 %x, i32 %y, i32 %z
  ret i32 %t0
}
=>
define i32 @tgt(i32 %x, i32 %y, i32 %z) {
%0:
  %t0 = sub i32 32, %z
  %t1 = fshr i32 %x, i32 %y, i32 %t0
  ret i32 %t1
}
Transformation doesn't verify!
ERROR: Value mismatch

Example:
i32 %x = #x00000000 (0)
i32 %y = #x00000400 (1024)
i32 %z = #x00000000 (0)

Source:
i32 %t0 = #x00000000 (0)

Target:
i32 %t0 = #x00000020 (32)
i32 %t1 = #x00000400 (1024)
Source value: #x00000000 (0)
Target value: #x00000400 (1024)
```

It could be possible to add back the transform, given that logic
is added to check that (Z % BW) can't be zero. Since there were
no test cases proving that such a transform actually would be useful
I decided to simply remove the faulty code in this patch.

Reviewed By: foad, lebedev.ri

Differential Revision: https://reviews.llvm.org/D86430
The file was modifiedllvm/test/CodeGen/AMDGPU/fshl.ll (diff)
The file was modifiedllvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp (diff)
Commit 8ce450da329e3b011ff5adc685ca6eb4c2b09e74 by sam.parker
[NFCI][SimplifyCFG] Combine select costs and checks

Combine the cost modelling and validity checks for the phi to select
conversion in SpeculativelyExecuteBB, extracting the logic out into
a function.
The file was modifiedllvm/lib/Transforms/Utils/SimplifyCFG.cpp (diff)
Commit 0f0be3fb8ddeca4bbcffc7b22319254c360ca24b by me
Add support for AVR attiny441 and attiny841

Reviewed By: dylanmckay

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

Patch by Julien Etienne
The file was modifiedllvm/lib/Target/AVR/AVRDevices.td (diff)
Commit 2e194fe73b6fe639aaf1f71a3cd6bd7eeb894656 by sam.parker
[SCEV] Still trying to fix windows buildbots
The file was modifiedllvm/include/llvm/Analysis/ScalarEvolutionExpressions.h (diff)
The file was modifiedllvm/lib/Analysis/ScalarEvolution.cpp (diff)
Commit 0e301fd02386e01ca93a28e8c0484447fbb440a1 by pavel
[lldb/Utility] Remove some Scalar type accessors

Now that the number of Scalar "types" has been reduced, these don't make
sense anymore.
The file was modifiedlldb/source/Utility/Scalar.cpp (diff)
The file was modifiedlldb/include/lldb/Utility/Scalar.h (diff)
Commit 3d1b0000f9da83d3f636d76b2108cd5121f4f4b0 by pavel
[lld] s/dyn_cast/isa in InputSection.cpp

Avoids a -Wunused-variable with gcc.
The file was modifiedlld/ELF/InputSection.cpp (diff)
Commit ada2e8ea67393aa8c44fe8e9d46be62df6d1c702 by Raphael Isemann
Reland "Correctly emit dwoIDs after ASTFileSignature refactoring (D81347)"

This relands D84013 but with a test that relies on less shell features to
hopefully make the test pass on Fuchsia (where the test from the previous patch
version strangely failed with a plain "Exit code 1").

Original summary:

D81347 changes the ASTFileSignature to be an array of 20 uint8_t instead of 5 uint32_t.
However, it didn't update the code in ObjectFilePCHContainerOperations that creates
the dwoID in the module from the ASTFileSignature (`Buffer->Signature` being the
array subclass that is now `std::array<uint8_t, 20>` instead of `std::array<uint32_t, 5>`).

```
  uint64_t Signature = [..] (uint64_t)Buffer->Signature[1] << 32 | Buffer->Signature[0]
```

This code works with the old ASTFileSignature  (where two uint32_t are enough to
fill the uint64_t), but after the patch this only took two bytes from the ASTFileSignature
and only partly filled the Signature uint64_t.

This caused that the dwoID in the module ref and the dwoID in the actual module no
longer match (which in turns causes that LLDB keeps warning about the dwoID's not
matching when debugging -gmodules-compiled binaries).

This patch just unifies the logic for turning the ASTFileSignature into an uint64_t which
makes the dwoID match again (and should prevent issues like that in the future).

Reviewed By: aprantl, dang

Differential Revision: https://reviews.llvm.org/D84013
The file was addedclang/test/Modules/ModuleDebugInfoDwoId.cpp
The file was modifiedclang/include/clang/Basic/Module.h (diff)
The file was modifiedclang/lib/CodeGen/CGDebugInfo.cpp (diff)
The file was modifiedclang/test/Modules/Inputs/module.map (diff)
The file was addedclang/test/Modules/Inputs/DebugDwoId.h
The file was modifiedclang/lib/CodeGen/ObjectFilePCHContainerOperations.cpp (diff)
Commit 4ce176bed2c4f88804e7d4bb9671637d88206e78 by sam.parker
[SCEV] Still (again) trying to fix buildbots
The file was modifiedllvm/include/llvm/Analysis/ScalarEvolutionExpressions.h (diff)
Commit 2b3074c0d14cadbd9595346fc795d4a49a479a20 by Raphael Isemann
Revert "Reland "Correctly emit dwoIDs after ASTFileSignature refactoring (D81347)""

This reverts commit ada2e8ea67393aa8c44fe8e9d46be62df6d1c702. Still breaking
on Fuchsia (and also Fedora) with exit code 1, so back to investigating.
The file was modifiedclang/test/Modules/Inputs/module.map (diff)
The file was removedclang/test/Modules/Inputs/DebugDwoId.h
The file was modifiedclang/lib/CodeGen/ObjectFilePCHContainerOperations.cpp (diff)
The file was modifiedclang/include/clang/Basic/Module.h (diff)
The file was removedclang/test/Modules/ModuleDebugInfoDwoId.cpp
The file was modifiedclang/lib/CodeGen/CGDebugInfo.cpp (diff)
Commit 52df6cac204a866d1797dad844c1e587a1b4b075 by spatel
[InstCombine] add tests for abs of select with negated op; NFC (PR39474)
The file was modifiedllvm/test/Transforms/InstCombine/abs-intrinsic.ll (diff)
Commit 6a44edb8da335bba355cd180a3f43564d14cd1be by spatel
[InstCombine] fold abs of select with negated op (PR39474)

Similar to the existing transform - peek through a select
to match a value and its negation.

https://alive2.llvm.org/ce/z/MXi5KG

  define i8 @src(i1 %b, i8 %x) {
  %0:
    %neg = sub i8 0, %x
    %sel = select i1 %b, i8 %x, i8 %neg
    %abs = abs i8 %sel, 1
    ret i8 %abs
  }
  =>
  define i8 @tgt(i1 %b, i8 %x) {
  %0:
    %abs = abs i8 %x, 1
    ret i8 %abs
  }
  Transformation seems to be correct!
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineCalls.cpp (diff)
The file was modifiedllvm/test/Transforms/InstCombine/abs-intrinsic.ll (diff)
Commit 2431b143aeacda1c92b82fbae3f7121d78048785 by flo
[DSE,MemorySSA] Limit elimination at end of function to single UO.

Limit elimination of stores at the end of a function to MemoryDefs with
a single underlying object, to save compile time.

In practice, the case with multiple underlying objects seems not very
important in practice. For -O3 -flto on MultiSource/SPEC2000/SPEC2006
this results in a total of 2 more stores being eliminated.

We can always re-visit that in the future.
The file was modifiedllvm/lib/Transforms/Scalar/DeadStoreElimination.cpp (diff)
The file was modifiedllvm/test/Transforms/DeadStoreElimination/MSSA/simple.ll (diff)
Commit 8ac70694b9f963db198f0fc9aec3fcee78a52fa6 by paulsson
[SystemZ] Preserve the MachineMemOperand in emitCondStore() in all cases.

Review: Ulrich Weigand
The file was modifiedllvm/lib/Target/SystemZ/SystemZISelLowering.cpp (diff)
Commit a93514abf2d843339878d0607e2f5fd2a787bf72 by flo
[DSE,MemorySSA] Regnerate some check lines.

The check lines where generated before align was added for all
instructions. Re-generate them, to reduce diff noise for actual
functional changes.
The file was modifiedllvm/test/Transforms/DeadStoreElimination/MSSA/multiblock-captures.ll (diff)
The file was modifiedllvm/test/Transforms/DeadStoreElimination/MSSA/simple.ll (diff)
Commit 09e7fe9859b4efeeb35697c095c9676e993fc03c by hokein.wu
[AST][RecoveryAST] Preserve the type by default for recovery expression.

Differential Revision: https://reviews.llvm.org/D82657
The file was modifiedclang/test/SemaCXX/decl-expr-ambiguity.cpp (diff)
The file was modifiedclang/test/CXX/temp/temp.constr/temp.constr.order/function-templates.cpp (diff)
The file was modifiedclang/test/SemaCXX/recovery-expr-type.cpp (diff)
The file was modifiedclang/test/SemaCXX/abstract.cpp (diff)
The file was modifiedclang/test/SemaTemplate/dependent-names.cpp (diff)
The file was modifiedclang/lib/Frontend/CompilerInvocation.cpp (diff)
The file was modifiedclang/test/SemaCXX/type-convert-construct.cpp (diff)
The file was modifiedclang/include/clang/Driver/Options.td (diff)
Commit 808ac54645212ddc9aba150cdc97454e36fb9521 by bevin.hansson
[Fixed Point] Use FixedPointBuilder to codegen fixed-point IR.

This changes the methods in CGExprScalar to use
FixedPointBuilder to generate IR for fixed-point
conversions and operations.

Since FixedPointBuilder emits padded operations slightly
differently than the original code, some tests change.

Reviewed By: leonardchan

Differential Revision: https://reviews.llvm.org/D86282
The file was modifiedclang/test/Frontend/fixed_point_sub.c (diff)
The file was modifiedclang/test/Frontend/fixed_point_div.c (diff)
The file was modifiedclang/test/Frontend/fixed_point_add.c (diff)
The file was modifiedclang/lib/CodeGen/CGExprScalar.cpp (diff)
The file was modifiedclang/test/Frontend/fixed_point_mul.c (diff)
The file was modifiedclang/test/Frontend/fixed_point_unary.c (diff)
Commit 577f8b157a03055821341146ed0617e3b103fdaf by bevin.hansson
[Fixed Point] Add codegen for fixed-point shifts.

This patch adds codegen to Clang for fixed-point shift
operations.

Reviewed By: leonardchan

Differential Revision: https://reviews.llvm.org/D83294
The file was modifiedclang/lib/CodeGen/CGExprScalar.cpp (diff)
The file was modifiedclang/test/Frontend/fixed_point_shift.c (diff)
The file was modifiedclang/test/Frontend/fixed_point_compound.c (diff)
The file was addedclang/test/Frontend/fixed_point_shift_const.c
Commit 105151ca5669a0536fb5bb1bc02bd3279cdbbfda by Raphael Isemann
Reland "Correctly emit dwoIDs after ASTFileSignature refactoring (D81347)"

The orignal patch with the missing 'REQUIRES: asserts' as there is a debug-only
flag used in the test.

Original summary:

D81347 changes the ASTFileSignature to be an array of 20 uint8_t instead of 5
uint32_t. However, it didn't update the code in ObjectFilePCHContainerOperations
that creates the dwoID in the module from the ASTFileSignature
(`Buffer->Signature` being the array subclass that is now `std::array<uint8_t,
20>` instead of `std::array<uint32_t, 5>`).

```
  uint64_t Signature = [..] (uint64_t)Buffer->Signature[1] << 32 | Buffer->Signature[0]
```

This code works with the old ASTFileSignature (where two uint32_t are enough to
fill the uint64_t), but after the patch this only took two bytes from the
ASTFileSignature and only partly filled the Signature uint64_t.

This caused that the dwoID in the module ref and the dwoID in the actual module
no longer match (which in turns causes that LLDB keeps warning about the dwoID's
not matching when debugging -gmodules-compiled binaries).

This patch just unifies the logic for turning the ASTFileSignature into an
uint64_t which makes the dwoID match again (and should prevent issues like that
in the future).

Reviewed By: aprantl, dang

Differential Revision: https://reviews.llvm.org/D84013
The file was modifiedclang/include/clang/Basic/Module.h (diff)
The file was modifiedclang/lib/CodeGen/CGDebugInfo.cpp (diff)
The file was modifiedclang/lib/CodeGen/ObjectFilePCHContainerOperations.cpp (diff)
The file was addedclang/test/Modules/Inputs/DebugDwoId.h
The file was modifiedclang/test/Modules/Inputs/module.map (diff)
The file was addedclang/test/Modules/ModuleDebugInfoDwoId.cpp
Commit 8048068c3ec55cd5dc20ecf111fe754ba1d25740 by anna.welker
[ARM][MVE] Allow tail predication for strides !=1 with gather/scatters

If gather/scatters are enabled, ARMTargetTransformInfo now allows
tail predication for loops with a much wider range of strides, up
to anything that is loop invariant.

Differential Revision: https://reviews.llvm.org/D85410
The file was modifiedllvm/lib/Target/ARM/ARMISelLowering.cpp (diff)
The file was addedllvm/test/Transforms/LoopVectorize/ARM/mve-gather-scatter-tailpred.ll
The file was modifiedllvm/lib/Target/ARM/ARMTargetTransformInfo.cpp (diff)
Commit b99a5eb659c1965fc4f25a3020a358cae298ec5f by flo
[DSE,MemorySSA] Delay PointerMayBeCaptured calls until actually needed.

Avoid computing InvisibleToCallerBefore/AfterRet up front. In most
cases, this information is not really needed. Instead, introduce helper
functions to compute and cache the result on demand.

Notably, this also does not use PointerMayBeCapturedBefore for
isInvisibleToCallerBeforeRet, as it requires the killing MemoryDef as
starting instruction, making the caching ineffective. But it appears the
use of PointerMayBeCapturedBefore has very limited benefits in practice
(e.g. on SPEC2000/SPEC2006/MultiSource there are no binary changes with
-O3 -flto). Refrain from using it for now, to limit-compile-time.

This gives some nice compile-time improvements:
http://llvm-compile-time-tracker.com/compare.php?from=db9345f6810f379a36752dc52caf5230585d0ebd&to=b4d091047e1b8a3d377d200137b79d03aca65663&stat=instructions
The file was modifiedllvm/test/Transforms/DeadStoreElimination/MSSA/multiblock-captures.ll (diff)
The file was modifiedllvm/lib/Transforms/Scalar/DeadStoreElimination.cpp (diff)
Commit aec12c1264ac17877d5cb19750eaa322fe57342d by vsavchenko
[analyzer][tests] Add a notion of project sizes

Summary:
Whith the number of projects growing, it is important to be able to
filter them in a more convenient way than by names.  It is especially
important for benchmarks, when it is not viable to analyze big
projects 20 or 50 times in a row.

Because of this reason, this commit adds a notion of sizes and a
filtering interface that puts a limit on a maximum size of the project
to analyze or benchmark.

Sizes assigned to the projects in this commit, do not directly
correspond to the number of lines or files in the project.  The key
factor that is important for the developers of the analyzer is the
time it takes to analyze the project.  And for this very reason,
"size" basically helps to cluster projects based on their analysis
time.

Differential Revision: https://reviews.llvm.org/D83942
The file was modifiedclang/utils/analyzer/SATest.py (diff)
The file was modifiedclang/utils/analyzer/projects/projects.json (diff)
The file was modifiedclang/utils/analyzer/ProjectMap.py (diff)
Commit c8d2b065b98fa91139cc7bb1fd1407f032ef252e by francesco.petrogalli
[llvm][LV] Replace `unsigned VF` with `ElementCount VF` [NFCI]

Changes:

* Change `ToVectorTy` to deal directly with `ElementCount` instances.
* `VF == 1` replaced with `VF.isScalar()`.
* `VF > 1` and `VF >=2` replaced with `VF.isVector()`.
* `VF <=1` is replaced with `VF.isZero() || VF.isScalar()`.
* Add `<` operator to `ElementCount` to be able to use
`llvm::SmallSetVector<ElementCount, ...>`.
* Bits and pieces around printing the ElementCount to string streams.
* Added a static method to `ElementCount` to represent a scalar.

To guarantee that this change is a NFC, `VF.Min` and asserts are used
in the following places:

1. When it doesn't make sense to deal with the scalable property, for
example:
   a. When computing unrolling factors.
   b. When shuffle masks are built for fixed width vector types
In this cases, an
assert(!VF.Scalable && "<mgs>") has been added to make sure we don't
enter coepaths that don't make sense for scalable vectors.
2. When there is a conscious decision to use `FixedVectorType`. These
uses of `FixedVectorType` will likely be removed in favour of
`VectorType` once the vectorizer is generic enough to deal with both
fixed vector types and scalable vector types.
3. When dealing with building constants out of the value of VF, for
example when computing the vectorization `step`, or building vectors
of indices. These operation _make sense_ for scalable vectors too,
but changing the code in these places to be generic and make it work
for scalable vectors is to be submitted in a separate patch, as it is
a functional change.
4. When building the potential VFs in VPlan. Making the VPlan generic
enough to handle scalable vectorization factors is a functional change
that needs a separate patch. See for example `void
LoopVectorizationPlanner::buildVPlans(unsigned MinVF, unsigned
MaxVF)`.
5. The class `IntrinsicCostAttribute`: this class still uses `unsigned
VF` as updating the field to use `ElementCount` woudl require changes
that could result in changing the behavior of the compiler. Will be done
in a separate patch.
7. When dealing with user input for forcing the vectorization
factor. In this case, adding support for scalable vectorization is a
functional change that migh require changes at command line.

Differential Revision: https://reviews.llvm.org/D85794
The file was modifiedllvm/lib/Transforms/Vectorize/VPlan.cpp (diff)
The file was modifiedllvm/include/llvm/Analysis/VectorUtils.h (diff)
The file was modifiedllvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h (diff)
The file was modifiedllvm/include/llvm/Support/TypeSize.h (diff)
The file was modifiedllvm/lib/IR/DiagnosticInfo.cpp (diff)
The file was modifiedllvm/lib/Transforms/Vectorize/VPlan.h (diff)
The file was modifiedllvm/lib/Transforms/Vectorize/LoopVectorize.cpp (diff)
The file was modifiedllvm/include/llvm/IR/DiagnosticInfo.h (diff)
The file was modifiedllvm/include/llvm/Analysis/TargetTransformInfo.h (diff)
Commit e1644a377996565e119aa178f40c567b986a6203 by Matthew.Arsenault
GlobalISel: Reduce G_SHL width if source is extension

shl ([sza]ext x, y) => zext (shl x, y).

Turns expensive 64 bit shifts into 32 bit if it does not overflow the
source type:

This is a port of an AMDGPU DAG combine added in
5fa289f0d8ff85b9e14d2f814a90761378ab54ae. InstCombine does this
already, but we need to do it again here to apply it to shifts
introduced for lowered getelementptrs. This will help matching
addressing modes that use 32-bit offsets in a future patch.

TableGen annoyingly assumes only a single match data operand, so
introduce a reusable struct. However, this still requires defining a
separate GIMatchData for every combine which is still annoying.

Adds a morally equivalent function to the existing
getShiftAmountTy. Without this, we would have to do try to repeatedly
query the legalizer info and guess at what type to use for the shift.
The file was modifiedllvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h (diff)
The file was addedllvm/test/CodeGen/AMDGPU/GlobalISel/combine-shl-from-extend-narrow.prelegal.mir
The file was modifiedllvm/include/llvm/CodeGen/TargetLowering.h (diff)
The file was modifiedllvm/include/llvm/Target/GlobalISel/Combine.td (diff)
The file was modifiedllvm/lib/Target/AMDGPU/SIISelLowering.h (diff)
The file was modifiedllvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp (diff)
The file was modifiedllvm/lib/Target/AMDGPU/SIISelLowering.cpp (diff)
The file was addedllvm/test/CodeGen/AMDGPU/GlobalISel/combine-shl-from-extend-narrow.postlegal.mir
The file was addedllvm/test/CodeGen/AMDGPU/GlobalISel/shl-ext-reduce.ll
Commit bad7d6b3735d1d855ffb07f32a272049cff085e6 by francesco.petrogalli
Revert "[llvm][LV] Replace `unsigned VF` with `ElementCount VF` [NFCI]"

Reverting because the commit message doesn't reflect the one agreed on
phabricator at https://reviews.llvm.org/D85794.

This reverts commit c8d2b065b98fa91139cc7bb1fd1407f032ef252e.
The file was modifiedllvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h (diff)
The file was modifiedllvm/include/llvm/Analysis/VectorUtils.h (diff)
The file was modifiedllvm/include/llvm/Support/TypeSize.h (diff)
The file was modifiedllvm/lib/Transforms/Vectorize/VPlan.h (diff)
The file was modifiedllvm/include/llvm/Analysis/TargetTransformInfo.h (diff)
The file was modifiedllvm/lib/IR/DiagnosticInfo.cpp (diff)
The file was modifiedllvm/lib/Transforms/Vectorize/VPlan.cpp (diff)
The file was modifiedllvm/lib/Transforms/Vectorize/LoopVectorize.cpp (diff)
The file was modifiedllvm/include/llvm/IR/DiagnosticInfo.h (diff)
Commit 70cd9f5b779c04d1b32c790cb289c9f00f548b57 by Matthew.Arsenault
AMDGPU/GlobalISel: Start implementing computeKnownBitsForTargetInstr

Handle workitem intrinsics. There isn't really away to adequately test
this right now, since none of the known bits users are fine grained
enough to test the edge conditions. This triggers a number of
instances of the new 64-bit to 32-bit shift combine in the existing
tests.
The file was modifiedllvm/lib/Target/AMDGPU/SIISelLowering.cpp (diff)
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUSubtarget.h (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.is.shared.ll (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.is.private.ll (diff)
The file was modifiedllvm/lib/Target/AMDGPU/SIISelLowering.h (diff)
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUSubtarget.cpp (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/cvt_f32_ubyte.ll (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.atomic.inc.ll (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.div.fmas.ll (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.atomic.dec.ll (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.update.dpp.ll (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/shl-ext-reduce.ll (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.div.scale.ll (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/insertelement.large.ll (diff)
Commit 5a34b3ab95b5659ef395ffe7b6bd79f2a0423514 by francesco.petrogalli
[llvm][LV] Replace `unsigned VF` with `ElementCount VF` [NFCI]

Changes:

* Change `ToVectorTy` to deal directly with `ElementCount` instances.
* `VF == 1` replaced with `VF.isScalar()`.
* `VF > 1` and `VF >=2` replaced with `VF.isVector()`.
* `VF <=1` is replaced with `VF.isZero() || VF.isScalar()`.
* Replaced the uses of `llvm::SmallSet<ElementCount, ...>` with
   `llvm::SmallSetVector<ElementCount, ...>`. This avoids the need of an
   ordering function for the `ElementCount` class.
* Bits and pieces around printing the `ElementCount` to string streams.

To guarantee that this change is a NFC, `VF.Min` and asserts are used
in the following places:

1. When it doesn't make sense to deal with the scalable property, for
example:
   a. When computing unrolling factors.
   b. When shuffle masks are built for fixed width vector types
In this cases, an
assert(!VF.Scalable && "<mgs>") has been added to make sure we don't
enter coepaths that don't make sense for scalable vectors.
2. When there is a conscious decision to use `FixedVectorType`. These
uses of `FixedVectorType` will likely be removed in favour of
`VectorType` once the vectorizer is generic enough to deal with both
fixed vector types and scalable vector types.
3. When dealing with building constants out of the value of VF, for
example when computing the vectorization `step`, or building vectors
of indices. These operation _make sense_ for scalable vectors too,
but changing the code in these places to be generic and make it work
for scalable vectors is to be submitted in a separate patch, as it is
a functional change.
4. When building the potential VFs in VPlan. Making the VPlan generic
enough to handle scalable vectorization factors is a functional change
that needs a separate patch. See for example `void
LoopVectorizationPlanner::buildVPlans(unsigned MinVF, unsigned
MaxVF)`.
5. The class `IntrinsicCostAttribute`: this class still uses `unsigned
VF` as updating the field to use `ElementCount` woudl require changes
that could result in changing the behavior of the compiler. Will be done
in a separate patch.
7. When dealing with user input for forcing the vectorization
factor. In this case, adding support for scalable vectorization is a
functional change that migh require changes at command line.

Note that in some places the idiom

```
unsigned VF = ...
auto VTy = FixedVectorType::get(ScalarTy, VF)
```

has been replaced with

```
ElementCount VF = ...
assert(!VF.Scalable && ...);
auto VTy = VectorType::get(ScalarTy, VF)
```

The assertion guarantees that the new code is (at least in debug mode)
functionally equivalent to the old version. Notice that this change had been
possible because none of the methods that are specific to `FixedVectorType`
were used after the instantiation of `VTy`.

Reviewed By: rengolin, ctetreau

Differential Revision: https://reviews.llvm.org/D85794
The file was modifiedllvm/lib/Transforms/Vectorize/VPlan.h (diff)
The file was modifiedllvm/lib/Transforms/Vectorize/VPlan.cpp (diff)
The file was modifiedllvm/lib/IR/DiagnosticInfo.cpp (diff)
The file was modifiedllvm/include/llvm/IR/DiagnosticInfo.h (diff)
The file was modifiedllvm/include/llvm/Support/TypeSize.h (diff)
The file was modifiedllvm/include/llvm/Analysis/TargetTransformInfo.h (diff)
The file was modifiedllvm/lib/Transforms/Vectorize/LoopVectorize.cpp (diff)
The file was modifiedllvm/include/llvm/Analysis/VectorUtils.h (diff)
The file was modifiedllvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h (diff)
Commit bedc841a5098bc0a90bbc66328d7aab4b2c23c4a by a.bataev
[OPENMP]Fix PR47158, case 3: allow devic_typein nested declare target region.

OpenMP 5.0 supports nested declare target regions. So, in general,it is
allow to mark a declarationas declare target with different device_type
or link type. Patch adds support for such kind of nesting.

Differential Revision: https://reviews.llvm.org/D86239
The file was modifiedclang/include/clang/Basic/Attr.td (diff)
The file was modifiedclang/lib/AST/AttrImpl.cpp (diff)
The file was modifiedclang/lib/Sema/SemaOpenMP.cpp (diff)
The file was modifiedclang/test/OpenMP/declare_target_ast_print.cpp (diff)
The file was modifiedclang/lib/Serialization/ASTReaderDecl.cpp (diff)
The file was modifiedclang/test/AST/dump.cpp (diff)
The file was modifiedclang/include/clang/Sema/Sema.h (diff)
Commit 9b3222d56067502dc5f6139ca7e4c78171439bd4 by Matthew.Arsenault
AMDGPU/GlobalISel: Add baseline, failing unmerge tests
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-unmerge-values.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/artifact-combiner-unmerge-values.mir (diff)
Commit bdb25b3ce5479a820a4c6539d22aeedad7e06875 by Matthew.Arsenault
AMDGPU/GlobalISel: Use different technique for sample v3s16 values

Avoid relying on implicit_def values, and odd sized G_INSERT/G_EXTRACT
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fpext.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-uaddo.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-ashr.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fmaxnum.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-saddo.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fadd.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-intrinsic-round.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fma.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-and.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fsub.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-xor.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-sext-inreg.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-lshr.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-phi.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-usubo.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fminnum.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fmul.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-shl.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-or.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-select.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-ssubo.mir (diff)
Commit 517caca359e027ba6e88b8531ef072084204cc2d by Matthew.Arsenault
GlobalISel: Improve dead instruction debug printing

This was printing the "Is dead" on a separate line from the
instruction, which was harder to follow.
The file was modifiedllvm/lib/CodeGen/GlobalISel/Legalizer.cpp (diff)
Commit 2e43acfed89b1903de473f682c65878bdebc395a by dongaxis
[coroutine] should disable inline before calling coro split
summary:
When callee coroutine function is inlined into caller coroutine
function before coro-split pass, llvm will emits "coroutine should
have exactly one defining @llvm.coro.begin". It seems that coro-early
pass can not handle this quiet well.
So we believe that unsplited coroutine function should not be inlined.
This patch fix such issue by not inlining function if it has attribute
"coroutine.presplit" (it means the function has not been splited) to
fix this issue

TestPlan: check-llvm

Reviewed By: wenlei

Differential Revision: https://reviews.llvm.org/D85812
The file was modifiedllvm/lib/Transforms/IPO/AlwaysInliner.cpp (diff)
The file was addedllvm/test/Transforms/Coroutines/coro-inline.ll
The file was modifiedllvm/include/llvm/Transforms/Coroutines.h (diff)
The file was modifiedllvm/lib/Transforms/Coroutines/CoroInternal.h (diff)
The file was addedllvm/test/Transforms/Coroutines/Inputs/sample.text.prof
The file was modifiedllvm/lib/Transforms/IPO/SampleProfile.cpp (diff)
Commit 4e8dd506e66642329dcd530524f43b0d2b528521 by ecaldas
[SyntaxTree] Split array declarator tests

Differential Revision: https://reviews.llvm.org/D86437
The file was modifiedclang/unittests/Tooling/Syntax/BuildTreeTest.cpp (diff)
Commit ed83095254a3e212d14b293a6a0e6c85d1f3331c by ecaldas
[SyntaxTree] Use annotations to reduce noise on member function tests

Differential Revision: https://reviews.llvm.org/D86439
The file was modifiedclang/unittests/Tooling/Syntax/BuildTreeTest.cpp (diff)
Commit b4093d663f8377b3ca3746ff104c83c9c5510c0a by ecaldas
[SyntaxTree] Split FreeStandingClass tests

Differential Revision: https://reviews.llvm.org/D86440
The file was modifiedclang/unittests/Tooling/Syntax/BuildTreeTest.cpp (diff)
Commit a722d6a197c7a4f7a1afb72b4732b8ebe8272628 by ecaldas
[SyntaxTree] Split ExplicitTemplateInstantiation test

Differential Revision: https://reviews.llvm.org/D86441
The file was modifiedclang/unittests/Tooling/Syntax/BuildTreeTest.cpp (diff)
Commit 90f85dfc14bc6020486eb2d2c6399f8207ef3625 by ecaldas
[SyntaxTree] Group tests related to `using`

Differential Revision: https://reviews.llvm.org/D86443
The file was modifiedclang/unittests/Tooling/Syntax/BuildTreeTest.cpp (diff)
Commit 4baa163c74237b30c5094c1fafd7ed355575bcfa by ecaldas
[SyntaxTree] Split `ParametersAndQualifiers` tests

Differential Revision: https://reviews.llvm.org/D86459
The file was modifiedclang/unittests/Tooling/Syntax/BuildTreeTest.cpp (diff)
Commit 235f9f7fe94488904a60a8a1f5430183b0504945 by ecaldas
[SyntaxTree] Split `DynamicExceptionSpecification` test
The file was modifiedclang/unittests/Tooling/Syntax/BuildTreeTest.cpp (diff)
Commit 512e256c0d8c0fed5b4603ed5ed74b6ad503f368 by baptiste.saleil
[PowerPC] Add clang options to control MMA support

This patch adds frontend and backend options to enable and disable
the PowerPC MMA operations added in ISA 3.1. Instructions using these
options will be added in subsequent patches.

Differential Revision: https://reviews.llvm.org/D81442
The file was modifiedllvm/lib/Target/PowerPC/PPCInstrPrefix.td (diff)
The file was modifiedllvm/lib/Target/PowerPC/PPCScheduleP9.td (diff)
The file was modifiedclang/test/Driver/ppc-dependent-options.cpp (diff)
The file was modifiedllvm/test/CodeGen/PowerPC/future-check-features.ll (diff)
The file was modifiedllvm/lib/Target/PowerPC/PPCSubtarget.cpp (diff)
The file was modifiedllvm/lib/Target/PowerPC/PPCSubtarget.h (diff)
The file was modifiedclang/test/Preprocessor/init-ppc64.c (diff)
The file was modifiedclang/lib/Basic/Targets/PPC.cpp (diff)
The file was modifiedclang/lib/Basic/Targets/PPC.h (diff)
The file was modifiedclang/include/clang/Driver/Options.td (diff)
The file was modifiedllvm/lib/Target/PowerPC/PPC.td (diff)
Commit 2c9131665d00c83a13c90db26c4fafaccbc27822 by thomasp
Test all CHECK-NOT in a block even if one fails

This commit makes FileCheck print all CHECK-NOT directive failure in a
CHECK-NOT block even if one fails. Prior to that, it would stop trying
to match CHECK-NOT directive as soon as one in the block fails.

Reviewed By: jhenderson

Differential Revision: https://reviews.llvm.org/D86315
The file was addedllvm/test/FileCheck/multiple-check-not-failures.txt
The file was modifiedllvm/lib/Support/FileCheck.cpp (diff)
Commit 9659b81b2ad8f3b4951ef46e2d90120bdf00fe6f by dokyungs
[libFuzzer] Make msan.test:SimpleCmpTest succeed with less trials.

Currently SimpleCmpTest passes after 9,831,994 trials on x86_64/Linux
when the number of given trials is 10,000,000, just a little bigger than
that. This patch modifies SimpleCmpTest.cpp so that the test passes with less
trials, reducing its chances of future failures as libFuzzer evolves. More
specifically, this patch changes a 32-bit equality check to a 8-bit equality
check, making this test pass at 4,635,303 trials.

Differential Revision: https://reviews.llvm.org/D86382
The file was modifiedcompiler-rt/test/fuzzer/SimpleCmpTest.cpp (diff)
Commit d0f4f5a182d7ea91150ae090563bc0095e8ca1b3 by Andrey.Churbanov
[OpenMP] Check if _MSC_VER is defined before using it

Patch by mati865@gmail.com

Differential Revision: https://reviews.llvm.org/D86448
The file was modifiedopenmp/runtime/src/kmp_atomic.h (diff)
Commit 62d1fb828f918fef0c139028fed6e81c5ba1fa41 by Matthew.Arsenault
AMDGPU/GlobalISel: Use unmerge instead of extract in addrspace queries

This is a bit more consistent with regular operation legalization.
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp (diff)
Commit c9b45ce1fd97531c228e092bedee719b971f82a3 by Raphael Isemann
[clang][NFC] Fix a GCC warning in ASTImporterTest.cpp

Apparently only overriding one of the two CompleteType overloads causes
GCC to emit a warning with -Woverloaded-virtual .
The file was modifiedclang/unittests/AST/ASTImporterTest.cpp (diff)
Commit d1a1cce5b130630df0c821e8cafe5f683ccccb90 by flo
[DSE,MemorySSA] Do not use callCapturesBefore in isReadClobber.

Using callCapturesBefore potentially improves the precision and the
number of stores we can remove. But in practice, it seems to have very
little impact in terms of stores removed. For example, for
SPEC2000/SPEC2006/MultiSource with -O3 -flto, ~50 more stores are
removed (out of ~26900 stores removed). But in terms of compile-time, it
is very expensive and the patch gives substantial compile-time
improvements: Geomean O3 -0.24%, ReleaseThinLTO -0.47%, ReleaseLTO-g
-0.39%.

http://llvm-compile-time-tracker.com/compare.php?from=612a0bff88ed906c83b82f079d4c49e5fecfb9d0&to=e6c86b96d20d97dd88e903a409bd8d39b6114312&stat=instructions
The file was modifiedllvm/lib/Transforms/Scalar/DeadStoreElimination.cpp (diff)
Commit 19311f5c3e9ada9d445e49feb7a2ae00ddaee2fa by Raphael Isemann
[lldb] common completion for process pids and process names

1. Added two common completions: `ProcessIDs` and `ProcessNames`, which are
refactored from their original dedicated option completions;
2. Removed the dedicated option completion functions of `process attach` and
`platform process attach`, so that they can use arg-type-bound common
completions instead;
3. Bound `eArgTypePid` to the pid completion, `eArgTypeProcessName` to the
process name completion in `CommandObject.cpp`;
4. Added a related test case.

Reviewed By: teemperor

Differential Revision: https://reviews.llvm.org/D80700
The file was modifiedlldb/source/Commands/CommandObjectProcess.cpp (diff)
The file was modifiedlldb/source/Interpreter/CommandObject.cpp (diff)
The file was modifiedlldb/test/API/functionalities/completion/TestCompletion.py (diff)
The file was modifiedlldb/include/lldb/Interpreter/CommandCompletions.h (diff)
The file was modifiedlldb/source/Commands/CommandCompletions.cpp (diff)
The file was modifiedlldb/source/Commands/CommandObjectPlatform.cpp (diff)
The file was modifiedlldb/test/API/functionalities/completion/main.cpp (diff)
Commit 3cd8d7b1727f06a701f41764c1109e5d321284b3 by Raphael Isemann
[lldb] Remote disk file/directory completion for platform commands

1. Extended the gdb-remote communication related classes with disk file/directory
   completion functions;
2. Added two common completion functions RemoteDiskFiles and
   RemoteDiskDirectories based on the functions above;
3. Added completion for these commands:
   A. platform get-file <remote-file> <local-file>;
   B. platform put-file <local-file> <remote-file>;
   C. platform get-size <remote-file>;
   D. platform settings -w <remote-dir>;
   E. platform open file <remote-file>.
4. Added related tests for client and server;
5. Updated docs/lldb-platform-packets.txt.

Reviewed By: labath

Differential Revision: https://reviews.llvm.org/D85284
The file was modifiedlldb/include/lldb/Interpreter/CommandCompletions.h (diff)
The file was modifiedlldb/docs/lldb-platform-packets.txt (diff)
The file was modifiedlldb/include/lldb/Target/Platform.h (diff)
The file was modifiedlldb/include/lldb/Utility/StringExtractorGDBRemote.h (diff)
The file was modifiedlldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerPlatform.h (diff)
The file was modifiedlldb/source/Commands/CommandObjectPlatform.cpp (diff)
The file was modifiedlldb/source/Plugins/Platform/gdb-server/PlatformRemoteGDBServer.cpp (diff)
The file was modifiedlldb/test/API/functionalities/gdb_remote_client/gdbclientutils.py (diff)
The file was addedlldb/test/API/functionalities/gdb_remote_client/TestGDBRemoteDiskFileCompletion.py
The file was modifiedlldb/source/Utility/StringExtractorGDBRemote.cpp (diff)
The file was modifiedlldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp (diff)
The file was modifiedlldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.h (diff)
The file was modifiedlldb/source/Commands/CommandCompletions.cpp (diff)
The file was modifiedlldb/source/Plugins/Platform/gdb-server/PlatformRemoteGDBServer.h (diff)
The file was addedlldb/test/API/tools/lldb-server/TestGdbRemoteCompletion.py
The file was modifiedlldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerPlatform.cpp (diff)
Commit bc9cdfa12bde46c77bcc6450707f2714133e9b2f by joshisameeran17
[FLANG] Pick `.md` files when building sphinx documentation.

Need to build sphinx using below flags to Cmake
`-DLLVM_ENABLE_SPHINX=ON -DSPHINX_WARNINGS_AS_ERRORS=OFF`.
Generate html docs using cmake target
`docs-flang-html`
Generated html files should be at `build/tools/flang/docs/html`.
Patch in series from the dicussion on review
https://reviews.llvm.org/D85828

After this patch the markdown docmentation must be written using guide in-
`llvm/docs/MarkdownQuickstartTemplate.md`

Reviewed By: sscalpone

Differential Revision: https://reviews.llvm.org/D86131
The file was modifiedflang/README.md (diff)
The file was modifiedflang/docs/conf.py (diff)
Commit a52206769234b38e67373ca5f5a2bfa7ff1ea664 by jay.foad
[SDAG] Convert FSHL <--> FSHR if the target only supports one of them

D77152 tried to do this but got it wrong in the shift-by-zero case.
D86430 reverted the wrong code. Reimplement the optimization with
different code depending on whether the shift amount is known to be
non-zero (modulo bitwidth).

This improves code quality for fshl tests on AMDGPU, which only has an
fshr instruction.

Differential Revision: https://reviews.llvm.org/D86438
The file was modifiedllvm/test/CodeGen/AMDGPU/fshl.ll (diff)
The file was modifiedllvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp (diff)
Commit 43465a43755498e11b14ceb46e278bd127b3b3d7 by craig.topper
[LegalizeTypes][X86] Add ROTL/ROTR to WidenVectorResult.

We can widen these just like any other binary operation.

Added test cases for v2i32 for X86 for coverage.

Fixes failures seen after D77152.
The file was modifiedllvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp (diff)
The file was addedllvm/test/CodeGen/X86/vector-fshl-rot-sub128.ll
The file was addedllvm/test/CodeGen/X86/vector-fshr-rot-sub128.ll
Commit 116affb18dfc8c48ad0bd5134b42a51e34ad6fd8 by arsenm2
TableGen/GlobalISel: Allow inst matcher to check multiple opcodes

This is to initially handleg immAllOnesV, which should match
G_BUILD_VECTOR or G_BUILD_VECTOR_TRUNC. In the future, it could be
used for other patterns cases that map to multiple G_* instructions,
such as G_ADD and G_PTR_ADD.
The file was modifiedllvm/test/TableGen/GlobalISelEmitter-immAllZeroOne.td (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/orn2.ll (diff)
The file was modifiedllvm/include/llvm/CodeGen/GlobalISel/InstructionSelectorImpl.h (diff)
The file was modifiedllvm/include/llvm/CodeGen/GlobalISel/InstructionSelector.h (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/andn2.ll (diff)
The file was modifiedllvm/utils/TableGen/GlobalISelEmitter.cpp (diff)
Commit 188f1ac301c5c6da6d2f5697952510fc39cbdd43 by Raphael Isemann
[lldb] type category name common completion

1. Added a new common completion TypeCategoryNames to provide a list of category names for completion;
2. Applied the completion to these commands: type category delete/enable/disable/list/define;
3. Added a related test case;
4. Bound the completion to the arguments of the type 'eArgTypeName'.

Reviewed By: teemperor, JDevlieghere

Differential Revision: https://reviews.llvm.org/D84124
The file was modifiedlldb/source/Commands/CommandObjectType.cpp (diff)
The file was modifiedlldb/test/API/functionalities/completion/TestCompletion.py (diff)
The file was modifiedlldb/source/Commands/CommandObjectTarget.cpp (diff)
The file was modifiedlldb/source/Interpreter/CommandObject.cpp (diff)
The file was modifiedlldb/include/lldb/Interpreter/CommandCompletions.h (diff)
The file was modifiedlldb/source/Commands/CommandCompletions.cpp (diff)
Commit d5557c6e056f41776efbcdf67e0a9629229a4c34 by clementval
[flang][openacc] Fix reduction operator parsing/unparsing

Update the way reduction operator are defined for the OpenACC parser.

Reviewed By: klausler

Differential Revision: https://reviews.llvm.org/D86296
The file was modifiedflang/include/flang/Parser/dump-parse-tree.h (diff)
The file was modifiedflang/test/Semantics/acc-clause-validity.f90 (diff)
The file was modifiedflang/lib/Parser/openacc-parsers.cpp (diff)
The file was modifiedflang/lib/Parser/unparse.cpp (diff)
The file was modifiedflang/include/flang/Parser/parse-tree.h (diff)
Commit b9496efbb9ebbf7ec76411fac4e12ff0dc7a8e06 by VenkataRamanaiah.Nalamothu
[AMDGPU, docs] Fix typos

Reviewed By: t-tye, Flakebi

Differential Revision: https://reviews.llvm.org/D86340
The file was modifiedllvm/docs/AMDGPUDwarfExtensionsForHeterogeneousDebugging.rst (diff)
Commit 2b7a2cbb15c461380bebed0fc8603a0ef16a8f5d by julian.lettner
[TSan][Darwin] Handle NULL argument in interceptor

Handle NULL address argument in the `mach_vm_[de]allocate()`
interceptors and fix test: `Assignment 2` is not valid if we weren't
able to re-allocate memory.

rdar://67680613
The file was modifiedcompiler-rt/test/tsan/Darwin/mach_vm_allocate.c (diff)
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_interceptors_mach_vm.cpp (diff)
Commit 75e6f0b3d43c90edcc027bca7a896bace5c0677c by arsenm2
AMDGPU: Add flag to disable promotion of uniform i16 ops

This interferes with GlobalISel's much better handling of the
situation.

This should really be disable for GlobalISel. However, the fallback
only re-runs the selection passes, and doesn't go back and rerun any
codegen IR passes. I haven't come up with a good solution to this
problem.
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/orn2.ll (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/andn2.ll (diff)
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUCodeGenPrepare.cpp (diff)
Commit 44ee9d070adee1aed105f90d88b30b8802d90d35 by i
Revert D85812 "[coroutine] should disable inline before calling coro split"

This reverts commit 2e43acfed89b1903de473f682c65878bdebc395a.

LLVMCoroutines (the library which contains Coroutines.h) depends on LLVMipo (the
library which contains SampleProfile.cpp). It is inappropriate for
SampleProfile.cpp to depent on Coroutines.h (circular dependency).

The test inverted dependencies as well:
llvm/test/Transforms/Coroutines/coro-inline.ll uses -sample-profile.
The file was removedllvm/test/Transforms/Coroutines/coro-inline.ll
The file was modifiedllvm/lib/Transforms/IPO/SampleProfile.cpp (diff)
The file was modifiedllvm/include/llvm/Transforms/Coroutines.h (diff)
The file was removedllvm/test/Transforms/Coroutines/Inputs/sample.text.prof
The file was modifiedllvm/lib/Transforms/Coroutines/CoroInternal.h (diff)
The file was modifiedllvm/lib/Transforms/IPO/AlwaysInliner.cpp (diff)
Commit 0e6c9a6e7940a2f8ee624358d828acffdb9ccca5 by gclayton
Add hashing of the .text section to ProcessMinidump.

Breakpad will always have a UUID for binaries when it creates minidump files. If an ELF files has a GNU build ID, it will use that. If it doesn't, it will create one by hashing up to the first 4096 bytes of the .text section. LLDB was not able to load these binaries even when we had the right binary because the UUID didn't match. LLDB will use the GNU build ID first as the main UUID for a binary and fallback onto a 8 byte CRC if a binary doesn't have one. With this fix, we will check for the Breakpad hash or the Facebook hash (a modified version of the breakpad hash that collides a bit less) and accept binaries when these hashes match.

Differential Revision: https://reviews.llvm.org/D86261
The file was addedlldb/test/API/functionalities/postmortem/minidump-new/libbreakpad-overflow.yaml
The file was addedlldb/test/API/functionalities/postmortem/minidump-new/linux-arm-facebook-uuid-match.yaml
The file was modifiedlldb/source/Plugins/Process/minidump/ProcessMinidump.cpp (diff)
The file was addedlldb/test/API/functionalities/postmortem/minidump-new/libbreakpad.yaml
The file was modifiedlldb/test/API/functionalities/postmortem/minidump-new/TestMiniDumpUUID.py (diff)
The file was addedlldb/test/API/functionalities/postmortem/minidump-new/linux-arm-breakpad-uuid-match.yaml
Commit 1f6c4d829c2dad147e30dcb0611eb9886dae9155 by stellaraccident
[mlir] Add Index Type, Floating Point Type and None Type subclasses to python bindings.

Based on the PyType and PyConcreteType classes, this patch implements the bindings of Index Type, Floating Point Type and None Type subclasses.
These three subclasses share the same binding strategy:
- The function pointer `isaFunction` points to `mlirTypeIsA***`.
- The `mlir***TypeGet` C API is bound with the `***Type` constructor in the python side.

Reviewed By: stellaraccident

Differential Revision: https://reviews.llvm.org/D86466
The file was modifiedmlir/lib/Bindings/Python/IRModules.cpp (diff)
The file was modifiedmlir/test/Bindings/Python/ir_types.py (diff)
Commit b6d7ed469f2f7e70110f6f0d0fa03b99bb818d36 by froese
[PowerPC] Extend custom lower of vector truncate to handle wider input

Current custom lowering of truncate vector handles a source of up to 128 bits, but that only uses one of the two shuffle vector operands. Extend it to use both operands to handle 256 bit sources.

Differential Revision: https://reviews.llvm.org/D68035
The file was addedllvm/test/CodeGen/PowerPC/vec-trunc2.ll
The file was modifiedllvm/lib/Target/PowerPC/PPCISelLowering.cpp (diff)
Commit 56c529300ef21c827b04702568dba15c85e2151a by lebedev.ri
[NFC][InstCombine] Adjust naming for some methods to match coding standards

Requested as preparatory cleanup in https://reviews.llvm.org/D86306#inline-799065
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombinePHI.cpp (diff)
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineInternal.h (diff)
Commit 4dec8ec33d685bac27c047f74723263f3fb03256 by lebedev.ri
[NFC][InstCombine] Multi-level aggregate test for phi-of-insertvalue pattern

See https://reviews.llvm.org/D86306
The file was modifiedllvm/test/Transforms/InstCombine/phi-of-insertvalues.ll (diff)
Commit b8bfe3586eb892951b79eb70f8af758a318db861 by tkeith
[flang] Fix bug accessing implicit variable in specification expression

A specification expression can reference an implicitly declared variable
in the host procedure. Because we have to process specification parts
before execution parts, this may be the first time we encounter the
variable. We were assuming the variable was implicitly declared in the
scope where it was encountered, leading to an error because local
variables may not be referenced in specification expressions.

The fix is to tentatively create the implicit variable in the host
procedure because that is the only way the specification expression can
be valid. We mark it with the flag `ImplicitOrError` to indicate that
either it must be implicitly defined in the host (by being mentioned in
the execution part) or else its use turned out to be an error.
We need to apply the implicit type rules of the host, which requires
some changes to implicit typing.

Variables in common blocks are allowed to appear in specification expressions
(because they are not locals) but the common block definition may not appear
until after their use. To handle this we create common block symbols and object
entities for each common block object during the `PreSpecificationConstruct`
pass. This allows us to remove the corresponding code in the main visitor and
`commonBlockInfo_.curr`. The change in order of processing causes some
different error messages to be emitted.

Some cleanup is included with this change:
- In `ExpressionAnalyzer`, if an unresolved name is encountered but
  no error has been reported, emit an internal error.
- Change `ImplicitRulesVisitor` to hide the `ImplicitRules` object
  that implements it. Change the interface to pass in names rather
  than having to get the first character of the name.
- Change `DeclareObjectEntity` to have the `attrs` argument default
  to an empty set; that is the typical case.
- In `Pre(parser::SpecificationPart)` use "structured bindings" to
  give names to the pieces that make up a specification-part.
- Enhance `parser::Unwrap` to unwrap `Statement` and `UnlabeledStatement`
  and make use of that in PreSpecificationConstruct.

Differential Revision: https://reviews.llvm.org/D86322
The file was modifiedflang/lib/Semantics/check-declarations.cpp (diff)
The file was modifiedflang/lib/Semantics/expression.cpp (diff)
The file was modifiedflang/lib/Semantics/resolve-names.cpp (diff)
The file was modifiedflang/include/flang/Parser/tools.h (diff)
The file was modifiedflang/lib/Semantics/compute-offsets.cpp (diff)
The file was modifiedflang/lib/Semantics/tools.cpp (diff)
The file was addedflang/test/Semantics/implicit11.f90
The file was modifiedflang/include/flang/Semantics/tools.h (diff)
The file was modifiedflang/test/Semantics/modfile21.f90 (diff)
The file was modifiedflang/test/Semantics/block-data01.f90 (diff)
The file was modifiedflang/include/flang/Semantics/symbol.h (diff)
The file was modifiedflang/test/Semantics/resolve42.f90 (diff)
Commit fce44ff5da4eba4b781d73d72a18903215962091 by bjorn.a.pettersson
[Scalarizer] Avoid updating the name of globals

The "takeName" logic at the end of ScalarizerVisitor::finish
could end up renaming global variables when having simplified
and extractelement instruction to simply pick a single vector
element. If the input vector to the extractelement instruction
held pointers to global variables we ended up renaming the global
variable.
The patch make sure we only take the name of the replaced Op when
we have added new instructions that might need a useful name.

Reviewed By: lebedev.ri

Differential Revision: https://reviews.llvm.org/D86472
The file was modifiedllvm/test/Transforms/Scalarizer/basic.ll (diff)
The file was addedllvm/test/Transforms/Scalarizer/global-bug.ll
The file was modifiedllvm/lib/Transforms/Scalar/Scalarizer.cpp (diff)
Commit cde8f4c164a27670ebe60a1969d486393336d778 by dimitry
Move special va_list handling to kmp_os.h

Instead of copying and pasting the same `#ifdef` expressions in multiple
places, define a type and a pair of macros in `kmp_os.h`, to handle
whether `va_list` is pointer-like or not:

* `kmp_va_list` is the type to use for `__kmp_fork_call()`
* `kmp_va_deref()` dereferences a `va_list`, if necessary
* `kmp_va_addr_of()` takes the address of a `va_list`, if necessary

Also add FreeBSD to the list of OSes that has a non pointer-like
va_list. This can now be easily extended to other OSes too.

Reviewed By: AndreyChurbanov

Differential Revision: https://reviews.llvm.org/D86397
The file was modifiedopenmp/runtime/src/kmp_os.h (diff)
The file was modifiedopenmp/runtime/src/kmp_runtime.cpp (diff)
The file was modifiedopenmp/runtime/src/kmp_csupport.cpp (diff)
The file was modifiedopenmp/runtime/src/kmp.h (diff)
The file was modifiedopenmp/runtime/src/kmp_gsupport.cpp (diff)
Commit 47b0262d3f82a5574c7539afeb76cc1687417ca5 by dimitry
Add <stdarg.h> include to kmp_os.h, to get the va_list type, required
after cde8f4c164a2. Sort system includes, while here.
The file was modifiedopenmp/runtime/src/kmp_os.h (diff)
Commit 68bae34c65b30ad3fe01555b4cf3020266cfec85 by smeenai
[llvm-libtool-darwin] Add support for -V option

The -V option in cctools' libtool prints out the version number and
performs any specified operation. Add this option to LLVM's version.
cctools is more forgiving of invalid command lines when -V is specified,
but I think it's better to give errors instead of silently producing no
output.

Unfortunately, when -V is present, options that would otherwise be
required aren't anymore, so we need to perform some manual argument
validation.

Reviewed By: alexshap

Differential Revision: https://reviews.llvm.org/D86359
The file was addedllvm/test/tools/llvm-libtool-darwin/version.test
The file was modifiedllvm/tools/llvm-libtool-darwin/llvm-libtool-darwin.cpp (diff)
The file was modifiedllvm/test/tools/llvm-libtool-darwin/missing-library-type.test (diff)
The file was modifiedllvm/test/tools/llvm-libtool-darwin/invalid-input-output-args.test (diff)
Commit 26c1d689ae4cd24d228df1c35a2067fa970c52cc by smeenai
[compiler-rt] Disable ranlib when using libtool

libtool already produces a table of contents, and ranlib just gives
spurious errors because it doesn't understand universal binaries.

Reviewed By: phosek

Differential Revision: https://reviews.llvm.org/D86365
The file was modifiedcompiler-rt/cmake/Modules/UseLibtool.cmake (diff)
Commit a7d8aabf298c66cf03f3298ab1addb82e895a6af by smeenai
[runtimes] Remove TOOLCHAIN_TOOLS specialization

{builtin,runtime}_register_target passes a TOOLCHAIN_TOOLS list, whereas
{builtin,runtime}_default_target does notl. The explicit TOOLCHAIN_TOOLS
list matches what LLVMExternalProjectUtils would have set anyway,
barring some target-specific adjustments, and those target-specific
adjustments seem valuable, so let's drop the explicit TOOLCHAIN_TOOLS
list and let LLVMExternalProjectUtils take care of it.

Reviewed By: phosek

Differential Revision: https://reviews.llvm.org/D86366
The file was modifiedllvm/runtimes/CMakeLists.txt (diff)
Commit 2c80e2fe51b685f5663ad6f76c9c05c75d7582c4 by smeenai
[runtimes] Use llvm-libtool-darwin for runtimes build

It's full featured now and we can use it for the runtimes build instead
of relying on an external libtool, which means the CMAKE_HOST_APPLE
restriction serves no purpose either now. Restrict llvm-lipo to Darwin
targets while I'm here, since it's only needed there.

Reviewed By: phosek

Differential Revision: https://reviews.llvm.org/D86367
The file was modifiedllvm/cmake/modules/LLVMExternalProjectUtils.cmake (diff)
The file was modifiedcompiler-rt/CMakeLists.txt (diff)
The file was modifiedcompiler-rt/lib/builtins/CMakeLists.txt (diff)
Commit 49dd1ea727d57aba168f05508132526c128c0621 by spatel
[InstCombine] add tests for insert+extract demanded elements; NFC
The file was modifiedllvm/test/Transforms/InstCombine/vec_demanded_elts.ll (diff)
Commit 7661c8c040465602c40b45ecbd226ce93b03147b by spatel
[SLP] avoid 'tmp' names in regression tests; NFC

That can cause problems for update_test_checks.py (it warns when updating this file).
The file was modifiedllvm/test/Transforms/SLPVectorizer/AArch64/getelementptr.ll (diff)
Commit 557b890ff4f4dd5fa979c232df5b31cf3fef04c1 by spatel
[InstCombine] improve demanded element analysis for vector insert-of-extract

InstCombine currently has odd rules for folding insert-extract chains to shuffles,
so we miss collapsing seemingly simple cases as shown in the tests here.

But poison makes this not quite as easy as we might have guessed. Alive2 tests to
show the subtle difference (similar to the regression tests):
https://alive2.llvm.org/ce/z/hp4hv3 (this is ok)
https://alive2.llvm.org/ce/z/ehEWaN (poison leakage)

SLP tends to create these patterns (as shown in the SLP tests), and this could
help with solving PR16739.

Differential Revision: https://reviews.llvm.org/D86460
The file was modifiedllvm/test/Transforms/SLPVectorizer/AArch64/getelementptr.ll (diff)
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/operandorder.ll (diff)
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp (diff)
The file was modifiedllvm/test/Transforms/InstCombine/vec_demanded_elts.ll (diff)
Commit fa0a855c73a053c13d6fcf1aa20bad6f1711d2b8 by julian.lettner
[TSan][libdispatch] Add interceptors for dispatch_barrier_async_and_wait()

Add interceptors for the barrier variants of the "async and wait"
dispatch API family.
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_interceptors_libdispatch.cpp (diff)
Commit 9e32d7b6e7e6615dbc5049a53f8e2ba03ae0292f by rprichard
[libunwind] Remove static_assert / __has_feature macros

The static_assert macro broke on GCC when a scope had two asserts and a
condition that depended on a template parameter. Remove the macro and
rely on the compiler's C++11 static_assert feature.

The __has_feature macro was only used here to determine whether to
define the static_assert macro.

Reviewed By: mstorsjo, #libunwind

Differential Revision: https://reviews.llvm.org/D86411
The file was modifiedlibunwind/src/config.h (diff)
Commit c485343c8310086ff7ee4aaf40330b4c4b35e99f by nemanja.i.ibm
[PowerPC] Handle SUBFIC in reg+reg -> reg+imm transformation

We initially missed the subtract-immediate in this transformation.
This patch just adds that.

Differential revision: https://reviews.llvm.org/D84659
The file was modifiedllvm/test/CodeGen/PowerPC/pr44183.ll (diff)
The file was modifiedllvm/lib/Target/PowerPC/PPCInstrInfo.cpp (diff)
Commit c1d25e9a82554aa580b3cc0b97fc5c7db8164042 by julian.lettner
[TSan][libdispatch] Add interceptors for dispatch_barrier_async_and_wait(), pt. 2

Also intercept these target functions on Linux.
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_interceptors_libdispatch.cpp (diff)
Commit 05a3c8848a08fea5b832e69b94d3d647ef29f745 by Matthew.Arsenault
AMDGPU: Have a few selection failure tests check both paths

SelectionDAG and GlobalISel take different failure paths for these and
end up producing different failure errors. Check both so the test
passes when the default is switched.
The file was modifiedllvm/test/CodeGen/AMDGPU/div_i128.ll (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/unsupported-image-a16.ll (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/llvm.amdgcn.ds.gws.sema.release.all.ll (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/unsupported-image-g16.ll (diff)
Commit f7c87b7e376773c555d92d02d8a52a811caf2fbc by craig.topper
[X86] Copy the tuning features and scheduler model from pentium4/x86-64 to generic

This is preparation for making clang default to -mtune=generic when no -march is specified. This will allow the default tuning to be "generic" even though our default march is "pentium4" or "x86-64".

To avoid llc lit test regressions, if no mcpu is specified, I've defaulted tune to use i586 to match the old tuning settings of no CPU. Some tests explicitly used -mcpu=generic which I've removed so they instead get this default of architecture features from generic and tune from i586.

I updated one llvm-mca test to check a different CPU since generic has a scheduler model now

Differential Revision: https://reviews.llvm.org/D86312
The file was modifiedllvm/test/CodeGen/X86/select.ll (diff)
The file was modifiedllvm/lib/Target/X86/X86.td (diff)
The file was modifiedllvm/lib/Target/X86/X86Subtarget.cpp (diff)
The file was modifiedllvm/test/CodeGen/X86/vec_setcc-2.ll (diff)
The file was modifiedllvm/test/CodeGen/X86/widen_cast-1.ll (diff)
The file was modifiedllvm/test/CodeGen/X86/optimize-max-3.ll (diff)
The file was modifiedllvm/test/CodeGen/X86/add.ll (diff)
The file was modifiedllvm/test/CodeGen/X86/lsr-loop-exit-cond.ll (diff)
The file was modifiedllvm/test/CodeGen/X86/masked-iv-safe.ll (diff)
The file was modifiedllvm/test/tools/llvm-mca/X86/no-sched-model.s (diff)
The file was modifiedllvm/test/CodeGen/X86/abi-isel.ll (diff)
The file was modifiedllvm/test/CodeGen/X86/full-lsr.ll (diff)
The file was modifiedllvm/test/CodeGen/X86/2007-11-06-InstrSched.ll (diff)
The file was modifiedllvm/test/CodeGen/X86/lsr-static-addr.ll (diff)
The file was modifiedllvm/test/CodeGen/X86/vec_call.ll (diff)
Commit 075a92dea11ece9e7b7e24238fa995a42b2128d0 by nemanja.i.ibm
[PowerPC] Do not use FISel for calls and TOC-based accesses with PC-Rel

PC-Relative addressing introduces a fair bit of complexity for correctly
eliminating TOC accesses. FastISel does not include any of that handling so we
miscompile code with -mcpu=pwr10 -O0 if it includes an external call that
FastISel does not handle followed by any of the following:

    Floating point constant materialization
    Materialization of a GlobalValue
    Call that FastISel does handle

This patch switches to SDISel for any of the above.

Differential revision: https://reviews.llvm.org/D86343
The file was modifiedllvm/lib/Target/PowerPC/PPCFastISel.cpp (diff)
The file was modifiedllvm/test/CodeGen/PowerPC/fast-isel-pcrel.ll (diff)
Commit 77e5a195f818b9ace91f7b12ab948b21d7918238 by Matthew.Arsenault
AMDGPU/GlobalISel: Handle AGPRs used for SGPR operands.

We would still need to waterfall if the value were somehow an AGPR,
and also need to explicitly copy to a VGPR.
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn.readlane.mir (diff)
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp (diff)
The file was addedllvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-waterfall-agpr.mir
Commit a842950b62b6d029a392c3c312c6495d6368c2a4 by Jonas Devlieghere
[lldb] Add a SymbolFileProvider to record and replay calls to dsymForUUID

When replaying a reproducer captured from a core file, we always use
dsymForUUID for the kernel binary. When enabled, we also use it to find
kexts. Since these files are already contained in the reproducer,
there's no reason to call out to an external tool. If the tool returns a
different result, e.g. because the dSYM got garbage collected, it will
break reproducer replay. The SymbolFileProvider solves the issue by
mapping UUIDs to module and symbol paths in the reproducer.

Differential revision: https://reviews.llvm.org/D86389
The file was modifiedlldb/source/Commands/CommandObjectReproducer.cpp (diff)
The file was modifiedlldb/include/lldb/Utility/Reproducer.h (diff)
The file was modifiedlldb/source/Symbol/LocateSymbolFile.cpp (diff)
The file was modifiedlldb/source/Symbol/LocateSymbolFileMacOSX.cpp (diff)
The file was addedlldb/test/Shell/Reproducer/TestDebugSymbols.test
The file was modifiedlldb/include/lldb/Utility/ReproducerProvider.h (diff)
The file was addedlldb/test/Shell/Reproducer/Inputs/dsymforuuid.sh
The file was addedlldb/test/Shell/Reproducer/Inputs/core
The file was modifiedlldb/source/Utility/ReproducerProvider.cpp (diff)
Commit a74dc598fb6b878908ffe769025f79f17e54cab0 by spatel
[x86][AArch64] adjust fast-math-flags in tests; NFC

This goes with the proposal in D86403.
The file was modifiedllvm/test/CodeGen/AArch64/sqrt-fastmath.ll (diff)
The file was modifiedllvm/test/CodeGen/X86/sqrt-fastmath.ll (diff)
Commit 62e91bf563337fff93be0059ecb1f4dae32d8980 by spatel
[DAGCombine]: Fold X/Sqrt(X) to Sqrt(X)

With FMF ( "nsz" and " reassoc") fold X/Sqrt(X) to Sqrt(X).

This is done after targets have the chance to produce a
reciprocal sqrt estimate sequence because that expansion
is probably more efficient than an expansion of a
non-reciprocal sqrt. That is also why we deferred doing
this transform in IR (D85709).

Differential Revision: https://reviews.llvm.org/D86403
The file was modifiedllvm/test/CodeGen/X86/sqrt-fastmath.ll (diff)
The file was modifiedllvm/test/CodeGen/AArch64/sqrt-fastmath.ll (diff)
The file was modifiedllvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp (diff)
Commit 93b255142bb7025f62cf83dd5b7d3b04aab5445b by shafik
[LLDB] Fix how ValueObjectVariable handles DW_AT_const_value when the DWARFExpression holds the data that represents a constant value

In some cases when we have a DW_AT_const_value and the data can be found in the
DWARFExpression then ValueObjectVariable does not handle it properly and we end
up with an extracting data from value failed error.

The test is a very stripped down assembly file since reproducing this relies on the results of compiling with -O1 which may not be stable over time.

Differential Revision: https://reviews.llvm.org/D86311
The file was addedlldb/test/Shell/SymbolFile/DWARF/DW_AT_const_value.s
The file was modifiedlldb/source/Core/ValueObjectVariable.cpp (diff)
Commit 96a979c0c2950d118da48ac3307e279a41c5a945 by enh
Fix test for D77924.

The trailing 'L' was missing in the expectation.

Differential Revision: https://reviews.llvm.org/D86321
The file was modifiedlibcxxabi/test/test_demangle.pass.cpp (diff)
Commit 4283320b7286dc94367b22df09499dc934e1fbf9 by omair.javaid
[LLDB] Fix SVE offset calculation in NativeRegisterContextLinux_arm64

There was typo left from changes in CalculateSVEOffset where we moved
FPSR/FPCR offset calculation into WriteRegister and ReadRegister.

Differential Revision: https://reviews.llvm.org/D79699
The file was modifiedlldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64.cpp (diff)
Commit a5e65ad3a30cd77a768e093276e3426c6d81a32d by maskray
[not][test] Fix disable-symbolization.test when 'printenv' is not available

On Windows, 'env' or 'printenv' may not exist.

Also switch back to 'env' which is specified by POSIX.1-2017. 'printenv' is not
standard (I picked it because 'printenv' exists on GnuWin32 but 'env' does not).

Reviewed By: zequanwu

Differential Revision: https://reviews.llvm.org/D86496
The file was modifiedllvm/test/tools/not/disable-symbolization.test (diff)
Commit 8c63df2416dc7a492f6464519b516a202147dc91 by mtrofin
[MLInliner] Support training that doesn't require partial rewards

If we use training algorithms that don't need partial rewards, we don't
need to worry about an ir2native model. In that case, training logs
won't contain a 'delta_size' feature either (since that's the partial
reward).

Differential Revision: https://reviews.llvm.org/D86481
The file was modifiedllvm/test/Transforms/Inline/ML/development-training-log.ll (diff)
The file was modifiedllvm/lib/Analysis/DevelopmentModeInlineAdvisor.cpp (diff)
Commit 91604949ef2fc8401d17a31362c46c310d5550b6 by richard
Properly pass modules flags to frontend when using -std=c++20 instead of -std=c++2a.

In passing, also teach the driver to map /std:c++latest to -std=c++20
not -std=c++2a.
The file was modifiedclang/test/Driver/modules.cpp (diff)
The file was modifiedclang/test/Driver/cl-options.c (diff)
The file was modifiedclang/lib/Driver/ToolChains/Clang.cpp (diff)
Commit 1a2a34a38a7d6310b38958fbe49c274431ac223d by echristo
Add NDEBUG checks around debug only loop to avoid unused variable
warnings.
The file was modifiedmlir/tools/mlir-reduce/ReductionTreeUtils.cpp (diff)
Commit 044a71d828cab57b9aefd402105960959a4e2c0e by tkeith
[flang] Don't attempt to compute element size if no DynamicType

If an error has occurred a symbol may have a DeclTypeSpec but no
valid DynamicType. There is no need to compute the size of erroneous
symbols.

Also, we only need to process object entities and procedure entities.
All other kinds of symbols can be skipped.

This fixes another problem revealed by https://bugs.llvm.org/show_bug.cgi?id=47265

Differential Revision: https://reviews.llvm.org/D86484
The file was modifiedflang/lib/Semantics/compute-offsets.cpp (diff)
Commit 1f04678f875e2b8b8a396b8e77ca21d57dbbb0d5 by alexandre.ganea
Disable 'not' test on Windows because 'env' from GnuWin32 cannot be used without arguments.
The file was modifiedllvm/test/tools/not/disable-symbolization.test (diff)
Commit 589ce5f7050dd83fd3f7dbc182ea0fb051ece994 by akhuang
[DebugInfo] Move constructor homing case in shouldOmitDefinition.

For some reason the ctor homing case was before the template
specialization case, and could have returned false too early.
I moved the code out into a separate function to avoid this.

Also added a run line to the template specialization test. I guess
all the -debug-info-kind=limited tests should still pass with =constructor,
but it's probably unnecessary to test for all of those.

Differential Revision: https://reviews.llvm.org/D86491
The file was modifiedclang/lib/CodeGen/CGDebugInfo.cpp (diff)
The file was modifiedclang/test/CodeGenCXX/debug-info-template-explicit-specialization.cpp (diff)
Commit 05777ab941063192b9ccb1775358a83a2700ccc1 by echristo
Temporarily Revert "[DebugInfo] Move constructor homing case in shouldOmitDefinition."
as it's causing test failures.

This reverts commit 589ce5f7050dd83fd3f7dbc182ea0fb051ece994.
The file was modifiedclang/lib/CodeGen/CGDebugInfo.cpp (diff)
The file was modifiedclang/test/CodeGenCXX/debug-info-template-explicit-specialization.cpp (diff)
Commit 2b3807d822c50d361ae67184b6de5a41bd7b1bba by phosek
[CMake] Fix ncurses/zlib in LLVM_SYSTEM_LIBS for Windows GNU

For the Windows GNU platform, CMAKE_FIND_LIBRARY_PREFIXES is a list
containing an empty string, which ended up in a regex capturing group,
which is invalid in CMake's regex engine. With this change, we get the
following:

  set(CMAKE_FIND_LIBRARY_PREFIXES "lib" "")
  set(CMAKE_FIND_LIBRARY_SUFFIXES ".dll.a" ".a" ".lib")
  get_system_libname(path/to/libz.dll.a zlib)
  message("${zlib}")

outputs z, as expected.

Patch By: haampie

Differential Revision: https://reviews.llvm.org/D86434
The file was modifiedllvm/lib/Support/CMakeLists.txt (diff)
Commit 61273f298f2ccca5a474013ff59a94eef0371efb by ecaldas
[SyntaxTree] Split `MemberPointer` tests with annotations

Differential Revision: https://reviews.llvm.org/D86467
The file was modifiedclang/unittests/Tooling/Syntax/BuildTreeTest.cpp (diff)
Commit b493e4cb3e37401d4fe5c0b2ba1adf7e66758bb0 by ecaldas
[SyntaxTree] Split ConstVolatileQualifiers tests

Differential Revision: https://reviews.llvm.org/D86469
The file was modifiedclang/unittests/Tooling/Syntax/BuildTreeTest.cpp (diff)
Commit 7f426c65b06f2d19546b2d50fccc15de9dde3d85 by ecaldas
[SyntaxTree] Use annotations on ClassTemplate_MemberClassDefinition test

Differential Revision: https://reviews.llvm.org/D86470
The file was modifiedclang/unittests/Tooling/Syntax/BuildTreeTest.cpp (diff)
Commit e02d081f2b60b61eb60ef6a49b1a9f907e432d4c by freddy.ye
[X86] Support -march=sapphirerapids

Support -march=sapphirerapids for x86.
Compare with Icelake Server, it includes 14 more new features. They are
amxtile, amxint8, amxbf16, avx512bf16, avx512vp2intersect, cldemote,
enqcmd, movdir64b, movdiri, ptwrite, serialize, shstk, tsxldtrk, waitpkg.

Reviewed By: craig.topper

Differential Revision: https://reviews.llvm.org/D86503
The file was modifiedclang/test/Preprocessor/predefined-arch-macros.c (diff)
The file was modifiedclang/lib/Basic/Targets/X86.cpp (diff)
The file was modifiedllvm/lib/Support/X86TargetParser.cpp (diff)
The file was modifiedclang/test/CodeGen/target-builtin-noerror.c (diff)
The file was modifiedllvm/include/llvm/Support/X86TargetParser.h (diff)
The file was modifiedllvm/lib/Support/Host.cpp (diff)
The file was modifiedclang/test/CodeGen/attr-target-mv.c (diff)
The file was modifiedclang/test/Misc/target-invalid-cpu-note.c (diff)
The file was modifiedllvm/test/CodeGen/X86/cpus-intel.ll (diff)
The file was modifiedcompiler-rt/lib/builtins/cpu_model.c (diff)
The file was modifiedclang/test/Driver/x86-march.c (diff)
The file was modifiedllvm/include/llvm/Support/X86TargetParser.def (diff)
The file was modifiedllvm/lib/Target/X86/X86.td (diff)
Commit 04ba18563390ec87400fa068a9b4981b235ebaa6 by richard
PR37556: Don't diagnose conflicts between instantiated unqualified
friend declarations and declarations found in inline namespaces within
the target context.
The file was modifiedclang/lib/Sema/SemaTemplateInstantiateDecl.cpp (diff)
The file was modifiedclang/test/SemaTemplate/friend.cpp (diff)
Commit 2501e911a5a174fc1a07a2a1ac687a2bf0f05ef3 by Raphael Isemann
[lldb] Don't depend on psutil in TestCompletion.py

psutil isn't reall a dependency of the test suite so this shouldn't be
unconditionally be imported here. Instead just check for the process name
by looking for the "a.out" string to get the bots green again.
The file was modifiedlldb/test/API/functionalities/completion/TestCompletion.py (diff)
Commit c655d8081570336dda109502ed1e7a2eff1b26e2 by ecaldas
[SyntaxTree] Extend the syntax tree dump to also cover `NodeRole`

We should see `NodeRole` information in the dump because that exposes how the
accessors will behave.

Functional changes in the dump:
* Surround Leaf tokens with `'`
* Append `Node` dumps with `NodeRole` information, except for unknown roles
* Append marks to `Node` dumps, instead of prepending

Non-functional changes:
* `::dumpTokens(llvm::raw_ostream, ArrayRef<syntax::Token>, const
SourceManager &SM)` always received as parameter a `syntax::Token *`
pointing to `Leaf::token()`. Changed the function to
`dumpLeaf(llvm::raw_ostream, syntax::Leaf *, const SourceManager&)`
* `dumpTree` acted on a Node, rename to `dumpNode`

Differential Revision: https://reviews.llvm.org/D85330
The file was modifiedclang/lib/Tooling/Syntax/BuildTree.cpp (diff)
The file was modifiedclang/lib/Tooling/Syntax/Tree.cpp (diff)
The file was modifiedclang/unittests/Tooling/Syntax/TreeTestBase.cpp (diff)
The file was modifiedclang/include/clang/Tooling/Syntax/Tree.h (diff)
Commit 02a9f8a27b7f22e4a499c5511142bd2650defad1 by ecaldas
[SyntaxTree] Update `Statement` tests to dump `NodeRole`
The file was modifiedclang/unittests/Tooling/Syntax/BuildTreeTest.cpp (diff)
Commit 6118ce79a3d3832c8bcbd985fbd2bf0bee4ea8a2 by ecaldas
[SyntaxTree] Update `Expression` tests to dump `NodeRole`
The file was modifiedclang/unittests/Tooling/Syntax/BuildTreeTest.cpp (diff)
Commit 5c11c08d86f3ae45ec3b2b2766c48a3dc572d05e by ecaldas
[SyntaxTree] Update `Declaration` tests to dump `NodeRole`
The file was modifiedclang/unittests/Tooling/Syntax/BuildTreeTest.cpp (diff)
Commit be2bc7d4cef2edd66c7fb74b70adf62fc68754db by ecaldas
[SyntaxTree] Update `Modifiable` tests to dump `NodeRole` and `unmodifiable` tag
The file was modifiedclang/unittests/Tooling/Syntax/BuildTreeTest.cpp (diff)
Commit 879c1db5d24dcb0ac03f9f6282a09996ff3dc291 by martin
[Compiler-RT] Fix profiler building with MinGW GCC

Differential Revision: https://reviews.llvm.org/D86405
The file was modifiedcompiler-rt/lib/profile/InstrProfilingPort.h (diff)
Commit e3585ff7af17acda65bbdac66530bbf5f67fdbca by ro
[compiler-rt][asan][test] Set LD_LIBRARY_PATH_{32,64} on Solaris

The dynamically linked ASan tests rely on `LD_LIBRARY_PATH` to find
`libclang_rt.asan-*.so` at runtime.

However, the Solaris runtime linker `ld.so.1` also supports more specific
variables: `LD_LIBRARY_PATH_32` and `LD_LIBRARY_PATH_64` respectively.  If
those happen to be set, `LD_LIBRARY_PATH` is ignored.  In such a case, all
dynamically linked ASan tests `FAIL`.  For i386 alone, this affects about
200 tests.

The following patch fixes that by also setting `LD_LIBRARY_PATH_{32,64}` on
Solaris.

Tested on `amd64-pc-solaris2.11` both with only `LD_LIBRARY_PATH` set and
with `LD_LIBRARY_PATH_{32,64}` set too.

Differential Revision: https://reviews.llvm.org/D86333
The file was modifiedcompiler-rt/test/asan/lit.cfg.py (diff)
The file was modifiedcompiler-rt/test/asan/Unit/lit.site.cfg.py.in (diff)
Commit 85a5c65f695deb13787889658cfcfbbfc1a42664 by sam.parker
[NFC][RDA] Add explicit def check

Explicitly check that there is a local def prior to the given
instruction in getReachingLocalMIDef instead of just relying on
a nullptr return from getInstFromId.
The file was modifiedllvm/lib/CodeGen/ReachingDefAnalysis.cpp (diff)
Commit cdd339c568fdd0fa2494745d0f661c4a0647c13c by lebedev.ri
[InstCombine] PHI-of-insertvalues -> insertvalue-of-PHI's

As per statistic, this happens pretty exceedingly rare,
but i have seen it in exactly the situations the
Phi-aware aggregate reconstruction would have handled,
eventually, and allowed invoke -> call fold later on.

So while this might be something that other fold
will have to learn about, i believe we should be
doing this transform in general.

Here, we are okay with adding two PHI's to get both the base aggregate,
and the inserted value. I'm not sure it makes much sense to restrict
it to a single phi (to just the inserted value?), because originally
we'd be receiving the final aggregate already..

llvm test-suite + RawSpeed:
```
| statistic name                             | baseline  | proposed  |    Δ |      % | \|%\| |
|--------------------------------------------|-----------|-----------|-----:|-------:|------:|
| instcombine.NumPHIsOfInsertValues          | 0         | 12        |  12  |  0.00% | 0.00% |
| asm-printer.EmittedInsts                   | 8926643   | 8926595   | -48  |  0.00% | 0.00% |
| instcombine.NumCombined                    | 3846614   | 3846640   |  26  |  0.00% | 0.00% |
| instcombine.NumConstProp                   | 24302     | 24293     |  -9  | -0.04% | 0.04% |
| instcombine.NumDeadInst                    | 1620140   | 1620112   | -28  |  0.00% | 0.00% |
| instcount.NumBrInst                        | 898466    | 898464    |  -2  |  0.00% | 0.00% |
| instcount.NumCallInst                      | 1760819   | 1760875   |  56  |  0.00% | 0.00% |
| instcount.NumExtractValueInst              | 45659     | 45649     | -10  | -0.02% | 0.02% |
| instcount.NumInsertValueInst               | 4991      | 4981      | -10  | -0.20% | 0.20% |
| instcount.NumIntToPtrInst                  | 27084     | 27087     |   3  |  0.01% | 0.01% |
| instcount.NumPHIInst                       | 371435    | 371429    |  -6  |  0.00% | 0.00% |
| instcount.NumStoreInst                     | 906011    | 906019    |   8  |  0.00% | 0.00% |
| instcount.TotalBlocks                      | 1105520   | 1105518   |  -2  |  0.00% | 0.00% |
| instcount.TotalInsts                       | 9795737   | 9795776   |  39  |  0.00% | 0.00% |
| simplifycfg.NumInvokes                     | 2784      | 2786      |   2  |  0.07% | 0.07% |
| simplifycfg.NumSimpl                       | 1001840   | 1001850   |  10  |  0.00% | 0.00% |
| simplifycfg.NumSinkCommonInstrs            | 15174     | 15170     |  -4  | -0.03% | 0.03% |
```

Reviewed By: spatel

Differential Revision: https://reviews.llvm.org/D86306
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineInternal.h (diff)
The file was modifiedllvm/test/Transforms/InstCombine/phi-aware-aggregate-reconstruction.ll (diff)
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombinePHI.cpp (diff)
The file was modifiedllvm/test/Transforms/InstCombine/phi-of-insertvalues.ll (diff)
Commit e19ef1aab524ef10a2d118adcd9f6fd6ca2d7ca9 by flo
[DSE,MemorySSA] Cache accesses with/without reachable read-clobbers.

Currently we repeatedly check the same uses for read clobbers in some
cases. We can avoid unnecessary checks by keeping track of the memory
accesses we already found read clobbers for. To do so, we just add
memory access causing read-clobbers to a set. Note that marking all
visited accesses as read-clobbers would be to pessimistic, as that might
include accesses not on any path to  the actual read clobber.

If we do not find any read-clobbers, we can add all visited instructions
to another set and use that to skip the same accesses in the next call.

Reviewed By: asbirlea

Differential Revision: https://reviews.llvm.org/D75025
The file was modifiedllvm/lib/Transforms/Scalar/DeadStoreElimination.cpp (diff)
Commit 7b64765cd19a60d6d56106769d06cdff5b660479 by david.sherwood
[SVE] Fix TypeSize related warnings with IR truncates of scalable vectors

In getCastInstrCost when the instruction is a truncate we were relying
upon the implicit TypeSize -> uint64_t cast when asking if a given type
has the same size as a legal integer. I've changed the code to only
ask the question if the type is fixed length.

I have also changed InstCombinerImpl::SimplifyDemandedUseBits to bail
out for now if the type is a scalable vector.

I've added the following new tests:

  Analysis/CostModel/AArch64/sve-trunc.ll
  Transforms/InstCombine/AArch64/sve-trunc.ll

for both of these fixes.

Differential revision: https://reviews.llvm.org/D86432
The file was addedllvm/test/Transforms/InstCombine/AArch64/sve-trunc.ll
The file was addedllvm/test/Analysis/CostModel/AArch64/sve-trunc.ll
The file was modifiedllvm/include/llvm/Analysis/TargetTransformInfoImpl.h (diff)
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp (diff)
Commit 3ff4d75c9cbffb12c5c690c389e3977ea6811042 by orlando.hyams
[llvm-dwarfdump] Fix misleading scope byte coverage statistics

Fixes PR46575.

Bump statistics version to 6.

Without this patch, for a variable described with a location list the stat
'sum_all_variables(#bytes in parent scope covered by DW_AT_location)' is
calculated by summing all bytes covered by the location ranges in the list and
capping the result to the number of bytes in the parent scope. With the patch,
only bytes which overlap with the parent DIE scope address ranges contribute to
the stat. A new stat 'sum_all_variables(#bytes in any scope covered by
DW_AT_location)' has been added which displays the total bytes covered when
ignoring scopes.
The file was modifiedllvm/test/tools/llvm-dwarfdump/X86/statistics-dwo.test (diff)
The file was addedllvm/test/tools/llvm-dwarfdump/X86/stats-scope-bytes-covered.yaml
The file was modifiedllvm/tools/llvm-dwarfdump/Statistics.cpp (diff)
The file was modifiedllvm/test/tools/llvm-dwarfdump/X86/statistics-v3.test (diff)
The file was modifiedllvm/test/tools/llvm-dwarfdump/X86/statistics.ll (diff)
Commit 70b39506a1a68f16e4d59f998c6a099f98363964 by thomasp
[FileCheck][docs] Fix word errors

ouput -> output

Reviewed By: thopre

Differential Revision: https://reviews.llvm.org/D86504
The file was modifiedllvm/docs/CommandGuide/FileCheck.rst (diff)
Commit 275bed899e96e384e90ad5e9874171aa86412f65 by grimar
[llvm-readelf/obj] - Change the return type of the `createDRI(...)` to `Expected<>`

This allows to get rid of "Invalid data was encountered while parsing the file"
error reported in cases when sh_size/sh_offset of sections are broken.

Differential revision: https://reviews.llvm.org/D86451
The file was modifiedllvm/tools/llvm-readobj/ELFDumper.cpp (diff)
The file was modifiedllvm/test/tools/llvm-readobj/ELF/malformed-pt-dynamic.test (diff)
The file was modifiedllvm/test/tools/llvm-readobj/ELF/dyn-symbols.test (diff)
Commit 6da4f1199e7c3129f6e2ef7a24a2c75e386be32d by hans
Revert "[CMake] Fix ncurses/zlib in LLVM_SYSTEM_LIBS for Windows GNU"

It broke Chromium's llvm build:

CMake Error at lib/Support/CMakeLists.txt:13 (string):
   string sub-command REGEX, mode REPLACE: regex "^()" matched an empty
   string.
Call Stack (most recent call first):
   lib/Support/CMakeLists.txt:223 (get_system_libname)

This reverts commit 2b3807d822c50d361ae67184b6de5a41bd7b1bba /  https://reviews.llvm.org/D86434
The file was modifiedllvm/lib/Support/CMakeLists.txt (diff)
Commit c6fb72de4f55f0f6b8eb6686284d52ed8c5a1ac9 by benny.kra
Revert "[InstCombine] improve demanded element analysis for vector insert-of-extract"

This reverts commit 557b890ff4f4dd5fa979c232df5b31cf3fef04c1. Causing
miscompiles, test case is on llvm-commits.
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/operandorder.ll (diff)
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp (diff)
The file was modifiedllvm/test/Transforms/InstCombine/vec_demanded_elts.ll (diff)
The file was modifiedllvm/test/Transforms/SLPVectorizer/AArch64/getelementptr.ll (diff)
Commit 4d5ca22b8adfb6643466e4e9f48ba14bb48938bc by lebedev.ri
[NFC][InstCombine] Tests for PHI-of-extractvalues

Much like with it's sibling fold HI-of-insertvalues,
it appears to be much more worthwhile than it would seem.
The file was addedllvm/test/Transforms/InstCombine/phi-of-extractvalues.ll
Commit 41726f8d5b24bc449b48d1d9e09523ee266cc5e4 by grimar
[llvm-readobj] - Print "Unknown" when a program header is unknown.

Currently, when a program header type is unknown, we dont print anything:

```
ProgramHeader {
  Type:  (0x60000000)
```

With this patch the output will be:

```
ProgramHeader {
  Type: Unknown (0x60000000)
```

It was discussed in D85526 and consistent with what we print for
'--sections' already, e.g.:

```
Section {
  Name: .sec
  Type: Unknown (0x7FFFFFFF)
}
```

Differential revision: https://reviews.llvm.org/D86213
The file was modifiedllvm/test/tools/llvm-readobj/ELF/program-headers.test (diff)
The file was modifiedllvm/tools/llvm-readobj/ELFDumper.cpp (diff)
The file was modifiedlld/test/ELF/linkerscript/non-alloc-segment.s (diff)
The file was modifiedlld/test/ELF/linkerscript/phdrs.s (diff)
Commit af6140fe8ae8f59c6149e7cc12fe02679d8dcca3 by sam.parker
[UpdatesTestChecks] Fix typo in common.py

global_vars_see_dict -> global_vars_seen_dict
The file was modifiedllvm/utils/UpdateTestChecks/common.py (diff)
Commit da4ada116ea4e2ca710ca993a3be7f646030d7ae by sam.parker
[NFC][ARM] arith code size cost tests

Add a run to measure the code size cost of arithmetic instructions
and add a function for i1 types.
The file was modifiedllvm/test/Analysis/CostModel/ARM/arith.ll (diff)
Commit 73ac3c0ede4ca08b72618620f92f1efcb76f2c89 by paul.walker
[SVE] Lower scalable vector ISD::FNEG operations.

Also updates isConstOrConstSplatFP to allow the mul(A,-1) -> neg(A)
transformation when -1 is expressed as an ISD::SPLAT_VECTOR.

Differential Revision: https://reviews.llvm.org/D86415
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.cpp (diff)
The file was modifiedllvm/lib/Target/AArch64/AArch64SVEInstrInfo.td (diff)
The file was modifiedllvm/test/CodeGen/AArch64/sve-fp.ll (diff)
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp (diff)
The file was modifiedllvm/lib/Target/AArch64/SVEInstrFormats.td (diff)
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.h (diff)
Commit 05390440a225c75358da84a1f2c3e8b8ddecd238 by okuraofvegetable
[Attributor][NFC] Clang format
The file was modifiedllvm/lib/Transforms/IPO/AttributorAttributes.cpp (diff)
Commit d4225b8f17d817a544b50d5e54737b059c660110 by sam.parker
[NFC][SimplifyCFG] Add some more tests for Arm.
The file was modifiedllvm/test/Transforms/SimplifyCFG/ARM/branch-fold-threshold.ll (diff)
Commit 59e1fbe55784d236d5a9e55b6da592bbbcff9057 by mikael.holmen
[PowerPC] Fix gcc warning [NFC]

Without the fix gcc 7.4 warns with

../lib/Target/PowerPC/PPCAsmPrinter.cpp: In member function 'void {anonymous}::PPCAsmPrinter::EmitTlsCall(const llvm::MachineInstr*, llvm::MCSymbolRefExpr::VariantKind)':
../lib/Target/PowerPC/PPCAsmPrinter.cpp:525:53: warning: enumeral and non-enumeral type in conditional expression [-Wextra]
                  MCInstBuilder(Subtarget->isPPC64() ? Opcode : PPC::BL_TLS)
                                ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~
The file was modifiedllvm/lib/Target/PowerPC/PPCAsmPrinter.cpp (diff)
Commit 1c39ffecd84a5eba54f5fabb433b0192d1dbd3b4 by mikael.holmen
[libunwind] Fix warning when building without frameheader cache

Without the fix the compiler warns with

/data/repo/master/libunwind/src/AddressSpace.hpp:436:44: warning: unused parameter 'pinfo_size' [-Wunused-parameter]
                                    size_t pinfo_size, void *data) {
                                           ^
1 warning generated.
The file was modifiedlibunwind/src/AddressSpace.hpp (diff)
Commit 5b7e27a4db95a07cc140e3980a49a1ee3fb2052c by david.green
[ARM][CGP] Fix scalar condition selects for MVE

The arm backend does not handle select/select_cc on vectors with scalar
conditions, preferring to expand them in codegenprepare instead. This
usually works except when optimizing for size, where the optsize check
would end up overruling the backend isSelectSupported check.

We could handle the selects in ISel too, but this seems like smaller
code than trying to splat the condition to all lanes.

Differential Revision: https://reviews.llvm.org/D86433
The file was addedllvm/test/CodeGen/Thumb2/mve-selectcc.ll
The file was modifiedllvm/lib/CodeGen/CodeGenPrepare.cpp (diff)
Commit ee2fdedd842c373c967494d7b9eb1e8b2b9c7d53 by sam.parker
[NFC][SimplifyCFG] More tests for Arm
The file was modifiedllvm/test/Transforms/SimplifyCFG/ARM/branch-fold-threshold.ll (diff)
Commit 5695fa9190595e6c82d14c830060538d227622c9 by Alexander.Richardson
[asan] Also allow for SIGBUS in high-address-dereference.c

FreeBSD delivers a SIGBUS signal for bad addresses rather than SIGSEGV.

Reviewed By: #sanitizers, vitalybuka, yln

Differential Revision: https://reviews.llvm.org/D85409
The file was modifiedcompiler-rt/test/asan/TestCases/Posix/high-address-dereference.c (diff)
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_posix.cpp (diff)
Commit 39d25064614fb87dcb934739af987c8f66068be2 by Alexander.Richardson
Fix crypt.cpp sanitizer test on FreeBSD

FreeBSD doesn't provide a crypt.h header but instead defines the functions
in unistd.h. Use __has_include() to handle that case.

Reviewed By: #sanitizers, vitalybuka

Differential Revision: https://reviews.llvm.org/D85406
The file was modifiedcompiler-rt/test/sanitizer_common/TestCases/Posix/crypt.cpp (diff)
Commit 3221c248d940d6355ad8d0ff35194fd6b87ef87f by Alexander.Richardson
Fix update_llc_test_checks function regex for RV64

Some functions also include a `.Lfunc$local:` label due to
-fno-semantic-interposition

Reviewed By: MaskRay

Differential Revision: https://reviews.llvm.org/D85888
The file was modifiedllvm/utils/UpdateTestChecks/asm.py (diff)
Commit 4d90ff59ac453a67ac692ffdf8242e4cfbd2b34f by adamcz
[clangd] When inserting "using", add "::" in front if that's the style.

We guess the style based on the existing using declarations. If there
are any and they all start with ::, we add it to the newly added one
too.

Differential Revision: https://reviews.llvm.org/D86473
The file was modifiedclang-tools-extra/clangd/unittests/TweakTests.cpp (diff)
The file was modifiedclang-tools-extra/clangd/refactor/tweaks/AddUsing.cpp (diff)
Commit ae366479e8c67c18756a823e6ce1c7fcd86a208f by sjoerd.meijer
[LV] get.active.lane.mask consuming tripcount instead of backedge-taken count

This adapts LV to the new semantics of get.active.lane.mask as discussed in
D86147, which means that the LV now emits intrinsic get.active.lane.mask with
the loop tripcount instead of the backedge-taken count as its second argument.
The motivation for this is described in D86147.

Differential Revision: https://reviews.llvm.org/D86304
The file was modifiedllvm/test/Transforms/LoopVectorize/ARM/mve-gather-scatter-tailpred.ll (diff)
The file was modifiedllvm/test/Transforms/LoopVectorize/ARM/mve-reduction-predselect.ll (diff)
The file was modifiedllvm/test/Transforms/LoopVectorize/ARM/prefer-tail-loop-folding.ll (diff)
The file was modifiedllvm/lib/Transforms/Vectorize/VPlan.cpp (diff)
The file was modifiedllvm/lib/Transforms/Vectorize/LoopVectorize.cpp (diff)
The file was modifiedllvm/test/Transforms/LoopVectorize/ARM/tail-folding-counting-down.ll (diff)
The file was modifiedllvm/test/Transforms/LoopVectorize/ARM/tail-folding-prefer-flag.ll (diff)
The file was modifiedllvm/test/Transforms/LoopVectorize/ARM/tail-folding-loop-hint.ll (diff)
Commit 151f603199669d156e8ff69acca2888f3a8decbc by iii
[libFuzzer] Un-XFAIL msan.test on SystemZ

After https://reviews.llvm.org/D86382 it works.

Reviewed By: morehouse

Differential Revision: https://reviews.llvm.org/D86184
The file was modifiedcompiler-rt/test/fuzzer/msan.test (diff)
Commit b9f49d13fd4400274ff24ecd847c710bf0c563c3 by atrosinenko
[compiler-rt][builtins] Add more test cases for __div[sdt]f3 LibCalls

* Make the three tests look more uniformly
* Explicitly specify types of integer and floating point literals
* Add more test cases (mostly inspired by divtf3_test.c)
  - tests are added for obviously special cases such as +/-Inf, +/-0.0 and some
    more implementation-specific cases such as divisor being almost 1.0
* Make NaN in the second test case of `divtf3` to be `sNaN` instead of
  testing for `qNaN` again

Reviewed By: sepavloff

Differential Revision: https://reviews.llvm.org/D84932
The file was modifiedcompiler-rt/test/builtins/Unit/divsf3_test.c (diff)
The file was modifiedcompiler-rt/test/builtins/Unit/divtf3_test.c (diff)
The file was modifiedcompiler-rt/test/builtins/Unit/divdf3_test.c (diff)
The file was modifiedcompiler-rt/test/builtins/Unit/fp_test.h (diff)
Commit e1edc1c76dc1efa38b76d42da81f32768e89ba24 by atrosinenko
[Utils] Add highlighting definition for byref IR attribute

This patch assumes `byref` can be handled identically to `byval`.

Reviewed By: MaskRay

Differential Revision: https://reviews.llvm.org/D85768
The file was modifiedllvm/utils/kate/llvm.xml (diff)
The file was modifiedllvm/utils/vscode/llvm/syntaxes/ll.tmLanguage.yaml (diff)
The file was modifiedllvm/utils/vim/syntax/llvm.vim (diff)
Commit ef8f3b5a78e9653917a5394a978cbc5ce7284a38 by Matthew.Arsenault
AMDGPU/GlobalISel: Apply bitcast load/store hack to pointer vectors

The selection patterns will currently fail on these.
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-global.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-private.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-constant.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-store-global.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-local.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-extract-vector-elt.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-flat.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-llvm.amdgcn.s.buffer.load.mir (diff)
Commit c352e7fbda2f48c285eca61d2509780f648443ee by sjoerd.meijer
[ARM][MVE] Tail-predication: remove the BTC + 1 overflow checks

This adapts tail-predication to the new semantics of get.active.lane.mask as
defined in D86147. This means that:
- we can remove the BTC + 1 overflow checks because now the loop tripcount is
  passed in to the intrinsic,
- we can immediately use that value to setup a counter for the number of
  elements processed by the loop and don't need to materialize BTC + 1.

Differential Revision: https://reviews.llvm.org/D86303
The file was modifiedllvm/lib/Target/ARM/MVETailPredication.cpp (diff)
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/vector-reduce-mve-tail.ll (diff)
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/fast-fp-loops.ll (diff)
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/tail-pred-const.ll (diff)
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/reductions.ll (diff)
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/varying-outer-2d-reduction.ll (diff)
The file was modifiedllvm/test/CodeGen/Thumb2/mve-fma-loops.ll (diff)
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/tail-pred-intrinsic-sub-sat.ll (diff)
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/tail-pred-intrinsic-round.ll (diff)
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vecreduce-loops.ll (diff)
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/tail-pred-widen.ll (diff)
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/extending-loads.ll (diff)
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/cond-vector-reduce-mve-codegen.ll (diff)
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/basic-tail-pred.ll (diff)
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/tail-pred-intrinsic-fabs.ll (diff)
The file was modifiedllvm/test/CodeGen/Thumb2/mve-gather-scatter-tailpred.ll (diff)
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/nested.ll (diff)
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/vector-arith-codegen.ll (diff)
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/mve-tail-data-types.ll (diff)
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/tail-pred-intrinsic-add-sat.ll (diff)
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/tail-reduce.ll (diff)
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/clear-maskedinsts.ll (diff)
Commit 984a499f9dff0fd16a6d4591970a58fabf966c4c by Matthew.Arsenault
AMDGPU/GlobalISel: Fix using unlegalizable values in tests

Implicit uses of non-register value types places impossible to satisfy
constraints on the legalizer / artifact combiner. These prevent
writing sensible legalize rules for the artifacts without triggering
infinite loops in the legalizer.

The verifier really needs to enforce this, but I'm not sure what the
exact conditions would look like yet.
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/artifact-combiner-unmerge-values.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fcanonicalize.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-build-vector.s16.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-bitcast.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-umax.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-ffloor.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-trunc.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-umin.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fcos.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fsin.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fabs.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-smax.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-smin.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fdiv.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fneg.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fsqrt.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fcmp.mir (diff)
Commit 0d2fe90063e956716c3067322aef898822d0dc0e by Matthew.Arsenault
AMDGPU/GlobalISel: Use more accurate legality rules for merge/unmerge

Most notably, we were incorrectly reporting <3 x s16> as a legal type
for these. Make sure these aren't legal to help make progress on
fixing the artifact combiner and vector legalizer
rules. Unfortunately, this means spreading the -global-isel-abort=0
hack, although this doesn't change the legalizer result in any
situation.
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fpext.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fdiv.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fminnum.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fsub.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-llvm.amdgcn.image.load.2d.d16.ll (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-ffloor.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-saddo.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fadd.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fma.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-smin.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-uaddo.mir (diff)
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-concat-vectors.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-llvm.amdgcn.image.store.2d.d16.ll (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-umin.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-llvm.amdgcn.image.load.2d.ll (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fcos.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fcanonicalize.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fmul.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-insert.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fabs.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fsqrt.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-ashr.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fmaxnum.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-shl.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-umax.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-intrinsic-round.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-ssubo.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-usubo.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/artifact-combiner-unmerge-values.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-lshr.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fsin.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-smax.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fneg.mir (diff)
Commit 121a49d839d79f5a72be3e22a9d156c9e4b219dc by jeremy.morse
[LiveDebugValues] Add switches for using instr-ref variable locations

This patch adds the -Xclang option
"-fexperimental-debug-variable-locations" and same LLVM CodeGen option,
to pick which variable location tracking solution to use.

Right now all the switch does is pick which LiveDebugValues
implementation to use, the normal VarLoc one or the instruction
referencing one in rGae6f78824031. Over time, the aim is to add fragments
of support in aid of the value-tracking RFC:

  http://lists.llvm.org/pipermail/llvm-dev/2020-February/139440.html

also controlled by this command line switch. That will slowly move
variable locations to be defined by an instruction calculating a value,
and a DBG_INSTR_REF instruction referring to that value. Thus, this is
going to grow into a "use the new kind of variable locations" switch,
rather than just "use the new LiveDebugValues implementation".

Differential Revision: https://reviews.llvm.org/D83048
The file was modifiedllvm/lib/CodeGen/CommandFlags.cpp (diff)
The file was modifiedllvm/lib/CodeGen/LiveDebugValues/LiveDebugValues.cpp (diff)
The file was addedclang/test/Driver/debug-var-experimental-switch.c
The file was modifiedclang/lib/Frontend/CompilerInvocation.cpp (diff)
The file was modifiedllvm/include/llvm/CodeGen/CommandFlags.h (diff)
The file was modifiedllvm/include/llvm/Target/TargetOptions.h (diff)
The file was modifiedclang/include/clang/Basic/CodeGenOptions.def (diff)
The file was modifiedclang/include/clang/Driver/Options.td (diff)
The file was modifiedclang/lib/CodeGen/BackendUtil.cpp (diff)
Commit 39522b1e10428e4fa79a9d2dda20cbea7a1168e0 by sjoerd.meijer
[SelectionDAG] Legalize intrinsic get.active.lane.mask

This adapts legalization of intrinsic get.active.lane.mask to the new semantics
as described in D86147. Because the second argument is now the loop tripcount,
we legalize this intrinsic to an 'icmp ULT' instead of an ULE when it was the
backedge-taken count.

Differential Revision: https://reviews.llvm.org/D86302
The file was modifiedllvm/test/CodeGen/Thumb2/active_lane_mask.ll (diff)
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp (diff)
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/tail-pred-intrinsic-round.ll (diff)
Commit 1dc57ada0c79a57fbf7c87d5816e680cfd3bc077 by Xing
[DWARFYAML] Make the 'Attributes' field optional.

This patch makes the 'Attributes' field optional. We don't need to
explicitly specify the 'Attributes' field in the future.

Reviewed By: jhenderson, grimar

Differential Revision: https://reviews.llvm.org/D86537
The file was modifiedllvm/test/tools/yaml2obj/ELF/DWARF/debug-info.yaml (diff)
The file was modifiedllvm/unittests/DebugInfo/DWARF/DWARFDebugInfoTest.cpp (diff)
The file was modifiedllvm/lib/ObjectYAML/DWARFYAML.cpp (diff)
The file was modifiedllvm/test/tools/yaml2obj/ELF/DWARF/debug-abbrev.yaml (diff)
Commit bd5ca4f0ed4adfa29150c18a621acb3e71d41450 by kostyak
[scudo][standalone] Skip irrelevant regions during release

With the 'new' way of releasing on 32-bit, we iterate through all the
regions in between `First` and `Last`, which covers regions that do not
belong to the class size we are working with. This is effectively wasted
cycles.

With this change, we add a `SkipRegion` lambda to `releaseFreeMemoryToOS`
that will allow the release function to know when to skip a region.
For the 64-bit primary, since we are only working with 1 region, we never
skip.

Reviewed By: hctim

Differential Revision: https://reviews.llvm.org/D86399
The file was modifiedcompiler-rt/lib/scudo/standalone/primary32.h (diff)
The file was modifiedcompiler-rt/lib/scudo/standalone/tests/release_test.cpp (diff)
The file was modifiedcompiler-rt/lib/scudo/standalone/primary64.h (diff)
The file was modifiedcompiler-rt/lib/scudo/standalone/release.h (diff)
Commit 8d5f64c4edbc190a5a8790157fa1d99cfac34016 by sjoerd.meijer
[Verifier] Additional check for intrinsic get.active.lane.mask

This adapts the verifier checks for intrinsic get.active.lane.mask to the new
semantics of it as described in D86147. I.e., the second argument %n, which
corresponds to the loop tripcount, must be greater than 0 if it is a constant,
so check that.

Differential Revision: https://reviews.llvm.org/D86301
The file was modifiedllvm/lib/IR/Verifier.cpp (diff)
The file was modifiedllvm/test/Verifier/get-active-lane-mask.ll (diff)
Commit 8a1926c67aa80d2a9300ab5c90e8cbeb71ba58dc by jay.foad
AMDGPU/GlobalISel: re-auto-generate some test checks
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-trunc.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-default.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-merge-values-build-vector.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fmul.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-amdgcn-sendmsg.ll (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-sat.ll (diff)
Commit 25863cc512a38ae9b1235ee62faa79ff2aa3c226 by i
[ELF] .note.gnu.property: error for invalid pr_datasize

A n_type==NT_GNU_PROPERTY_TYPE_0 note encodes a program property.
If pr_datasize is invalid, LLD may crash
(https://github.com/ClangBuiltLinux/linux/issues/1141)

This patch adds some error checking, supports big-endian, and add some tests
for invalid n_descsz.

Differential Revision: https://reviews.llvm.org/D86422
The file was modifiedlld/ELF/InputFiles.cpp (diff)
The file was addedlld/test/ELF/gnu-property-err.s
Commit 11f8d4aa104a6fbbf6811d78bd8977954ea59912 by spatel
[InstCombine] add vector demanded elements tests with shuffles; NFC

The 1st draft of D86460 (reverted) would show miscompiles with these tests
because the undef element tracking went wrong and became visible in the
shuffle masks.
The file was modifiedllvm/test/Transforms/InstCombine/vec_demanded_elts.ll (diff)
Commit c4f0a0896f23d83952c3dfad9e1e539246d85cb6 by spatel
[InstCombine] improve demanded element analysis for vector insert-of-extract (2nd try)

The 1st attempt (rG557b890) was reverted because it caused miscompiles.
That bug is avoided here by changing the order of folds and as verified
in the new tests.

Original commit message:
InstCombine currently has odd rules for folding insert-extract chains to shuffles,
so we miss collapsing seemingly simple cases as shown in the tests here.

But poison makes this not quite as easy as we might have guessed. Alive2 tests to
show the subtle difference (similar to the regression tests):
https://alive2.llvm.org/ce/z/hp4hv3 (this is ok)
https://alive2.llvm.org/ce/z/ehEWaN (poison leakage)

SLP tends to create these patterns (as shown in the SLP tests), and this could
help with solving PR16739.

Differential Revision: https://reviews.llvm.org/D86460
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/operandorder.ll (diff)
The file was modifiedllvm/test/Transforms/InstCombine/vec_demanded_elts.ll (diff)
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp (diff)
The file was modifiedllvm/test/Transforms/SLPVectorizer/AArch64/getelementptr.ll (diff)
Commit 2002bb487898375d1fc6e43f56e542ecbbce79f8 by sjoerd.meijer
[LangRef] Revise semantics of intrinsic get.active.lane.mask

A first version of get.active.lane.mask was committed in rG7fb8a40e5220. One of
the main purposes and uses of this intrinsic is to communicate information from
the middle-end to the back-end, but its current definition and semantics make
this actually very difficult. The intrinsic was defined as:

  @llvm.get.active.lane.mask(%IV, %BTC)

where %BTC is the Backedge-Taken Count (variable names are different in the
LangRef spec). This allows to implicitly communicate the loop tripcount, which
can be reconstructed by calculating BTC + 1. But it has been very difficult to
prove that calculating BTC + 1 is safe and doesn't overflow. We need
complicated range and SCEV analysis, and thus the problem is that this
intrinsic isn't really doing what it was supposed to solve. Examples of the
overflow checks that are required in the (ARM) back-end are D79175 and D86074,
which aren't even complete/correct yet.

To solve this problem, we are revising the definitions/semantics for
get.active.lane.mask to avoid all the complicated overflow analysis. This means
that instead of communicating the BTC, we are now using the loop tripcount. Now
using LangRef's variable names, its semantics is changed from:

  icmp ule (%base + i), %n

to:

  icmp ult (%base + i), %n

with %n > 0 and corresponding to the loop tripcount. The intrinsic signature
remains the same.

Differential Revision: https://reviews.llvm.org/D86147
The file was modifiedllvm/docs/LangRef.rst (diff)
Commit f8454d60b829d6cea4b290a43f2978f0f03f294c by daltenty
[AIX][compiler-rt][builtins] Don't add ppc builtin implementations that require __int128 on AIX

since __int128 currently isn't supported on AIX.

Reviewed By: hubert.reinterpretcast

Differential Revision: https://reviews.llvm.org/D85972
The file was modifiedcompiler-rt/lib/builtins/CMakeLists.txt (diff)
Commit abbd652dd6db94c1f2e851431638830f3ceccbcc by whitneyt
[LoopNest] False negative of `arePerfectlyNested` with LCSSA loops

Summary: The LCSSA pass (required for all loop passes) sometimes adds
additional blocks containing LCSSA variables, and checkLoopsStructure
may return false even when the loops are perfectly nested in this case.
This is because the successor of the exit block of the inner loop now
points to the LCSSA block instead of the latch block of the outer loop.
Examples are shown in the test nests-with-lcssa.ll.

To fix the issue, the successor of the exit block of the inner loop can
now point to a block in which all instructions are LCSSA phi node
(except the terminator), and the sole successor of that block should
point to the latch block of the outer loop.

Reviewed By: Whitney, etiotto

Differential Revision: https://reviews.llvm.org/D86133
The file was modifiedllvm/lib/Analysis/LoopNestAnalysis.cpp (diff)
The file was addedllvm/test/Analysis/LoopNestAnalysis/nests-with-lcssa.ll
Commit 21a008bbba74eeda3e8f271c3bba907387621a6e by spatel
[x86] add AVX shuffle test for PR47262; NFC

Goes with D86429
The file was modifiedllvm/test/CodeGen/X86/vector-shuffle-256-v32.ll (diff)
Commit dcef5e0c376c9ef558186ca8939b857bf7f76d56 by kparzysz
[Hexagon] Remove (redundant) HexagonISelLowering::isHvxOperation(SDValue)

Use isHvxOperation(SDNode*) instead.
The file was modifiedllvm/lib/Target/Hexagon/HexagonISelLowering.h (diff)
The file was modifiedllvm/lib/Target/Hexagon/HexagonISelLoweringHVX.cpp (diff)
The file was modifiedllvm/lib/Target/Hexagon/HexagonISelLowering.cpp (diff)
Commit 5b7a889a67f5140cbc5a7c16ef6c4116cddaea57 by david.green
[ARM] Additional test for tailpred reductions. NFC
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/reductions.ll (diff)
Commit 78e4aeb7839e2e44781c8d26a47e006860f751b6 by aeubanks
[NewPM][test] Fix accelerate-vector-functions.ll under NPM

The legacy SLPVectorizer has a dependency on InjectTLIMappingsLegacy.
That cannot be expressed in the new PM since they are both normal
passes. Explicitly add -inject-tli-mappings as a pass.

Reviewed By: spatel

Differential Revision: https://reviews.llvm.org/D86492
The file was modifiedllvm/test/Transforms/SLPVectorizer/AArch64/accelerate-vector-functions.ll (diff)
Commit ba4cc3b38087eb256ef7a93b14dc7d09be15c511 by pklausler
[flang] Don't completely left-justify fixed-form tokenization

If the label field is empty, and macro replacement occurs,
the rescanned text might be misclassified as a comment card
if it happens to begin with a C or a D.  Insert a leading
space into these otherwise empty label fields.

Fixes https://bugs.llvm.org/show_bug.cgi?id=47173
The file was modifiedflang/lib/Parser/prescan.cpp (diff)
The file was modifiedflang/test/Preprocessing/pp029.F (diff)
The file was modifiedflang/lib/Parser/prescan.h (diff)
The file was addedflang/test/Preprocessing/fixed-rescan.F
Commit 1b3de8812df8a009084c554f65e3dafb54732edf by Matthew.Arsenault
AArch64: Fix hardcoded register in test
The file was modifiedllvm/test/CodeGen/AArch64/stack-guard-reassign.ll (diff)
Commit 40cbb2484d72faefc9f6cd09548cd24d3fd9e9d5 by ishizaki
[mlir] NFC: fix typo in FileCheck prefix

CHECL -> CHECK

Reviewed By: ftynse

Differential Revision: https://reviews.llvm.org/D86550
The file was modifiedmlir/test/Conversion/StandardToLLVM/calling-convention.mlir (diff)
The file was modifiedmlir/test/mlir-tblgen/op-decl.td (diff)
Commit ae90df8e5a68c7df4ea3e552dd7f87270fbcb0c7 by hoy
[FIX] Avoid creating BFI when emitting remarks for dead functions

Dead function has its body stripped away, and can cause various
analyses to panic. Also it does not make sense to apply analyses on
such function.

Reviewed By: xazax.hun, MaskRay, wenlei, hoy

Differential Revision: https://reviews.llvm.org/D84715
The file was modifiedllvm/lib/LTO/LTO.cpp (diff)
The file was modifiedllvm/test/LTO/Resolution/X86/dead-strip-fulllto.ll (diff)
Commit 7de7fe5d0e3f7f4d28e1dde42df4a7defa564f11 by Raphael Isemann
[lldb] Don't ask for QOS_CLASS_UNSPECIFIED queue in TestQueues

TestQueues is curiously failing for me as my queue for QOS_CLASS_UNSPECIFIED
is named "Utility" and not "User Initiated" or "Default". While debugging, this
I noticed that this test isn't actually using this API right from what I understand. The API documentation
for `dispatch_get_global_queue` specifies for the parameter: "You may specify the value
QOS_CLASS_USER_INTERACTIVE, QOS_CLASS_USER_INITIATED, QOS_CLASS_UTILITY, or QOS_CLASS_BACKGROUND."

QOS_CLASS_UNSPECIFIED isn't listed as one of the supported values. swift-corelibs-libdispatch
even checks for this value and returns a DISPATCH_BAD_INPUT. The
libdispatch shipped on macOS seems to also check for QOS_CLASS_UNSPECIFIED and seems to
instead cause a "client crash", but somehow this doesn't trigger in this test and instead we just
get whatever queue

This patch just removes that part of the test as it appears the code is just incorrect.

Reviewed By: jasonmolenda

Differential Revision: https://reviews.llvm.org/D86211
The file was modifiedlldb/test/API/macosx/queues/main.c (diff)
The file was modifiedlldb/test/API/macosx/queues/TestQueues.py (diff)
Commit ef76686916d40f20c782ed3967130bd2e0105b31 by Raphael Isemann
[lldb] Initialize reproducers in LocateSymbolFileTest

Since a842950b62b6d029a392c3c312c6495d6368c2a4 this test started using
the reproducer subsystem but we never initialized it in the test. The
Subsystem takes an argument, so we can't use the usual SubsystemRAII at the
moment to do this for us.

This just adds the initialize/terminate calls to get the test passing again.
The file was modifiedlldb/unittests/Symbol/LocateSymbolFileTest.cpp (diff)
Commit 13cee14bb1612ccdc3a7e7e770373fa2d2a94254 by pklausler
[flang] Parse global compiler directives

Accept and represent "global" compiler directives that appear
before and between program units in a source file.

Differential Revision: https://reviews.llvm.org/D86555
The file was modifiedflang/lib/Semantics/program-tree.h (diff)
The file was modifiedflang/test/Parser/compiler-directives.f90 (diff)
The file was modifiedflang/include/flang/Parser/parse-tree.h (diff)
The file was modifiedflang/lib/Semantics/resolve-names.cpp (diff)
The file was modifiedflang/lib/Semantics/program-tree.cpp (diff)
The file was modifiedflang/lib/Parser/program-parsers.cpp (diff)
Commit a0a1a4e5c83db53c806c56011a8741b31ab598a4 by pklausler
[flang] Improve error handling for bad characters in source

When an illegal character appears in Fortran source (after
preprocessing), catch and report it in the prescanning phase
rather than leaving it for the parser to cope with.

Differential Revision: https://reviews.llvm.org/D86553
The file was modifiedflang/lib/Parser/token-sequence.cpp (diff)
The file was modifiedflang/include/flang/Parser/characters.h (diff)
The file was modifiedflang/lib/Parser/token-sequence.h (diff)
The file was modifiedflang/lib/Parser/prescan.cpp (diff)
The file was modifiedflang/test/Preprocessing/pp130.F90 (diff)
Commit 594107d488646c0d3d874b4624b0ee4f5fee5656 by Lang Hames
[ORC] Fix an endif comment.
The file was modifiedllvm/include/llvm/ExecutionEngine/Orc/TPCIndirectionUtils.h (diff)
Commit f436bef5070fb453b5d394b5b3fd6f11a5920c01 by Lang Hames
[examples] Fix dependencies for OrcV2Examples/LLJITWithThinLTOSummaries.
The file was modifiedllvm/examples/OrcV2Examples/LLJITWithThinLTOSummaries/CMakeLists.txt (diff)
Commit df5576a852088337e03970641db291c6799afe97 by aeubanks
[test] Add -inject-tli-mapping to -loop-vectorize -vector-library tests

The legacy LoopVectorize has a dependency on InjectTLIMappingsLegacy.
That cannot be expressed in the new PM since they are both normal
passes. Explicitly add -inject-tli-mappings as a pass.

Follow-up to https://reviews.llvm.org/D86492.

Reviewed By: spatel

Differential Revision: https://reviews.llvm.org/D86561
The file was modifiedllvm/test/Transforms/LoopVectorize/X86/veclib-calls.ll (diff)
The file was modifiedllvm/test/Transforms/LoopVectorize/PowerPC/massv-calls.ll (diff)
The file was modifiedllvm/test/Transforms/LoopVectorize/PowerPC/massv-altivec.ll (diff)
The file was modifiedllvm/test/Transforms/LoopVectorize/PowerPC/massv-unsupported.ll (diff)
The file was modifiedllvm/test/Transforms/LoopVectorize/X86/svml-calls-finite.ll (diff)
The file was modifiedllvm/test/Transforms/LoopVectorize/X86/svml-calls.ll (diff)
The file was modifiedllvm/test/Transforms/LoopVectorize/PowerPC/widened-massv-call.ll (diff)
The file was modifiedllvm/test/Transforms/LoopVectorize/PowerPC/massv-nobuiltin.ll (diff)
Commit 01eb1233db54454b146cb1e70d6f810ffbc354e5 by craig.topper
[X86] Mention -march=sapphirerapids in the release notes.

This was just added in e02d081f2b60b61eb60ef6a49b1a9f907e432d4c.
The file was modifiedllvm/docs/ReleaseNotes.rst (diff)
The file was modifiedclang/docs/ReleaseNotes.rst (diff)
Commit e713b0ecbc893b70e2ff28b016b64f420137824b by Kuba Mracek
[tsan] On arm64e, strip out ptrauth bits from incoming PCs

Differential Revision: https://reviews.llvm.org/D86378
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_ptrauth.h (diff)
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_interface.cpp (diff)
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_external.cpp (diff)
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_interface_inl.h (diff)
Commit bce7a7edf32d5094b37d65c9198b048c86645f99 by pklausler
[flang] Check that various variables referenced in I/O statements may be defined

A number of I/O syntax rules involve variables that will be written to,
and must therefore be definable.  This includes internal file variables,
IOSTAT= and IOMSG= specifiers, most INQUIRE statement specifiers, a few
other specifiers, and input variables.  This patch checks for
these violations, and implements several additional I/O TODO constraint
checks.

Differential Revision: https://reviews.llvm.org/D86557
The file was modifiedflang/test/Semantics/io02.f90 (diff)
The file was modifiedflang/test/Semantics/deallocate05.f90 (diff)
The file was modifiedflang/test/Semantics/io06.f90 (diff)
The file was modifiedflang/lib/Semantics/check-io.cpp (diff)
The file was modifiedflang/test/Semantics/io03.f90 (diff)
The file was modifiedflang/test/Semantics/io04.f90 (diff)
The file was modifiedflang/lib/Semantics/check-io.h (diff)
The file was modifiedflang/test/Semantics/io05.f90 (diff)
The file was modifiedflang/test/Semantics/io01.f90 (diff)
Commit 4d69bcb12fa7c89ff68c2ede5869faeb2d294ad8 by clementval
[mlir][openacc][NFC] Fix comment about OpenACCExecMapping
The file was modifiedmlir/include/mlir/Dialect/OpenACC/OpenACC.h (diff)
Commit e02920fe55761aaa06b33caec381bc2a1c36ad1c by wolfgang_pieb
[llvm-mca][NFC] Refactor handling of views that examine individual instructions,
including printing them.

Reviewers: andreadb, lebedev.ri

Differential Review: https://reviews.llvm.org/D86390

Introduces a new base class "InstructionView" that such views derive from.
Other views still use the "View" base class.
The file was modifiedllvm/tools/llvm-mca/Views/TimelineView.cpp (diff)
The file was modifiedllvm/tools/llvm-mca/Views/View.h (diff)
The file was modifiedllvm/tools/llvm-mca/Views/InstructionInfoView.cpp (diff)
The file was modifiedllvm/tools/llvm-mca/Views/BottleneckAnalysis.cpp (diff)
The file was modifiedllvm/tools/llvm-mca/Views/InstructionInfoView.h (diff)
The file was modifiedllvm/tools/llvm-mca/Views/View.cpp (diff)
The file was modifiedllvm/tools/llvm-mca/Views/BottleneckAnalysis.h (diff)
The file was modifiedllvm/tools/llvm-mca/Views/ResourcePressureView.h (diff)
The file was modifiedllvm/tools/llvm-mca/Views/TimelineView.h (diff)
The file was modifiedllvm/tools/llvm-mca/Views/ResourcePressureView.cpp (diff)
Commit 84fdc33f4785115cd517c789a99fdebb6a74ac3e by ajcbik
[mlir] [LLVMIR] Add get active lane mask intrinsic

Provides fast, generic way of setting a mask up to a certain
point. Potential use cases that may benefit are create_mask
and transfer_read/write operations in the vector dialect.

Reviewed By: bkramer

Differential Revision: https://reviews.llvm.org/D86501
The file was modifiedmlir/test/Target/llvmir-intrinsics.mlir (diff)
The file was modifiedmlir/include/mlir/Dialect/LLVMIR/LLVMOps.td (diff)
Commit 3a54b6a4b71c21cf3bab4f132cbc2904fb9d997e by nikita.ppv
[MemDep] Use BatchAA when computing pointer dependencies

We're not changing IR while running a single MemDep query, so it's
safe to cache alias analysis results using BatchAA. This adds BatchAA
usage to getSimplePointerDependencyFrom(), which is non-intrusive --
covering larger parts (like a whole processNonLocalLoad query) is
also possible, but requires threading BatchAA through a bunch of APIs.

For the ThinLTO configuration, this is a 1% geomean improvement on CTMark.

Differential Revision: https://reviews.llvm.org/D85583
The file was modifiedllvm/lib/Analysis/MemoryDependenceAnalysis.cpp (diff)
Commit b1009ee84fc0242bcebd07889306bf39d9b7170f by akhuang
Reland "[DebugInfo] Move constructor homing case in shouldOmitDefinition."

For some reason the ctor homing case was before the template
specialization case, and could have returned false too early.
I moved the code out into a separate function to avoid this.

This reverts commit 05777ab941063192b9ccb1775358a83a2700ccc1.
The file was modifiedclang/lib/CodeGen/CGDebugInfo.cpp (diff)
The file was modifiedclang/test/CodeGenCXX/debug-info-template-explicit-specialization.cpp (diff)
Commit 8e51bb249bc2a71ecd13092bc0e1e246995feba6 by aqjune
[ValueTracking] Add a noundef test for D86477; NFC
The file was modifiedllvm/test/Transforms/InstSimplify/freeze-noundef.ll (diff)
Commit f753f5b05033bf1d8b89b19b753b78c89de41ae3 by aqjune
[ValueTracking] Let getGuaranteedNonPoisonOp find multiple non-poison operands

This patch helps getGuaranteedNonPoisonOp find multiple non-poison operands.

Instead of special-casing llvm.assume, I think it is also a viable option to
add noundef to Intrinsics.td. If it makes sense, I'll make a patch for that.

Reviewed By: jdoerfert

Differential Revision: https://reviews.llvm.org/D86477
The file was modifiedllvm/lib/Transforms/Instrumentation/PoisonChecking.cpp (diff)
The file was modifiedllvm/test/Transforms/InstSimplify/freeze-noundef.ll (diff)
The file was modifiedllvm/include/llvm/Analysis/ValueTracking.h (diff)
The file was modifiedllvm/lib/Analysis/ValueTracking.cpp (diff)
Commit 97ccf93b3615ff4c0d5fe116e6a7c7b616d8ec0c by hubert.reinterpretcast
[SystemZ][z/OS] Add z/OS Target and define macros

This patch adds the z/OS target and defines macros as a stepping stone
towards enabling a native build on z/OS.

Reviewed By: hubert.reinterpretcast

Differential Revision: https://reviews.llvm.org/D85324
The file was modifiedclang/lib/Basic/Targets/OSTargets.h (diff)
The file was addedclang/test/Preprocessor/init-zos.c
The file was modifiedclang/lib/Basic/Targets.cpp (diff)
Commit 521220690ab7741e382344319b2a9d458be3eb41 by Jonas Devlieghere
[lldb] Make Reproducer compatbile with SubsystemRAII  (NFC)

Make Reproducer compatbile with SubsystemRAII and use it in
LocateSymbolFileTest.
The file was modifiedlldb/source/Utility/Reproducer.cpp (diff)
The file was modifiedlldb/include/lldb/Utility/Reproducer.h (diff)
The file was modifiedlldb/unittests/Symbol/LocateSymbolFileTest.cpp (diff)
Commit 2da1eefb58a11f459461dc040c678da5fc7252b0 by kparzysz
[Hexagon] Check if EVT is simple type in HVX lowering
The file was modifiedllvm/lib/Target/Hexagon/HexagonISelLowering.cpp (diff)
The file was modifiedllvm/lib/Target/Hexagon/HexagonISelLoweringHVX.cpp (diff)
The file was addedllvm/test/CodeGen/Hexagon/hvx-isel-vselect-v256i16.ll
Commit 817c831f023af3a5a08e72f7454c4fbb771edc1c by Stanislav.Mekhanoshin
[AMDGPU] Switch to named simm16 in vscnt insertion

Differential Revision: https://reviews.llvm.org/D86568
The file was modifiedllvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp (diff)
Commit 0775c1dfbce69d1d13414995de2e77acc942b7eb by tianshilei1992
[OpenMP] Pack first-private arguments to improve efficiency of data transfer

In this patch, we pack all small first-private arguments, allocate and transfer them all at once to reduce the number of data transfer which is very expensive.

Let's take the test case as example.
```
int main() {
  int data1[3] = {1}, data2[3] = {2}, data3[3] = {3};
  int sum[16] = {0};
#pragma omp target teams distribute parallel for map(tofrom: sum) firstprivate(data1, data2, data3)
  for (int i = 0; i < 16; ++i) {
    for (int j = 0; j < 3; ++j) {
      sum[i] += data1[j];
      sum[i] += data2[j];
      sum[i] += data3[j];
    }
  }
}
```
Here `data1`, `data2`, and `data3` are three first-private arguments of the target region. In the previous `libomptarget`, it called data allocation and data transfer three times, each of which allocated and transferred 12 bytes. With this patch, it only calls allocation and transfer once. The size is `(12+4)*3=48` where 12 is the size of each array and 4 is the padding to keep the address aligned with 8. It is implemented in this way:
1. First collect all information for those *first*-private arguments. _private_ arguments are not the case because private arguments don't need to be mapped to target device. It just needs a data allocation. With the patch for memory manager, the data allocation could be very cheap, especially for the small size. For each qualified argument, push a place holder pointer `nullptr` to the `vector` for kernel arguments, and we will update them later.
2. After we have all information, create a buffer that can accommodate all arguments plus their paddings. Copy the arguments to the buffer at the right place, i.e. aligned address.
3. Allocate a target memory with the same size as the host buffer, transfer the host buffer to target device, and finally update all place holder pointers in the arguments `vector`.

The reason we only consider small arguments is, the data transfer is asynchronous. Therefore, for the large argument, we could continue to do things on the host side meanwhile, hopefully, the data is also being transferred. The "small" is defined by that the argument size is less than a predefined value. Currently it is 1024. I'm not sure whether it is a good one, and that is an open question. Another question is, do we need to make it configurable via an environment variable?

Reviewed By: ye-luo

Differential Revision: https://reviews.llvm.org/D86307
The file was modifiedopenmp/libomptarget/src/omptarget.cpp (diff)
The file was addedopenmp/libomptarget/test/mapping/private_mapping.c
Commit 66e536bc36fb51da1732c8f093f07b5c600df3fe by ajcbik
[mlir] [LLVMIR] Mark reductions as side-effect free

Attribute was missing from original base class.

Reviewed By: bkramer

Differential Revision: https://reviews.llvm.org/D86569
The file was modifiedmlir/include/mlir/Dialect/LLVMIR/LLVMOpBase.td (diff)
Commit 514d6e9a8d91e739292c9024d677b8d3c6d43f0c by kparzysz
[SDAG] Improve MemSDNode::getBasePtr

It returned getOperand(1), except for STORE for which it returned
getOperand(2). Handle MSTORE, MGATHER, and MSCATTER as well.
The file was modifiedllvm/include/llvm/CodeGen/SelectionDAGNodes.h (diff)
Commit 82d0749749fafb0303414131dc570781376fdcfb by i
[TargetLoweringObjectFileImpl] Make .llvmbc and .llvmcmd non-SHF_ALLOC

There are two ways .llvmbc can be produced:

* clang -c -fembed-bitcode=all (which also produces .llvmcmd)
* LTO backend: ld.lld -mllvm -lto-embed-bitcode or -plugin-opt=-lto-embed-bitcode

.llvmbc and .llvmcmd have the SHF_ALLOC flag, so they can be dropped by
--gc-sections.

This patch sets SectionKind::Metadata to drop the SHF_ALLOC flag. This
is conceptually correct: the two sections are not part of the process
image, so SHF_ALLOC is not appropriate.

`test/LTO/X86/embed-bitcode.ll`: changed `llvm-objcopy -O binary --only-section` to
`llvm-objcopy --dump-section`. `-O binary` does not dump non-SHF_ALLOC sections.

Reviewed By: tejohnson

Differential Revision: https://reviews.llvm.org/D86374
The file was addedllvm/test/CodeGen/X86/embed-bitcode.ll
The file was modifiedllvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp (diff)
The file was modifiedllvm/test/LTO/X86/embed-bitcode.ll (diff)
Commit b7760c3e5d003ee346847bed929fcb30dbfe488a by Stanislav.Mekhanoshin
[AMDGPU] Remove unsound dependency on ISA version in waitcnt

Differential Revision: https://reviews.llvm.org/D86566
The file was modifiedllvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp (diff)
The file was modifiedllvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h (diff)
Commit 7cfcecece0e0430937cf529ce74d3a071a4dedc6 by mtrofin
[MLInliner] Simplify TFUTILS_SUPPORTED_TYPES

We only need the C++ type and the corresponding TF Enum. The other
parameter was used for the output spec json file, but we can just
standardize on the C++ type name there.

Differential Revision: https://reviews.llvm.org/D86549
The file was modifiedllvm/lib/Analysis/TFUtils.cpp (diff)
The file was modifiedllvm/unittests/Analysis/TFUtilsTest.cpp (diff)
The file was modifiedllvm/lib/Analysis/models/inliner/output_spec.json (diff)
The file was modifiedllvm/test/Transforms/Inline/ML/Inputs/test_output_spec.json (diff)
The file was modifiedllvm/include/llvm/Analysis/Utils/TFUtils.h (diff)
Commit 66c48802918d90e6a90d4f8da9c10889d5bc20dd by davelee.com
Remove unused/misnamed SetObjectModificationTime

Remove `SetObjectModificationTime` which is not currently used, and assigns to the wrong member.

Differential Revision: https://reviews.llvm.org/D86493
The file was modifiedlldb/include/lldb/Core/Module.h (diff)
Commit 22cd6bee4a7d2cd106efe2879cc16ef94b671de1 by smeenai
[llvm-libtool-darwin] Address post-commit feedback

Address James Henderson's comments on https://reviews.llvm.org/D86359.
The file was modifiedllvm/test/tools/llvm-libtool-darwin/version.test (diff)
The file was modifiedllvm/docs/CommandGuide/llvm-libtool-darwin.rst (diff)
Commit ba319ac47eeabc44673513ec7ab9e1e8e3b4ec69 by craig.topper
[X86] Remove a redundant COPY_TO_REGCLASS for VK16 after a KMOVWkr in an isel output pattern.

KMOVWkr produces VK16, there's no reason to copy it to VK16 again.

Test changes are presumably because we were scheduling based on
the COPY that is no longer there.
The file was modifiedllvm/test/CodeGen/X86/vec_uaddo.ll (diff)
The file was modifiedllvm/test/CodeGen/X86/avx512-mask-op.ll (diff)
The file was modifiedllvm/test/CodeGen/X86/vec_smulo.ll (diff)
The file was modifiedllvm/test/CodeGen/X86/vec_umulo.ll (diff)
The file was modifiedllvm/lib/Target/X86/X86InstrAVX512.td (diff)
The file was modifiedllvm/test/CodeGen/X86/avx512-ext.ll (diff)
The file was modifiedllvm/test/CodeGen/X86/vec_usubo.ll (diff)
The file was modifiedllvm/test/CodeGen/X86/vec_saddo.ll (diff)
The file was modifiedllvm/test/CodeGen/X86/avx512-vec-cmp.ll (diff)
The file was modifiedllvm/test/CodeGen/X86/avx512-insert-extract.ll (diff)
The file was modifiedllvm/test/CodeGen/X86/vec_ssubo.ll (diff)
Commit 9500a7209163d6bfce7d554cb71a7c189ca5de58 by zequanwu
Revert "[Coverage] Enable emitting gap area between macros"

This reverts commit a31c89c1b7a0a2fd3e2c0b8a587a60921abf4abd.
The file was modifiedclang/test/CoverageMapping/macroscopes.cpp (diff)
The file was modifiedclang/test/CoverageMapping/macroparams2.c (diff)
The file was modifiedclang/test/CoverageMapping/moremacros.c (diff)
The file was modifiedclang/lib/CodeGen/CoverageMappingGen.cpp (diff)
The file was modifiedclang/test/CoverageMapping/macros.c (diff)
The file was modifiedclang/test/CoverageMapping/if.cpp (diff)
The file was modifiedclang/test/CoverageMapping/macro-expressions.cpp (diff)
Commit 49c371b319ee11f2fc7e47dfe73c0ef8136d0305 by joker.eph
Add llvm_unreachable after fully covered switch to silence some warnings from GCC (NFC)
The file was modifiedmlir/lib/Dialect/Vector/VectorOps.cpp (diff)
Commit b8ec8f57764e37e7eebed436332b87b46084eb11 by craig.topper
[X86] Remove extra getOperand(0) call from recently introduced store(extract_element(vtrunc)) to truncated store combine.

The IsExtractedElement already called getOperand(0) so Extract
here is the source vector. We shouldn't call getOperand(0). This
worked for the original test cases because the result was a
bitcast so the getOperand(0) accidently peeked through the bitcast
which is what we wanted.

In the failing case here, the operand turns out to be undef so
the getOperand(0) asserts because undef has no operands.

Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=25184

Differential Revision: https://reviews.llvm.org/D86428
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp (diff)
The file was addedllvm/test/CodeGen/X86/oss-fuzz-25184.ll
Commit 1e13372bc808eb72ca4b96285b9ba9a987a39965 by joker.eph
Remove global registration from the test dialect in MLIR (NFC)
The file was modifiedmlir/test/lib/Dialect/Test/TestDialect.cpp (diff)
Commit 8839e278ffcadc62b333423de07756488cae980f by vsapsai
[Modules] Improve error message when cannot find parent module for submodule definition.

Before the change the diagnostic for

    module unknown.submodule {}

was "error: expected module name" which is incorrect and misleading
because both "unknown" and "submodule" are valid module names.

We already have a better error message when a parent module is a
submodule itself and is missing. Make the error for a missing top-level
module more like the one for a submodule.

rdar://problem/64424407

Reviewed By: bruno

Differential Revision: https://reviews.llvm.org/D84458
The file was modifiedclang/lib/Lex/ModuleMap.cpp (diff)
The file was modifiedclang/include/clang/Basic/DiagnosticLexKinds.td (diff)
The file was modifiedclang/test/Modules/diagnostics.modulemap (diff)
Commit 1d1515a9e28c7f32af548584ebed66cd8caae84f by craig.topper
[X86] Add an isel pattern for (i8 (trunc (i16 (bitconvert (v16i1 X))))) to avoid an extra EXTRACT_SUBREG

Since we can only copy to GR32 we had to EXTRACT from GR32, but
we would first go to GR16 and then the truncate would extra again
to GR8. This adds a special case to go directly from GR32 to GR8.
This would eventually get cleaned up, but though maybe we should
avoid doing it in the first place. Our k-register handling is weird
and we could probably stand to have some more special ISD nodes
for the conversions so the i32 type would be explicit.
The file was modifiedllvm/lib/Target/X86/X86InstrAVX512.td (diff)
Commit 30967e51da614fc814f439a925fabbb12f223919 by mikhail.ramalho
Add Z3 to system libraries list if enabled

Without this trying to link static LLVM libraries (built with Z3 enabled) fails because `llvm-config` doesn't print `-lz3`.
We are already using this patch at MSYS2: https://github.com/msys2/MINGW-packages/blob/master/mingw-w64-clang/0013-Add-Z3-to-system-libraries-list-if-enabled.patch

Reviewed By: mikhail.ramalho

Differential Revision: https://reviews.llvm.org/D85195
The file was modifiedllvm/lib/Support/CMakeLists.txt (diff)
Commit 72bdb41a06a27b5453bf966a0ffecfa6f5fae1a6 by tejohnson
[Docs] Document --lto-whole-program-visibility

Summary:
Documents interaction of linker option added in D71913 with LTO
visibility.

Reviewers: pcc

Subscribers: inglorion, hiraditya, steven_wu, dexonsmith, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D75655
The file was modifiedclang/docs/LTOVisibility.rst (diff)
Commit 99d187a003c9bd4bdc42c17e5563bd80f4e159e9 by Jason Molenda
Update UnwindPlan dump to list if it is a trap handler func; also Command

Update the "image show-unwind" command output to show if the function
being shown is listed as a user-setting or platform trap handler.

Update the individual UnwindPlan dumps to show whether the unwind plan
is registered as a trap handler.
The file was modifiedlldb/source/Commands/CommandObjectTarget.cpp (diff)
The file was modifiedlldb/test/Shell/Minidump/Windows/arm-fp-unwind.test (diff)
The file was modifiedlldb/test/Shell/SymbolFile/Breakpad/stack-cfi-parsing.test (diff)
The file was modifiedlldb/test/Shell/SymbolFile/Breakpad/unwind-via-stack-win.test (diff)
The file was modifiedlldb/test/Shell/SymbolFile/target-symbols-add-unwind.test (diff)
The file was modifiedlldb/test/Shell/SymbolFile/Breakpad/unwind-via-stack-cfi.test (diff)
The file was modifiedlldb/test/Shell/SymbolFile/Breakpad/unwind-via-raSearch.test (diff)
The file was modifiedlldb/source/Symbol/UnwindPlan.cpp (diff)
Commit b1e856d3a9019c355baa186075699d95be7b2735 by Jason Molenda
Ah, one test too many updated.  This one should be unmodified.
The file was modifiedlldb/test/Shell/SymbolFile/target-symbols-add-unwind.test (diff)
Commit c6f7ac0071a1849a9f8046e2045e1631e224f1bd by alexshap
[llvm-lipo] Add support for bitcode files

A Mach-O universal binary may contain bitcode as a slice.
This diff adds proper handling of such binaries to llvm-lipo.

Test plan: make check-all

Differential revision: https://reviews.llvm.org/D85740
The file was modifiedllvm/lib/Object/MachOUniversal.cpp (diff)
The file was modifiedllvm/test/tools/llvm-lipo/create-archive-input.test (diff)
The file was addedllvm/test/tools/llvm-lipo/info-universal-binary-ir.test
The file was addedllvm/test/tools/llvm-lipo/Inputs/arm64-ios.ll
The file was modifiedllvm/tools/llvm-lipo/CMakeLists.txt (diff)
The file was modifiedllvm/lib/Object/MachOUniversalWriter.cpp (diff)
The file was addedllvm/test/tools/llvm-lipo/Inputs/x64-osx.ll
The file was modifiedllvm/tools/llvm-lipo/LLVMBuild.txt (diff)
The file was addedllvm/test/tools/llvm-lipo/create-arch-ir.test
The file was modifiedllvm/include/llvm/Object/Binary.h (diff)
The file was modifiedllvm/tools/llvm-lipo/llvm-lipo.cpp (diff)
The file was addedllvm/test/tools/llvm-lipo/archs-ir-binary.test
The file was addedllvm/test/tools/llvm-lipo/thin-universal-binary-ir.test
The file was addedllvm/test/tools/llvm-lipo/Inputs/armv7-ios.ll
The file was modifiedllvm/include/llvm/Object/MachOUniversalWriter.h (diff)
The file was modifiedllvm/lib/Object/Binary.cpp (diff)
The file was modifiedllvm/include/llvm/Object/MachOUniversal.h (diff)
Commit 75e0b5866869ea1feb140d6f718d74c786547113 by Xing
[DWARFYAML] Use writeDWARFOffset() to write the prologue_length field. NFC.

Use writeDWARFOffset() to simplify the logic. NFC.
The file was modifiedllvm/lib/ObjectYAML/DWARFEmitter.cpp (diff)
Commit 3f4674a5577dcc63a846d33f61e9bd95e388223d by sivachandra
[libc] Extend MPFRMatcher to handle multiple-input-multiple-output functions.

Tests for frexp[f|l] now use the new capability. Not all input-output
combinations have been addressed by this change. Support for newer combinations
can be added in future as needed.

Reviewed By: lntue

Differential Revision: https://reviews.llvm.org/D86506
The file was modifiedlibc/test/src/math/frexp_test.cpp (diff)
The file was modifiedlibc/utils/MPFRWrapper/MPFRUtils.h (diff)
The file was modifiedlibc/test/src/math/CMakeLists.txt (diff)
The file was modifiedlibc/test/src/math/frexpf_test.cpp (diff)
The file was modifiedlibc/test/src/math/frexpl_test.cpp (diff)
The file was modifiedlibc/utils/MPFRWrapper/MPFRUtils.cpp (diff)
Commit 1948acb61b1d900b43fa457b3517de2d7beacd63 by sivachandra
[libc][obvious] Add back the accidentally removed MPFRNumber destructor.
The file was modifiedlibc/utils/MPFRWrapper/MPFRUtils.cpp (diff)
Commit a3ef1054fd5ba3177e2fe33d45e40de00b79f1f0 by joker.eph
Remove the use of global dialect registration from the standalone-translate.cpp example (NFC)
The file was modifiedmlir/examples/standalone/standalone-translate/standalone-translate.cpp (diff)
Commit 47849870278ce05cde03d41f03fd3a1e65ee22a6 by jianzhouzh
Fix a 32-bit overflow issue when reading LTO-generated bitcode files whose strtab are of size > 2^29

This happens when using -flto and -Wl,--plugin-opt=emit-llvm to create a linked LTO bitcode file, and the bitcode file has a strtab with size > 2^29.

All the issues relate to a pattern like this
  size_t x64 = y64 + z32 * C
  When z32 is >= (2^32)/C, z32 * C overflows.

Reviewed-by: MaskRay

Differential Revision: https://reviews.llvm.org/D86500
The file was modifiedllvm/lib/Bitstream/Reader/BitstreamReader.cpp (diff)
Commit fcb51d8c2460faa23b71e06abb7e826243887dd6 by lebedev.ri
[InstCombine] PHI-of-extractvalues -> extractvalue-of-PHI, aka invokes are bad

While since D86306 we do it's sibling fold for `insertvalue`,
we should also do this for `extractvalue`'s.

And unlike that one, the results here are, quite honestly, shocking,
as it can be observed here on vanilla llvm test-suite + RawSpeed results:

```
| statistic name                                     | baseline  | proposed  |       Δ |       % |    |%| |
|----------------------------------------------------|-----------|-----------|--------:|--------:|-------:|
| asm-printer.EmittedInsts                           | 7945095   | 7942507   |   -2588 |  -0.03% |  0.03% |
| assembler.ObjectBytes                              | 273209920 | 273069800 | -140120 |  -0.05% |  0.05% |
| early-cse.NumCSE                                   | 2183363   | 2183398   |      35 |   0.00% |  0.00% |
| early-cse.NumSimplify                              | 541847    | 550017    |    8170 |   1.51% |  1.51% |
| instcombine.NumAggregateReconstructionsSimplified  | 2139      | 108       |   -2031 | -94.95% | 94.95% |
| instcombine.NumCombined                            | 3601364   | 3635448   |   34084 |   0.95% |  0.95% |
| instcombine.NumConstProp                           | 27153     | 27157     |       4 |   0.01% |  0.01% |
| instcombine.NumDeadInst                            | 1694521   | 1765022   |   70501 |   4.16% |  4.16% |
| instcombine.NumPHIsOfExtractValues                 | 0         | 37546     |   37546 |   0.00% |  0.00% |
| instcombine.NumSunkInst                            | 63158     | 63686     |     528 |   0.84% |  0.84% |
| instcount.NumBrInst                                | 874304    | 871857    |   -2447 |  -0.28% |  0.28% |
| instcount.NumCallInst                              | 1757657   | 1758402   |     745 |   0.04% |  0.04% |
| instcount.NumExtractValueInst                      | 45623     | 11483     |  -34140 | -74.83% | 74.83% |
| instcount.NumInsertValueInst                       | 4983      | 580       |   -4403 | -88.36% | 88.36% |
| instcount.NumInvokeInst                            | 61018     | 59478     |   -1540 |  -2.52% |  2.52% |
| instcount.NumLandingPadInst                        | 35334     | 34215     |   -1119 |  -3.17% |  3.17% |
| instcount.NumPHIInst                               | 344428    | 331116    |  -13312 |  -3.86% |  3.86% |
| instcount.NumRetInst                               | 100773    | 100772    |      -1 |   0.00% |  0.00% |
| instcount.TotalBlocks                              | 1081154   | 1077166   |   -3988 |  -0.37% |  0.37% |
| instcount.TotalFuncs                               | 101443    | 101442    |      -1 |   0.00% |  0.00% |
| instcount.TotalInsts                               | 8890201   | 8833747   |  -56454 |  -0.64% |  0.64% |
| instsimplify.NumSimplified                         | 75822     | 75707     |    -115 |  -0.15% |  0.15% |
| simplifycfg.NumHoistCommonCode                     | 24203     | 24197     |      -6 |  -0.02% |  0.02% |
| simplifycfg.NumHoistCommonInstrs                   | 48201     | 48195     |      -6 |  -0.01% |  0.01% |
| simplifycfg.NumInvokes                             | 2785      | 4298      |    1513 |  54.33% | 54.33% |
| simplifycfg.NumSimpl                               | 997332    | 1018189   |   20857 |   2.09% |  2.09% |
| simplifycfg.NumSinkCommonCode                      | 7088      | 6464      |    -624 |  -8.80% |  8.80% |
| simplifycfg.NumSinkCommonInstrs                    | 15117     | 14021     |   -1096 |  -7.25% |  7.25% |
```
... which tells us that this new fold fires whopping 38k times,
increasing the amount of SimplifyCFG's `invoke`->`call` transforms by +54% (+1513) (again, D85787 did that last time),
decreasing total instruction count by -0.64% (-56454),
and sharply decreasing count of `insertvalue`'s (-88.36%, i.e. 9 times less)
and `extractvalue`'s (-74.83%, i.e. four times less).

This causes geomean -0.01% binary size decrease
http://llvm-compile-time-tracker.com/compare.php?from=4d5ca22b8adfb6643466e4e9f48ba14bb48938bc&to=97dacca0111cb2ae678204e52a3cee00e3a69208&stat=size-text
and, ignoring `O0-g`, is a geomean -0.01%..-0.05% compile-time improvement
http://llvm-compile-time-tracker.com/compare.php?from=4d5ca22b8adfb6643466e4e9f48ba14bb48938bc&to=97dacca0111cb2ae678204e52a3cee00e3a69208&stat=instructions

The other thing that tells is, is that while this is a massive win for `invoke`->`call` transform
`InstCombinerImpl::foldAggregateConstructionIntoAggregateReuse()` fold,
which is supposed to be dealing with such aggregate reconstructions,
fires a lot less now. There are two reasons why:
1. After this fold, as it can be seen in tests, we may (will) end up with trivially redundant PHI nodes.
   We don't CSE them in InstCombine presently, which means that EarlyCSE needs to run and then InstCombine rerun.
2. But then, EarlyCSE not only manages to fold such redundant PHI's,
   it also sees that the extract-insert chain recreates the original aggregate,
   and replaces it with the original aggregate.

The take-aways are
1. We maybe should do most trivial, same-BB PHI CSE in InstCombine
2. I need to check if what other patterns remain, and how they can be resolved.
   (i.e. i wonder if `foldAggregateConstructionIntoAggregateReuse()` might go away)

Reviewed By: spatel

Differential Revision: https://reviews.llvm.org/D86530
The file was modifiedllvm/test/Transforms/InstCombine/phi-aware-aggregate-reconstruction.ll (diff)
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineInternal.h (diff)
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombinePHI.cpp (diff)
The file was modifiedllvm/test/Transforms/InstCombine/phi-of-extractvalues.ll (diff)
Commit c295c6f2c04e771f44322e5dfdd681a5ace300e5 by lebedev.ri
Revert "[InstCombine] PHI-of-extractvalues -> extractvalue-of-PHI, aka invokes are bad"

This reverts commit fcb51d8c2460faa23b71e06abb7e826243887dd6.

As buildbots report, there's apparently some missing check to ensure
that the types of incoming values match the type of PHI.
Let's revert for a moment.
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineInternal.h (diff)
The file was modifiedllvm/test/Transforms/InstCombine/phi-aware-aggregate-reconstruction.ll (diff)
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombinePHI.cpp (diff)
The file was modifiedllvm/test/Transforms/InstCombine/phi-of-extractvalues.ll (diff)
Commit 6a3c69e918b13482f2f8492ddd3a79ccdcb70f76 by thomasraoux
[mlir][spirv] Infer converted type of scf.for from the init value

Instead of using the TypeConverter infer the value of the alloca created based
on the init value. This will allow some ambiguous types like multidimensional
vectors to be converted correctly.

Differential Revision: https://reviews.llvm.org/D86582
The file was modifiedmlir/lib/Conversion/SCFToSPIRV/SCFToSPIRV.cpp (diff)
Commit db259fe38b89b6987c9c4ec61a7cd7d8a0429b85 by martin
[llvm-readobj] Fix arm64 unwind opcode disassembly printing

Add a missing minus, fix vertical alignment of instructions for one opcode.

Differential Revision: https://reviews.llvm.org/D86523
The file was addedllvm/test/tools/llvm-readobj/COFF/arm64-unwind-opcodes.s
The file was modifiedllvm/test/CodeGen/AArch64/wineh5.mir (diff)
The file was modifiedllvm/tools/llvm-readobj/ARMWinEHPrinter.cpp (diff)
Commit b07d78bcf91a650e6b940600259d0e58120f783f by martin
[MC] [Win64EH] Update the AArch64/seh.s test slightly. NFC.

Update the comment stating the aim of the test - this is currently
only checking that these assembler directives doesn't cause the
assembler to fail, but the results of the testcase aren't particularly
correct yet.

Remove bits of the testcase that are even less likely to be found in
the wild (the .seh_startchained/.seh_endchained block), where the
testcase currently doesn't really generate anything interesting
anyway.

Differential Revision: https://reviews.llvm.org/D86524
The file was modifiedllvm/test/MC/AArch64/seh.s (diff)
Commit dcb1ce61b84203ab8ece771d7bbab6e3345a31b3 by martin
[LLD][MinGW] Cleanup Options.td file. NFC.

Based on ELF driver Options.td.

Differential Revision: https://reviews.llvm.org/D86509
The file was modifiedlld/MinGW/Options.td (diff)
Commit c82078b5d761974ce76561f85ae73b4d02213e57 by martin
[LLD][MinGW] Handle allow-multiple-definition flag

Basically copied from ELF driver.

Differential Revision: https://reviews.llvm.org/D86512
The file was modifiedlld/test/MinGW/driver.test (diff)
The file was modifiedlld/MinGW/Driver.cpp (diff)
The file was modifiedlld/MinGW/Options.td (diff)
Commit fe44992b797fcbdf247abd860753feab22e6e148 by sivachandra
[libc][NFC] For remquo quotient, compare only 3 bits of MPFR and libc results.
The file was modifiedlibc/utils/MPFRWrapper/MPFRUtils.cpp (diff)
Commit 5a6ff2bb3e6ce42817d6618d977428c394d1709d by joker.eph
Adjust assertion when casting to an unregistered operation

This assertion does not achieve what it meant to do originally, as it
would fire only when applied to an unregistered operation, which is a
fairly rare circumstance (it needs a dialect or context allowing
unregistered operation in the input in the first place).
Instead we relax it to only fire when it should have matched but didn't
because of the misconfiguration.

Differential Revision: https://reviews.llvm.org/D86588
The file was modifiedmlir/include/mlir/IR/OpDefinition.h (diff)
Commit 0b7c184c2d8f8ecf7daf89e9e58a80c6426c2835 by joker.eph
Add assertion in PatternRewriter::create<> to defend the same way as OpBuilder::create<> against missing dialect registration (NFC)

The code would have failed a few line later, but that way the error
message is more clear/friendly to debug.
The file was modifiedmlir/include/mlir/IR/PatternMatch.h (diff)
Commit 451b1bd894f6cf8b2359214b186079f7f0f698cf by lebedev.ri
[NFC][InstCombine] Add a PHI-of-insertvalues test with different base aggregate types
The file was modifiedllvm/test/Transforms/InstCombine/phi-of-extractvalues.ll (diff)
Commit 1f90d45b9eb4550a4143ad846e2623fc1b7c05ab by lebedev.ri
[InstCombine] PHI-of-extractvalues -> extractvalue-of-PHI, aka invokes are bad

While since D86306 we do it's sibling fold for `insertvalue`,
we should also do this for `extractvalue`'s.

And unlike that one, the results here are, quite honestly, shocking,
as it can be observed here on vanilla llvm test-suite + RawSpeed results:

```
| statistic name                                     | baseline  | proposed  |       Δ |       % |    |%| |
|----------------------------------------------------|-----------|-----------|--------:|--------:|-------:|
| asm-printer.EmittedInsts                           | 7945095   | 7942507   |   -2588 |  -0.03% |  0.03% |
| assembler.ObjectBytes                              | 273209920 | 273069800 | -140120 |  -0.05% |  0.05% |
| early-cse.NumCSE                                   | 2183363   | 2183398   |      35 |   0.00% |  0.00% |
| early-cse.NumSimplify                              | 541847    | 550017    |    8170 |   1.51% |  1.51% |
| instcombine.NumAggregateReconstructionsSimplified  | 2139      | 108       |   -2031 | -94.95% | 94.95% |
| instcombine.NumCombined                            | 3601364   | 3635448   |   34084 |   0.95% |  0.95% |
| instcombine.NumConstProp                           | 27153     | 27157     |       4 |   0.01% |  0.01% |
| instcombine.NumDeadInst                            | 1694521   | 1765022   |   70501 |   4.16% |  4.16% |
| instcombine.NumPHIsOfExtractValues                 | 0         | 37546     |   37546 |   0.00% |  0.00% |
| instcombine.NumSunkInst                            | 63158     | 63686     |     528 |   0.84% |  0.84% |
| instcount.NumBrInst                                | 874304    | 871857    |   -2447 |  -0.28% |  0.28% |
| instcount.NumCallInst                              | 1757657   | 1758402   |     745 |   0.04% |  0.04% |
| instcount.NumExtractValueInst                      | 45623     | 11483     |  -34140 | -74.83% | 74.83% |
| instcount.NumInsertValueInst                       | 4983      | 580       |   -4403 | -88.36% | 88.36% |
| instcount.NumInvokeInst                            | 61018     | 59478     |   -1540 |  -2.52% |  2.52% |
| instcount.NumLandingPadInst                        | 35334     | 34215     |   -1119 |  -3.17% |  3.17% |
| instcount.NumPHIInst                               | 344428    | 331116    |  -13312 |  -3.86% |  3.86% |
| instcount.NumRetInst                               | 100773    | 100772    |      -1 |   0.00% |  0.00% |
| instcount.TotalBlocks                              | 1081154   | 1077166   |   -3988 |  -0.37% |  0.37% |
| instcount.TotalFuncs                               | 101443    | 101442    |      -1 |   0.00% |  0.00% |
| instcount.TotalInsts                               | 8890201   | 8833747   |  -56454 |  -0.64% |  0.64% |
| instsimplify.NumSimplified                         | 75822     | 75707     |    -115 |  -0.15% |  0.15% |
| simplifycfg.NumHoistCommonCode                     | 24203     | 24197     |      -6 |  -0.02% |  0.02% |
| simplifycfg.NumHoistCommonInstrs                   | 48201     | 48195     |      -6 |  -0.01% |  0.01% |
| simplifycfg.NumInvokes                             | 2785      | 4298      |    1513 |  54.33% | 54.33% |
| simplifycfg.NumSimpl                               | 997332    | 1018189   |   20857 |   2.09% |  2.09% |
| simplifycfg.NumSinkCommonCode                      | 7088      | 6464      |    -624 |  -8.80% |  8.80% |
| simplifycfg.NumSinkCommonInstrs                    | 15117     | 14021     |   -1096 |  -7.25% |  7.25% |
```
... which tells us that this new fold fires whopping 38k times,
increasing the amount of SimplifyCFG's `invoke`->`call` transforms by +54% (+1513) (again, D85787 did that last time),
decreasing total instruction count by -0.64% (-56454),
and sharply decreasing count of `insertvalue`'s (-88.36%, i.e. 9 times less)
and `extractvalue`'s (-74.83%, i.e. four times less).

This causes geomean -0.01% binary size decrease
http://llvm-compile-time-tracker.com/compare.php?from=4d5ca22b8adfb6643466e4e9f48ba14bb48938bc&to=97dacca0111cb2ae678204e52a3cee00e3a69208&stat=size-text
and, ignoring `O0-g`, is a geomean -0.01%..-0.05% compile-time improvement
http://llvm-compile-time-tracker.com/compare.php?from=4d5ca22b8adfb6643466e4e9f48ba14bb48938bc&to=97dacca0111cb2ae678204e52a3cee00e3a69208&stat=instructions

The other thing that tells is, is that while this is a massive win for `invoke`->`call` transform
`InstCombinerImpl::foldAggregateConstructionIntoAggregateReuse()` fold,
which is supposed to be dealing with such aggregate reconstructions,
fires a lot less now. There are two reasons why:
1. After this fold, as it can be seen in tests, we may (will) end up with trivially redundant PHI nodes.
   We don't CSE them in InstCombine presently, which means that EarlyCSE needs to run and then InstCombine rerun.
2. But then, EarlyCSE not only manages to fold such redundant PHI's,
   it also sees that the extract-insert chain recreates the original aggregate,
   and replaces it with the original aggregate.

The take-aways are
1. We maybe should do most trivial, same-BB PHI CSE in InstCombine
2. I need to check if what other patterns remain, and how they can be resolved.
   (i.e. i wonder if `foldAggregateConstructionIntoAggregateReuse()` might go away)

This is a reland of the original commit fcb51d8c2460faa23b71e06abb7e826243887dd6,
because originally i forgot to ensure that the base aggregate types match.

Reviewed By: spatel

Differential Revision: https://reviews.llvm.org/D86530
The file was modifiedllvm/test/Transforms/InstCombine/phi-of-extractvalues.ll (diff)
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombinePHI.cpp (diff)
The file was modifiedllvm/test/Transforms/InstCombine/phi-aware-aggregate-reconstruction.ll (diff)
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineInternal.h (diff)
Commit 2de2ca348dfa09963eb33ddf71c9cbb59612c16a by ecaldas
[SyntaxTree] Add support for `CallExpression`

* Generate `CallExpression` syntax node for all semantic nodes inheriting from
`CallExpr` with call-expression syntax - except `CUDAKernelCallExpr`.
* Implement all the accessors
* Arguments of `CallExpression` have their own syntax node which is based on
the `List` base API

Differential Revision: https://reviews.llvm.org/D86544
The file was modifiedclang/unittests/Tooling/Syntax/BuildTreeTest.cpp (diff)
The file was modifiedclang/lib/Tooling/Syntax/Nodes.cpp (diff)
The file was modifiedclang/lib/Tooling/Syntax/BuildTree.cpp (diff)
The file was modifiedclang/include/clang/Tooling/Syntax/Nodes.h (diff)
Commit 3b75f65e6ba4862977fd193ddb4918c4fc380fa5 by ecaldas
[SyntaxTree] Fix C++ versions on tests of `BuildTreeTest.cpp`

Differential Revision: https://reviews.llvm.org/D86591
The file was modifiedclang/unittests/Tooling/Syntax/BuildTreeTest.cpp (diff)
Commit 30507137986ab5d27c82c024dff1ffbf51ee9b31 by okuraofvegetable
[Attributor] Provide an edge-based interface in AAIsDead

This patch produces an edge-based interface in AAIsDead.
By this, we can query a set of basic blocks that are directly reachable from a given basic block.
This is specifically useful for implementation of AAReachability.

Reviewed By: jdoerfert

Differential Revision: https://reviews.llvm.org/D85547
The file was modifiedllvm/lib/Transforms/IPO/AttributorAttributes.cpp (diff)
The file was modifiedllvm/include/llvm/Transforms/IPO/Attributor.h (diff)
Commit 474f7639e3494d9605f4444b087f48e710fbb0d4 by riddleriver
[mlir] Fix bug in block merging when the types of the operands differ

The merging algorithm was previously not checking for type equivalence.

Fixes PR47314

Differential Revision: https://reviews.llvm.org/D86594
The file was modifiedmlir/lib/Transforms/Utils/RegionUtils.cpp (diff)
The file was modifiedmlir/test/Transforms/canonicalize-block-merge.mlir (diff)
Commit b7e3599a22a9fdea42bf40cae750d10a5fb56888 by jay.foad
[SelectionDAG] Handle non-power-of-2 bitwidths in expandROT

Differential Revision: https://reviews.llvm.org/D86449
The file was modifiedllvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp (diff)
The file was addedllvm/test/CodeGen/WebAssembly/fshl.ll
Commit 7518006d75accd21325747430d6bced66b2c5ada by Raphael Isemann
[lldb] XFAIL TestMemoryHistory on Linux

This test appears to have never worked on Linux but it seems none of the current
bots ever ran this test as it required enabling compiler-rt (otherwise it
would have just been skipped).

This just copies over the XFAIL decorator that are already on all other sanitizer
tests.
The file was modifiedlldb/test/API/functionalities/asan/TestMemoryHistory.py (diff)
Commit b20a4e293c3b617d0890657b3c46edcc7410c8fd by jan.kratochvil
[Support] Speedup llvm-dwarfdump 3.9x

Currently `strace llvm-dwarfdump x.debug >/tmp/file`:

  ioctl(1, TCGETS, 0x7ffd64d7f340)        = -1 ENOTTY (Inappropriate ioctl for device)
  write(1, "           DW_AT_decl_line\t(89)\n"..., 4096) = 4096
  ioctl(1, TCGETS, 0x7ffd64d7f400)        = -1 ENOTTY (Inappropriate ioctl for device)
  ioctl(1, TCGETS, 0x7ffd64d7f410)        = -1 ENOTTY (Inappropriate ioctl for device)
  ioctl(1, TCGETS, 0x7ffd64d7f400)        = -1 ENOTTY (Inappropriate ioctl for device)

After this patch:

  write(1, "0000000000001102 \"strlen\")\n     "..., 4096) = 4096
  write(1, "site\n                  DW_AT_low"..., 4096) = 4096
  write(1, "d53)\n\n0x000e4d4d:       DW_TAG_G"..., 4096) = 4096

The same speedup can be achieved by `--color=0` but that is not much convenient.

This implementation has been suggested by Joerg Sonnenberger.

Differential Revision: https://reviews.llvm.org/D86406
The file was modifiedllvm/lib/Support/raw_ostream.cpp (diff)
The file was modifiedllvm/include/llvm/Support/raw_ostream.h (diff)
Commit 0aaa2acc4ca0389a79a46bca3dc5b9365c641d77 by hokein.wu
[clangd] Compute the inactive code range for semantic highlighting.

Differential Revision: https://reviews.llvm.org/D85635
The file was modifiedclang-tools-extra/clangd/unittests/SemanticHighlightingTests.cpp (diff)
The file was modifiedclang-tools-extra/clangd/SemanticHighlighting.cpp (diff)
Commit f22d27624b6532a5542b283de9ce586c72c6b846 by puyan
[NFC] Fix some spelling errors in clang Driver Options.td

Differential Revision: https://reviews.llvm.org/D86427
The file was modifiedclang/include/clang/Driver/Options.td (diff)
Commit 5f47d4456d192eaea8c56a2b4648023c8743c927 by sander.desmalen
[AArch64][SVE] Fix calculation restore point for SVE callee saves.

This fixes an issue where the restore point of callee-saves in the
function epilogues was incorrectly calculated when the basic block
consisted of only a RET instruction. This caused dealloc instructions
to be inserted in between the block of callee-save restore instructions,
rather than before it.

Reviewed By: paulwalker-arm

Differential Revision: https://reviews.llvm.org/D86099
The file was addedllvm/test/CodeGen/AArch64/framelayout-sve-calleesaves-fix.mir
The file was modifiedllvm/lib/Target/AArch64/AArch64FrameLowering.cpp (diff)
Commit 20676cab1168c2c60982af85f42725955cbcd7b5 by vrnithinkumar
[analyzer] Add modeling of assignment operator in smart ptr

Summary: Support for 'std::unique_ptr>::operator=' in SmartPtrModeling

Reviewers: NoQ, Szelethus, vsavchenko, xazax.hun

Reviewed By: NoQ, vsavchenko, xazax.hun

Subscribers: martong, cfe-commits
Tags: #clang

Differential Revision: https://reviews.llvm.org/D86293
The file was modifiedclang/test/Analysis/smart-ptr-text-output.cpp (diff)
The file was modifiedclang/lib/StaticAnalyzer/Checkers/SmartPtrModeling.cpp (diff)
The file was modifiedclang/test/Analysis/smart-ptr.cpp (diff)
The file was modifiedclang/test/Analysis/Inputs/system-header-simulator-cxx.h (diff)
Commit 1f44dfb640cbf04fd348c726950e556883cf7944 by cullen.rhodes
[AArch64][AsmParser] Fix bug in operand printer

The switch in AArch64Operand::print was changed in D45688 so the shift
can be printed after printing the register. This is implemented with
LLVM_FALLTHROUGH and was broken in D52485 when BTIHint was put between
the register and shift operands.

Reviewed By: ostannard

Differential Revision: https://reviews.llvm.org/D86535
The file was modifiedllvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp (diff)
Commit 99d18f79646cf154fed1ffdb473afa8ebd943b07 by sstipanovic
Reland [IR] Intrinsics default attributes and opt-out flag

Intrinsic properties can now be set to default and applied to all
intrinsics. If the attributes are not needed, the user can opt-out by
setting the DisableDefaultAttributes flag to true.

Differential Revision: https://reviews.llvm.org/D70365
The file was modifiedllvm/test/TableGen/searchabletables-intrinsic.td (diff)
The file was modifiedllvm/test/TableGen/intrin-side-effects.td (diff)
The file was modifiedllvm/test/TableGen/intrinsic-varargs.td (diff)
The file was modifiedllvm/include/llvm/IR/Intrinsics.td (diff)
The file was modifiedllvm/test/TableGen/intrinsic-struct.td (diff)
The file was modifiedllvm/utils/TableGen/CodeGenIntrinsics.h (diff)
The file was modifiedllvm/test/TableGen/intrinsic-pointer-to-any.td (diff)
The file was modifiedllvm/test/TableGen/intrinsic-long-name.td (diff)
The file was modifiedllvm/utils/TableGen/CodeGenTarget.cpp (diff)
The file was modifiedllvm/utils/TableGen/SearchableTableEmitter.cpp (diff)
Commit b2b9af5a1397f15fbbef18497359245d8d221b86 by bjorn.a.pettersson
[TableGen][GlobalISel] Fix tblgen optimization bug

When optimizing the table, PointerToAnyOperandMatchers would be
incorrectly reported as identical even though they have different
SizeInBits values. This bug was due to failing to overload the
isIdentical() method, which this patch addresses.

Reviewed By: arsenm

Differential Revision: https://reviews.llvm.org/D86199
The file was addedllvm/test/TableGen/GlobalISelEmitterMatchTableOptimizer.td
The file was modifiedllvm/utils/TableGen/GlobalISelEmitter.cpp (diff)
Commit 5e23dc5b4702cb048f211903dacebed5a6df38d9 by bjorn.a.pettersson
[GlobalISel] Fix and tidy up documentation for ValueMapping class (NFC)

The documentation was missing a '*/' in '/*<2x32-bit> vadd {0, 64, VPR}',
and the example code are now aligned to improve readability.

Reviewed By: arsenm

Differential Revision: https://reviews.llvm.org/D86201
The file was modifiedllvm/include/llvm/CodeGen/GlobalISel/RegisterBankInfo.h (diff)
Commit cda6b0924257f162cc9299dae2d4bb134fac5d38 by pierre.gousseau
[X86] Make sure we do not clobber RBX with mwaitx when used as a base
pointer.

mwaitx uses EBX as one of its argument.
Using this instruction clobbers RBX as it is defined to hold one of the
input. When the backend uses dynamically allocated stack, RBX is used as
a reserved register for the base pointer.

This patch is adapted from @qcolombet patch for cmpxchg at r263325.

This fixes PR43528.

Reviewed By: craig.topper

Differential Revision: https://reviews.llvm.org/D73475
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.h (diff)
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp (diff)
The file was modifiedllvm/lib/Target/X86/X86ExpandPseudo.cpp (diff)
The file was modifiedllvm/lib/Target/X86/X86InstrInfo.td (diff)
The file was addedllvm/test/CodeGen/X86/base-pointer-and-mwaitx.ll
The file was modifiedllvm/lib/Target/X86/X86InstrCompiler.td (diff)
Commit 9ad5d37fd917a5b8b3ffe5c12145c85021ee2578 by david.spickett
[lldb] Correct wording of EXP_MSG

EXP_MSG generates a message to show on assert
failure. Currently it looks like:
AssertionError: False is not True : '<cmd>'
returns expected result, got '<actual output>'

Which seems to say that the test failed but
also got the expected result.

It should say:
AssertionError: False is not True : '<cmd>'
returned unexpected result, got '<actual output>'

Reviewed By: teemperor, #lldb

Differential Revision: https://reviews.llvm.org/D86603
The file was modifiedlldb/packages/Python/lldbsuite/test/lldbtest.py (diff)
Commit 00d5f1ecccc6d8ece9ac6dd19e9ad807c8a60097 by kai
[SystemZ/ZOS] Additions to the build system.

This change extend the CMake files with the necessary additions
to build LLVM for z/OS.

Reviewed By: hubert.reinterpretcast

Differential Revision: https://reviews.llvm.org/D83866
The file was modifiedllvm/cmake/modules/GetHostTriple.cmake (diff)
The file was modifiedllvm/cmake/modules/AddLLVM.cmake (diff)
The file was modifiedllvm/cmake/modules/HandleLLVMOptions.cmake (diff)
The file was modifiedllvm/CMakeLists.txt (diff)
Commit f65ab626e549f8ddd4cdf10ac12371de3af73aa7 by grimar
[llvm-readelf][test] - Refine the sections-ext.test

The `sections-ext.test` is a test for ELF that is used
to test `--st`, `--sr` and `--sd` extension options for `-S`.

There are 2 problems with it:
1) It is broken, because for CHECK lines it contains there is
no corresponding `FileCheck` call.

2) It uses the precompiled object: `trivial.obj.elf-i386`.
This is the last ELF test where `trivial.obj.elf-i386` is used so we can get
rid of the binary and use an YAML description.

Also, there is a `Inputs/trivial.ll` file that describes how `trivial*` objects
in `Inputs` folders are created. I've removed it from `ELF`, because it is not
actual anymore (we have no more input binaries created with the use of trivial.ll there)
and copied the refined versions of it to `COFF`, `MachO` and `wasm` Input folders.

Differential revision: https://reviews.llvm.org/D86462
The file was removedllvm/test/tools/llvm-readobj/ELF/Inputs/trivial.obj.elf-i386
The file was modifiedllvm/test/tools/llvm-readobj/ELF/sections-ext.test (diff)
The file was addedllvm/test/tools/llvm-readobj/MachO/Inputs/trivial.ll
The file was removedllvm/test/tools/llvm-readobj/ELF/Inputs/trivial.ll
The file was addedllvm/test/tools/llvm-readobj/COFF/Inputs/trivial.ll
The file was addedllvm/test/tools/llvm-readobj/wasm/Inputs/trivial.ll
Commit 7749e2de20d82a6bb8b8beaa74b2a8dbd8232067 by grimar
[llvm-readobj] - Don`t crash when --section-symbols is requested for an object w/o .symtab.

llvm-readobj crashes when `-S --section-symbols` is used
on an object that has no symbol table.

The patch fixes it.

Differential revision: https://reviews.llvm.org/D86520
The file was modifiedllvm/tools/llvm-readobj/ELFDumper.cpp (diff)
The file was modifiedllvm/test/tools/llvm-readobj/ELF/sections-ext.test (diff)
Commit 82982304d7095891b10faacdbf9b4eb73e92a92f by pavel
[lldb/DWARF] More DW_AT_const_value fixes

This fixes several issues in handling of DW_AT_const_value attributes:
- the first is that the size of the data given by data forms does not
  need to match the size of the underlying variable. We already had the
  case to handle this for DW_FORM_(us)data -- this extends the handling
  to other data forms. The main reason this was not picked up is because
  clang uses leb forms in these cases while gcc prefers the fixed-size
  ones.
- The handling of DW_AT_strp form was completely broken -- we would end
  up using the pointer value as the result. I've reorganized this code
  so that it handles all string forms uniformly.
- In case of a completely bogus form we would crash due to
  strlen(nullptr).

Depends on D86311.

Differential Revision: https://reviews.llvm.org/D86348
The file was addedlldb/test/Shell/SymbolFile/DWARF/DW_AT_const_value-bitfields.s
The file was modifiedlldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp (diff)
The file was modifiedlldb/test/Shell/SymbolFile/DWARF/DW_AT_const_value.s (diff)
Commit 357dc1ed125e4bf55f1e99fb141fc054c285edbf by grimar
[obj2yaml] - Cleanup error reporting (remove Error.cpp/.h files)

This removes Error.cpp/.h files from obj2yaml.
These files are not needed because we are
using `Error`s instead of error codes widely and do
not need a logic related to obj2yaml specific
error codes anymore.

I had to adjust just a few lines of tool's code
to remove remaining dependencies.

Differential revision: https://reviews.llvm.org/D86536
The file was removedllvm/tools/obj2yaml/Error.cpp
The file was modifiedllvm/tools/obj2yaml/elf2yaml.cpp (diff)
The file was modifiedllvm/tools/obj2yaml/macho2yaml.cpp (diff)
The file was removedllvm/tools/obj2yaml/Error.h
The file was modifiedllvm/tools/obj2yaml/dwarf2yaml.cpp (diff)
The file was modifiedllvm/tools/obj2yaml/CMakeLists.txt (diff)
The file was modifiedllvm/tools/obj2yaml/minidump2yaml.cpp (diff)
The file was modifiedllvm/tools/obj2yaml/obj2yaml.cpp (diff)
Commit 642cb7865f35ad7dbac78d716fcddaff561e8639 by benny.kra
Copy m_plan_is_for_signal_trap member.

Otherwise it would stay uninitialized. Found by msan.
The file was modifiedlldb/include/lldb/Symbol/UnwindPlan.h (diff)
Commit e524daa7e8719f4b43e6ebcf25fd4e7d74c5d1c4 by martin
[libunwind] Convert x86, x86_64, arm64 register restore functions to C calling convention and name mangling

Currently, the assembly functions for restoring register state have
been direct implementations of the Registers_*::jumpto() method
(contrary to the functions for saving register state, which are
implementations of the extern C function __unw_getcontext). This has
included having the assembly function name match the C++ mangling of
that method name (and having the function match the C++ member
function calling convention). To simplify the interface of the assembly
implementations, make the functions have C calling conventions and
name mangling.

This fixes building the library in with a MSVC C++ ABI with clang-cl,
which uses a significantly different method name mangling scheme.
(The library might not be of much use as C++ exception unwinder in such
an environment, but the libunwind.h interface for stepwise unwinding
still is usable, as is the _Unwind_Backtrace function.)

Differential Revision: https://reviews.llvm.org/D86041
The file was modifiedlibunwind/src/Registers.hpp (diff)
The file was modifiedlibunwind/src/UnwindRegistersRestore.S (diff)
Commit fc13d3d50e60e67b485720d5b2d049e8699249cc by llvmgnsyncbot
[gn build] Port 357dc1ed125
The file was modifiedllvm/utils/gn/secondary/llvm/tools/obj2yaml/BUILD.gn (diff)
Commit 85dd852a0d46684883fe3b4b19e780ba5d915b06 by samuel.tebbs
[RDA] Don't visit the BB of the instruction in getReachingUniqueMIDef

If the basic block of the instruction passed to getUniqueReachingMIDef
is a transitive predecessor of itself and has a definition of the
register, the function will return that definition even if it is after
the instruction given to the function. This patch stops the function
from scanning the instruction's basic block to prevent this.

Differential Revision: https://reviews.llvm.org/D86607
The file was modifiedllvm/lib/CodeGen/ReachingDefAnalysis.cpp (diff)
Commit cbedbd12e9837e049f0a936636a82ff39b75692b by grimar
[llvm-readobj/elf][test] - Add testing for EM_* specific OS/ABI values.

We have no tests for OS/ABI values specific to
EM_TI_C6000, ELFOSABI_AMDGPU_MESA3D and ELFOSABI_ARM machines.

Also, related arrays in the code are not grouped together.
(That is why such testing was missed I guess).

The patch fixes that all.

Differential revision: https://reviews.llvm.org/D86341
The file was modifiedllvm/tools/llvm-readobj/ELFDumper.cpp (diff)
The file was modifiedllvm/test/tools/llvm-readobj/ELF/file-header-os-abi.test (diff)
The file was removedllvm/test/tools/llvm-readobj/ELF/Inputs/trivial.obj.elf-amdhsa-gfx803
Commit 4b5460762a9634ba6a96b9589e11a1f7a9beaa3f by grimar
[llvm-readobj][test] - Commit trivial.obj.elf-amdhsa-gfx803 binary back.

It was removed in rGcbedbd12e9837e049f0a936636a82ff39b75692b by mistake.
The file was addedllvm/test/tools/llvm-readobj/ELF/Inputs/trivial.obj.elf-amdhsa-gfx803
Commit 677c1590c03474c8238fbc21b9c0dae9b5e5f4d2 by david.green
[ARM] Increase MVE gather/scatter cost by MVECostFactor.

MVE Gather scatter codegeneration is looking a lot better than it used
to, but still has some issues. The instructions we currently model as 1
cycle per element, which is a bit low for some cases. Increasing the
cost by the MVECostFactor brings them in-line with our other instruction
costs. This will have the effect of only generating then when the extra
benefit is more likely to overcome some of the issues. Notably in
running out of registers and vectorizing loops that could otherwise be
SLP vectorized.

In the short-term whilst we look at other ways of dealing with those
more directly, we can increase the costs of gathers to make them more
likely to be beneficial when created.

Differential Revision: https://reviews.llvm.org/D86444
The file was modifiedllvm/test/Transforms/LoopVectorize/ARM/pointer_iv.ll (diff)
The file was modifiedllvm/lib/Target/ARM/ARMTargetTransformInfo.cpp (diff)
The file was modifiedllvm/test/Analysis/CostModel/ARM/mve-gather-scatter-cost.ll (diff)
Commit 92c527e5a2b49fb1213ceda97738d4caf414666a by grimar
[llvm/Object] - Make dyn_cast<XCOFFObjectFile> work as it should.

Currently, `dyn_cast<XCOFFObjectFile>` always does cast and returns a pointer,
even when we pass `ELF`/`Wasm`/`Mach-O` or `COFF` instead of `XCOFF`.

It happens because `XCOFFObjectFile` class does not implement `classof`.
I've fixed it and added a unit test.

Differential revision: https://reviews.llvm.org/D86542
The file was modifiedllvm/include/llvm/Object/XCOFFObjectFile.h (diff)
The file was modifiedllvm/unittests/Object/XCOFFObjectFileTest.cpp (diff)
Commit d289a97f91443177b605926668512479c2cee37b by riddleriver
[mlir][PDL] Add a PDL Interpreter Dialect

The PDL Interpreter dialect provides a lower level abstraction compared to the PDL dialect, and is targeted towards low level optimization and interpreter code generation. The dialect operations encapsulates low-level pattern match and rewrite "primitives", such as navigating the IR (Operation::getOperand), creating new operations (OpBuilder::create), etc. Many of the operations within this dialect also fuse branching control flow with some form of a predicate comparison operation. This type of fusion reduces the amount of work that an interpreter must do when executing.

An example of this representation is shown below:

```mlir
// The following high level PDL pattern:
pdl.pattern : benefit(1) {
  %resultType = pdl.type
  %inputOperand = pdl.input
  %root, %results = pdl.operation "foo.op"(%inputOperand) -> %resultType
  pdl.rewrite %root {
    pdl.replace %root with (%inputOperand)
  }
}

// May be represented in the interpreter dialect as follows:
module {
  func @matcher(%arg0: !pdl.operation) {
    pdl_interp.check_operation_name of %arg0 is "foo.op" -> ^bb2, ^bb1
  ^bb1:
    pdl_interp.return
  ^bb2:
    pdl_interp.check_operand_count of %arg0 is 1 -> ^bb3, ^bb1
  ^bb3:
    pdl_interp.check_result_count of %arg0 is 1 -> ^bb4, ^bb1
  ^bb4:
    %0 = pdl_interp.get_operand 0 of %arg0
    pdl_interp.is_not_null %0 : !pdl.value -> ^bb5, ^bb1
  ^bb5:
    %1 = pdl_interp.get_result 0 of %arg0
    pdl_interp.is_not_null %1 : !pdl.value -> ^bb6, ^bb1
  ^bb6:
    pdl_interp.record_match @rewriters::@rewriter(%0, %arg0 : !pdl.value, !pdl.operation) : benefit(1), loc([%arg0]), root("foo.op") -> ^bb1
  }
  module @rewriters {
    func @rewriter(%arg0: !pdl.value, %arg1: !pdl.operation) {
      pdl_interp.replace %arg1 with(%arg0)
      pdl_interp.return
    }
  }
}
```

Differential Revision: https://reviews.llvm.org/D84579
The file was modifiedmlir/lib/Parser/AttributeParser.cpp (diff)
The file was addedmlir/lib/Dialect/PDLInterp/CMakeLists.txt
The file was modifiedmlir/test/Dialect/PDL/ops.mlir (diff)
The file was modifiedmlir/test/Dialect/PDL/invalid.mlir (diff)
The file was addedmlir/lib/Dialect/PDLInterp/IR/PDLInterp.cpp
The file was modifiedmlir/tools/mlir-tblgen/OpFormatGen.cpp (diff)
The file was modifiedmlir/lib/Parser/Parser.h (diff)
The file was modifiedmlir/include/mlir/IR/OpImplementation.h (diff)
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp (diff)
The file was modifiedmlir/include/mlir/Dialect/PDL/IR/PDLOps.td (diff)
The file was modifiedmlir/lib/Dialect/CMakeLists.txt (diff)
The file was addedmlir/lib/Dialect/PDLInterp/IR/CMakeLists.txt
The file was modifiedmlir/lib/IR/Builders.cpp (diff)
The file was modifiedmlir/lib/Dialect/PDL/IR/PDL.cpp (diff)
The file was modifiedmlir/include/mlir/IR/Builders.h (diff)
The file was modifiedmlir/include/mlir/IR/Attributes.h (diff)
The file was modifiedmlir/include/mlir/InitAllDialects.h (diff)
The file was addedmlir/test/Dialect/PDLInterp/ops.mlir
The file was addedmlir/include/mlir/Dialect/PDLInterp/IR/PDLInterpOps.td
The file was modifiedmlir/include/mlir/Dialect/PDL/IR/PDLBase.td (diff)
The file was modifiedmlir/lib/Parser/Parser.cpp (diff)
The file was addedmlir/include/mlir/Dialect/PDLInterp/IR/PDLInterp.h
The file was modifiedmlir/include/mlir/Dialect/CMakeLists.txt (diff)
The file was addedmlir/include/mlir/Dialect/PDLInterp/IR/CMakeLists.txt
The file was addedmlir/include/mlir/Dialect/PDLInterp/CMakeLists.txt
Commit ebf3b188c6edcce7e90ddcacbe7c51c90d95b0ac by qshanz
[Scheduling] Implement a new way to cluster loads/stores

Before calling target hook to determine if two loads/stores are clusterable,
we put them into different groups to avoid fake cluster due to dependency.
For now, we are putting the loads/stores into the same group if they have
the same predecessor. We assume that, if two loads/stores have the same
predecessor, it is likely that, they didn't have dependency for each other.

However, one SUnit might have several predecessors and for now, we just
pick up the first predecessor that has non-data/non-artificial dependency,
which is too arbitrary. And we are struggling to fix it.

So, I am proposing some better implementation.
1. Collect all the loads/stores that has memory info first to reduce the complexity.
2. Sort these loads/stores so that we can stop the seeking as early as possible.
3. For each load/store, seeking for the first non-dependency instruction with the
   sorted order, and check if they can cluster or not.

Reviewed By: Jay Foad

Differential Revision: https://reviews.llvm.org/D85517
The file was modifiedllvm/test/CodeGen/AMDGPU/max.i16.ll (diff)
The file was modifiedllvm/test/CodeGen/AArch64/aarch64-stp-cluster.ll (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/callee-special-input-vgprs.ll (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/stack-realign.ll (diff)
The file was modifiedllvm/lib/CodeGen/MachineScheduler.cpp (diff)
The file was modifiedllvm/include/llvm/CodeGen/ScheduleDAGInstrs.h (diff)
Commit 8daa3264a3329ad34a0b210afdd8699f27d66db2 by Xing
[DWARFYAML] Make the unit_length and header_length fields optional.

This patch makes the unit_length and header_length fields of line tables
optional. yaml2obj is able to infer them for us.

Reviewed By: jhenderson

Differential Revision: https://reviews.llvm.org/D86590
The file was modifiedllvm/tools/obj2yaml/dwarf2yaml.cpp (diff)
The file was modifiedllvm/include/llvm/ObjectYAML/DWARFYAML.h (diff)
The file was modifiedllvm/lib/ObjectYAML/DWARFEmitter.cpp (diff)
The file was modifiedllvm/lib/ObjectYAML/DWARFYAML.cpp (diff)
The file was modifiedllvm/test/tools/yaml2obj/ELF/DWARF/debug-line.yaml (diff)
The file was modifiedllvm/unittests/DebugInfo/DWARF/DWARFDebugInfoTest.cpp (diff)
Commit 831457c6d59edb0e381917b35ca6099f9b86c6e8 by jay.foad
[AMDGPU][GlobalISel] Eliminate barrier if workgroup size is not greater than wavefront size

If a workgroup size is known to be not greater than wavefront size
the s_barrier instruction is not needed since all threads are guaranteed
to come to the same point at the same time.

This is the same optimization that was implemented for SelectionDAG in
D31731.

Differential Revision: https://reviews.llvm.org/D86609
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/barrier-elimination.ll (diff)
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.h (diff)
Commit eb074088c983ce6f255e0e83babdd32a4f2dd457 by Matthew.Arsenault
GlobalISel: Combine G_ADD of G_PTRTOINT to G_PTR_ADD

This produces less work for addressing mode matching. I think this is
safe since I don't think machine IR is supposed to give the same
aliasing properties as getelementptr in the IR.
The file was modifiedllvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp (diff)
The file was modifiedllvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h (diff)
The file was modifiedllvm/include/llvm/Target/GlobalISel/Combine.td (diff)
The file was addedllvm/test/CodeGen/AMDGPU/GlobalISel/combine-add-to-ptradd.mir
Commit 21ccedc24fc49b43e84095b4773f8aa86c366dac by Matthew.Arsenault
AMDGPU/GlobalISel: Tolerate negated control flow intrinsic outputs

If the condition output is negated, swap the branch targets. This is
similar to what SelectionDAG does for when SelectionDAGBuilder
decides to invert the condition and swap the branches.

This is leaving behind a dead constant def for some reason.
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-brcond.mir (diff)
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-amdgcn.if-invalid.mir (diff)
Commit 08704714421086e775a297339fc60963cc07eec9 by hans
Add clang-cl "vctoolsdir" option to specify the location of the msvc toolchain

Add an option to directly specify where the msvc toolchain lives for
clang-cl and avoid unwanted file and registry probes.

Differential revision: https://reviews.llvm.org/D85998
The file was modifiedclang/include/clang/Driver/Options.td (diff)
The file was modifiedclang/lib/Driver/ToolChains/MSVC.cpp (diff)
The file was modifiedclang/test/Driver/cl-options.c (diff)
Commit ff34116cf022ca010d60b972dae55016cd5f7478 by Matthew.Arsenault
AMDGPU: Use Subtarget reference in SIInstrInfo
The file was modifiedllvm/lib/Target/AMDGPU/SIInstrInfo.cpp (diff)
Commit a7da7e421c54e0053628f18f3750d4a8588cd627 by alexandre.ganea
[Support] Allow printing the stack trace only for a given depth

Differential Revision: https://reviews.llvm.org/D85458
The file was modifiedllvm/lib/Support/Windows/Signals.inc (diff)
The file was modifiedllvm/include/llvm/Support/Signals.h (diff)
The file was modifiedllvm/lib/Support/Unix/Signals.inc (diff)
The file was modifiedllvm/unittests/Support/CrashRecoveryTest.cpp (diff)
Commit 75d159f924868ec93e3008b04b637412b64de29e by jay.foad
[LegalizeTypes] Add ROTL/ROTR to ScalarizeVectorResult.

We can scalarize these just like any other binary operation.

Fixes https://bugs.llvm.org/show_bug.cgi?id=47303 caused by D77152.

Differential Revision: https://reviews.llvm.org/D86601
The file was modifiedllvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp (diff)
Commit 5078825aa982905088502f14b5387fc5c96017fe by lntue
[libc] Add implementations for sqrt, sqrtf, and sqrtl.

Differential Revision: https://reviews.llvm.org/D84726
The file was modifiedlibc/config/linux/x86_64/entrypoints.txt (diff)
The file was addedlibc/src/math/sqrtf.cpp
The file was addedlibc/src/math/sqrtl.h
The file was addedlibc/test/src/math/sqrtf_test.cpp
The file was modifiedlibc/spec/stdc.td (diff)
The file was addedlibc/src/math/sqrt.h
The file was modifiedlibc/config/linux/aarch64/entrypoints.txt (diff)
The file was modifiedlibc/src/math/CMakeLists.txt (diff)
The file was addedlibc/src/math/sqrtf.h
The file was addedlibc/test/src/math/sqrt_test.cpp
The file was addedlibc/src/math/sqrt.cpp
The file was addedlibc/src/math/sqrtl.cpp
The file was modifiedlibc/config/linux/api.td (diff)
The file was modifiedlibc/test/src/math/CMakeLists.txt (diff)
The file was addedlibc/utils/FPUtil/SqrtLongDoubleX86.h
The file was addedlibc/utils/FPUtil/Sqrt.h
The file was addedlibc/test/src/math/sqrtl_test.cpp
Commit 09af378f49dca98bc931ba0ff2c1cde307fe7c2c by Andrey.Churbanov
[OpenMP] Fix build on macOS sdk 10.12 and newer

Patch by nihui (Ni Hui)

Differential Revision: https://reviews.llvm.org/D76755
The file was modifiedopenmp/runtime/src/kmp_wrapper_getpid.h (diff)
Commit a75e67b3b4885efdb6a0b0b2939cccb5a9e67b72 by jay.foad
[AMDGPU] Make more use of Subtarget reference in SIInstrInfo
The file was modifiedllvm/lib/Target/AMDGPU/SIInstrInfo.cpp (diff)
Commit 4a15f51a4f7726e12c327fa30e76d90a2b90430b by Raphael Isemann
[lldb][NFC] Simplify string literal in GDBRemoteCommunicationClient
The file was modifiedlldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp (diff)
Commit 7a34dca0f3918ab1c0397e56dd64a3c04164c8b6 by hans
Fix failing tests after VCTOOLSDIR change

Switch from hardcoded x64 arch to a regex in the target triple

Differential revision: https://reviews.llvm.org/D86622
The file was modifiedclang/test/Driver/cl-options.c (diff)
Commit 8421503300c6145480710761983f089ccbe0bb56 by hans
Bump -len_control value in fuzzer-custommutator.test (PR47286)

to make the test more stable, as suggested by mmoroz.
The file was modifiedcompiler-rt/test/fuzzer/fuzzer-custommutator.test (diff)
Commit 667867e0df26e45ed2c86e192fee69dd484167c7 by hokein.wu
[clangd] Enable recovery-ast-type by default.

Differential Revision: https://reviews.llvm.org/D86602
The file was modifiedclang-tools-extra/clangd/tool/ClangdMain.cpp (diff)
The file was modifiedclang-tools-extra/clangd/ClangdServer.h (diff)
Commit 3d120b6f7be816d188bd05271fff17f0030db9b2 by Louis Dionne
[libc++] Always run Ninja through xcrun in the macOS CI scripts

Ninja isn't installed by default on OSX, so run it through xcrun to find
the one in the developer tools if needed.
The file was modifiedlibcxx/utils/ci/macos-trunk.sh (diff)
Commit 9d11e6789c477ce6104e29745ca70e13c9fafeb0 by kbobyrev
[clangd] Use string[] for allCommitCharacters

As per LSP specification, allCommitCharacters should be string[] instead of
string:

https://microsoft.github.io/language-server-protocol/specification#textDocument_completion

Reviewed By: sammccall

Differential Revision: https://reviews.llvm.org/D86604
The file was modifiedclang-tools-extra/clangd/ClangdLSPServer.cpp (diff)
The file was modifiedclang-tools-extra/clangd/test/initialize-params.test (diff)
Commit 677e3db5806af9c6bbe9e76c135f801e8b06a8ed by Raphael Isemann
[clang][NFC] Properly fix a GCC warning in ASTImporterTest.cpp

Follow up to c9b45ce1fd97531c228e092bedee719b971f82a3 which just defined
the function instead of just 'using' the function from the base class (thanks
David).
The file was modifiedclang/unittests/AST/ASTImporterTest.cpp (diff)
Commit 33ce275fc156c8b015acfad918937028b2cc235c by alexandre.ganea
[Clang] Fix tests following rG087047144210
The file was modifiedclang/test/Driver/cl-options.c (diff)
Commit f1a987366fb9e20abdcb5f87e2be1dabb4401cb2 by Louis Dionne
[libc++] Use xcrun to find Ninja in the macOS backdeployment CI too
The file was modifiedlibcxx/utils/ci/macos-backdeployment.sh (diff)
Commit 60db26a66d5346b2feae279f6c928bde48078893 by jeremy.morse
[LiveDebugValues][NFC] Add instr-ref tests, adapt old tests

This patch adds a few tests in DebugInfo/MIR/InstrRef/ of interesting
behaviour that the instruction referencing implementation of
LiveDebugValues has. Mostly, these tests exist to ensure that if you
give the "-experimental-debug-variable-locations" command line switch,
the right implementation runs; and to ensure it behaves the same way as
the VarLoc LiveDebugValues implementation.

I've also touched roughly 30 other tests, purely to make the tests less
rigid about what output to accept. DBG_VALUE instructions are usually
printed with a trailing !debug-location indicating its scope:

  !debug-location !1234

However InstrRefBasedLDV produces new DebugLoc instances on the fly,
meaning there sometimes isn't a numbered node when they're printed,
making the output:

  !debug-location !DILocation(line: 0, blah blah)

Which causes a ton of these tests to fail. This patch removes checks for
that final part of each DBG_VALUE instruction. None of them appear to
be actually checking the scope is correct, just that it's present, so
I don't believe there's any loss in coverage here.

Differential Revision: https://reviews.llvm.org/D83054
The file was modifiedllvm/test/DebugInfo/MIR/X86/livedebugvalues_basic_diamond_match_clobber.mir (diff)
The file was modifiedllvm/test/DebugInfo/MIR/X86/livedebugvalues-ignores-metaInstructions.mir (diff)
The file was modifiedllvm/test/DebugInfo/MIR/X86/livedebugvalues_loop_two_backedge.mir (diff)
The file was modifiedllvm/test/DebugInfo/MIR/X86/livedebugvalues_bb_to_bb.mir (diff)
The file was modifiedllvm/test/DebugInfo/MIR/X86/livedebugvalues_basic_diamond_match_move.mir (diff)
The file was modifiedllvm/test/DebugInfo/MIR/X86/livedebugvalues_loop_break.mir (diff)
The file was modifiedllvm/test/DebugInfo/MIR/X86/livedebugvalues_basic_diamond_one_move.mir (diff)
The file was modifiedllvm/test/DebugInfo/MIR/X86/livedebugvalues_basic_loop.mir (diff)
The file was modifiedllvm/test/DebugInfo/MIR/X86/livedebugvalues_bb_to_bb_move_to_clobber.mir (diff)
The file was modified