UnstableChanges

Summary

  1. [DWARFYAML] Rename checkListEntryOperands() to checkOperandCount(). NFC. (details)
  2. Order of libraries and source files in the f18 frontend (details)
  3. [SCEV] Add additional tests. (details)
  4. AMDGPU/GlobalISel: Use clamp modifier for [us]addsat/[us]subsat (details)
  5. [MLIR][Shape] Lower `shape.const_shape` to `tensor_from_elements` (details)
  6. AMDGPU/GlobalISel: Merge identical select cases (details)
  7. AMDGPU/GlobalISel: Mark GlobalISel classes as final (details)
  8. GlobalISel: Translate llvm.convert.{to|from}.fp16 intrinsics (details)
  9. [OldPM] Print out a bit more when passes lie about changing IR (details)
  10. [FunctionAttrs] Rename functionattrs -> function-attrs (details)
  11. [NewPM][Sancov] Pin RUN lines with -sancov to legacy PM (details)
  12. [FIX] Resolve test failure in polly/test/ScopInfo/memcpy-raw-source.ll (details)
  13. [CompilerRT] Don't pass global compile test flags in non-standalone build (details)
  14. [Darwin] Fix OS version checks inside simulators (details)
  15. [ARM][MVE] Teach MVEGatherScatterLowering to merge successive getelementpointers (details)
  16. [ELF] --reproduce should include lto sample profile (details)
  17. [Darwin] Cleanup code via improved GetMacosAlignedVersion() (details)
  18. [ASTImporter] Add Visitor for TypedefNameDecl's (details)
  19. [lld-macho] Support -filelist (details)
  20. [lld-macho] Fix segment filesize calculation (details)
  21. NFC: Add whitespace changing revisions to .git-blame-ignore-revs (details)
  22. [mlir][Vector] Drop declarative transforms (details)
  23. [JumpThreading] Add tests that have a cast of freeze and vice versa (details)
  24. [libTooling] Add a `between` range-selector combinator. (details)
  25. [X86] Merge disp8 and cdisp8 handling into a single helper function to reduce some code. (details)
  26. [X86] Simplify some code in emitMemModRMByte. NFCI (details)
  27. [lld-macho] Fix no-filelist test on Windows (details)
  28. [libc][obvious] Move ErrnoSetterMatcher to test/ErrnoSetterMetcher.h. (details)
  29. [lldb] Change the definition of ANSI_UNFAINT (details)
  30. [LLD] [MinGW] Implement the --no-seh flag (details)
  31. [JumpThreading] Add a basic support for freeze instruction (details)
  32. Revert "Switch to using -debug-info-kind=constructor as default (from =limited)" (details)
  33. [MLIR] Vector store to load forwarding (details)
  34. [AMDGPU] Spill CSR VGPR which is reserved for SGPR spills (details)
  35. [X86][XOP] Shuffle v16i8 using VPPERM(X,Y) instead of OR(PSHUFB(X),PSHUFB(Y)) (details)
  36. [CostModel][X86] Add abs intrinsics cost model tests (details)
  37. [DAG] isSplatValue - add support for TRUNCATE/SIGN_EXTEND/ZERO_EXTEND (details)
  38. [CostModel][X86] Add smax/smin/umin/umax intrinsics cost model tests (details)
  39. [scudo][standalone] mallopt runtime configuration options (details)
  40. [libc][NFC] Zero out padding bits in the uint form of x86 FPBits<long double>. (details)
  41. [NFC][XCOFF] Use getFunctionEntryPointSymbol from TLOF to simplify logic (details)
  42. [InstSimplify] add tests for icmp with partial undef constant; NFC (details)
  43. [InstCombine] avoid crashing on vector constant expression (PR46872) (details)
  44. [mlir][GPUToSPIRV] Add a test pass to set workgroup size for kernel (details)
  45. [X86] Merge the two 'Emit the normal disp32 encoding' cases in SIB byte handling in emitMemModRMByte. NFCI (details)
  46. [libc++] Clean up tests for "optional" C11 features (details)
  47. [libc++] Provide std::aligned_alloc and std::timespec_get on Apple platforms (details)
  48. [InstSimplify] allow undefs in icmp with vector constant folds (details)
  49. [PowerPC] Mark allocator_oom_test.cpp unsupported on PowerPC (details)
  50. [openacc] Add missing newline at end of file (details)
  51. [NewGVN] Add test cases for remaining known issues. (details)
  52. [MLIR][Linalg] Fixed obsolete examples in the MLIR Linalg Dialect doc (details)
  53. [llvm][NFC] refactor setBlockFrequency for clarity. (details)
  54. [lld][linkerscript] Fix handling of DEFINED. (details)
  55. Reland [Coverage] Add comment to skipped regions (details)
  56. PR46377: Fix dependence calculation for function types and typedef (details)
  57. Revert D83834 "Add test utility 'extract'" (details)
  58. Revert "[gn build] (manually) merge d054c7ee2e9" (details)
  59. [X86] Remove disabled miscompiling X86CondBrFolding pass (details)
  60. AMDGPU: Check for other defs when folding conditions into s_andn2_b64 (details)
  61. [NFC] Sema: use checkArgCount instead of custom checking (details)
  62. AMDGPU/GlobalISel: Add SReg_96 to SGPRRegBank (details)
  63. AMDGPU/GlobalISel: Add some missing tests for extract selection (details)
  64. GlobalISel: Add typeIsNot LegalityPredicate (details)
  65. GlobalISel: Don't assert on operations with no type indices (details)
  66. [globalisel][cse] Merge debug locations when CSE'ing (details)
  67. [docs] [lit] Add a more helpful description for lit.py's -s flag. (details)
  68. [SROA][Mem2Reg] Use efficient droppable use API (after D83976) (details)
  69. [MLIR] Add unit test for tblgen Op build methods (details)
  70. [DominatorTree] Simplify ChildrenGetter. (details)
  71. PR46637: Fix handling of placeholder types in trailing-return-types. (details)
  72. On Windows build, making the /bigobj flag global , instead of passing it per file. (details)
  73. [OpenMP][NFC] Consolidate `to` and `from` clause modifiers (details)
  74. [OpenMP] Implement TR8 `present` motion modifier in Clang (1/2) (details)
  75. [OpenMP] Implement TR8 `present` motion modifier in runtime (2/2) (details)
  76. [FileCheck] Extend -dump-input with substitutions (details)
  77. [FileCheck] Report captured variables (details)
  78. [lldb] Remove unused option '--platform-path' for 'target create' (details)
  79. [libc] Add scaffolding for ctype and implementation of isalpha (details)
  80. [libc] [Obvious] Delete ctype.h, since ctype.h.def is used. (details)
  81. [scudo][standalone] Add new mallopt options. (details)
  82. [libc][NFC] Move tablegen indexer class into a util library of its own. (details)
  83. [flang][NFC] Extract name resolution for OpenACC & OpenMP into new file (details)
  84. [libc][obvious] Add the new ctype.h target to the list of x86_64 headers. (details)
  85. [clangd] Use elog instead of llvm::errs, log instead of llvm::outs (details)
  86. AMDGPU: Serialize MFI spill fields (details)
  87. AMDGPU: Fix verifier error on spilling partially defined SGPRs (details)
  88. [libc][obvious] Add license headers to APIIndexer.[cpp|h]. (details)
  89. [NFC][OpenMP] Renamed all variable and function names in `target` to conform with LLVM code standard (details)
  90. AMDGPU: Don't assume there is only one terminator copy (details)
  91. AMDGPU: Handle a few missing cases in getAddrModeArguments (details)
  92. Revert "[OpenMP] Implement TR8 `present` motion modifier in runtime (2/2)" (details)
  93. Revert "[OpenMP] Implement TR8 `present` motion modifier in Clang (1/2)" (details)
  94. [OpenMP] Replaced mutex lock/unlock in `target` with `std::lock_guard` (details)
  95. AMDGPU: Don't assume call targets are registers (details)
  96. [WebAssembly] Implement truncating vector stores (details)
  97. [openmp][openacc][NFC] Add wrapper for records in DirectiveEmitter (details)
  98. AMDGPU: Don't assert in canInsertSelect (details)
  99. [X86] Add FeatureCMPXCHG8B and FeatureSlowUAMem16 to 'lakemont' in X86.td (details)
  100. [WebAssembly] Remove intrinsics for SIMD widening ops (details)
  101. [NFC] Add getArgumentTypes() to Region (details)
  102. AMDGPU/GlobalISel: Fix selecting llvm.amdgcn.s.getreg (details)
  103. AMDGPU: Optimize copies to exec with other insts after exec def (details)
  104. [PowerPC] Add Def CR1 for MTFSFI_rec and MTFSF_rec (details)
  105. [ADT][BitVector][NFC] Merge find_first_in() / find_first_unset_in() (details)
  106. [analyzer] FuchsiaHandleChecker: Suppress a non-deterministic test failure. (details)
  107. [llvm-readelf][test] Improve wording in the comments. NFC. (details)
  108. [NFC] Edit the comment in User::replaceUsesOfWith (details)
  109. [NFC] Edit the comment for the return type of await_suspend (details)
  110. [Hexagon] Correct the order of operands when lowering funnel shift-left (details)
  111. [ThinLTO] [test] cache.ll: Prevent Spotlight indexing of the output dir (details)
  112. [Clang-tools-extra] Mark override a function which overrides a virtual one (details)
  113. [MLIR][SPIRVToLLVM] Support of volatile/nontemporal memory access in load/store (details)
  114. [MLIR][SPIRV] Added storage class constraint on global variable (details)
  115. Test including rpc/xdr.h requires sunrpc (details)
  116. [InstCombine] Add tests for select(freeze(undef)); NFC (details)
  117. [clang] Fix ConceptSpecializationExpr::getEndLoc() (details)
  118. [MLIR][SPIRVToLLVM] Branch weights support for BranchConditional conversion (details)
  119. [clangd] Fix clangd-indexeer builds after D84697 (details)
  120. [DWARFYAML] Replace uint*_t with yaml::Hex* in the 'debug_aranges' entry. (details)
  121. [DWARFYAML][test] Make the check lines stricter. NFC. (details)
  122. [MLIR][Shape] Allow `shape.add` to operate on indices (details)
  123. [X86][SSE] getV4X86ShuffleImm8 - canonicalize broadcast masks (details)
  124. [MLIR][Shape] Add conversion for missing ops to standard (details)
  125. [MLIR][Shape] Remove type conversion from lowering to standard (details)
  126. [libunwind] Provide a way to set '_LIBUNWIND_IS_BAREMETAL' through cmake. (details)
  127. [llvm-readobj] - Move out the common code from printRelocations() methods. (details)
  128. [TTI] Add default cost expansion for abs/smax/smin/umax/umin intrinsics (details)
  129. [CMAKE] Fix 'clean' target not working (details)
  130. [LoopSimplifyCFG] Delete landing pads in dead exit blocks (details)
  131. [NewGVN] Require asserts for crashing tests. (details)
  132. [mlir] LLVMType: make getUnderlyingType private (details)
  133. [CodeGen] Remove calls to getVectorNumElements in DAGTypeLegalizer::SplitVecOp_EXTRACT_SUBVECTOR (details)
  134. [SVE] Add checks for no warnings in CodeGen/AArch64/sve-sext-zext.ll (details)
  135. [libc] [obvious] Fix typo in binary header. (details)
  136. AMDGPU/GlobalISel: Select llvm.amdgcn.global.atomic.csub (details)
  137. AMDGPU: Make saturating add/sub legal for DAG path (details)
  138. AMDGPU/GlobalISel: Refactor special argument management (details)
  139. [ARM] Optimize immediate selection (details)
  140. [SVE][CodeGen] Add simple integer add tests for SVE tuple types (details)
  141. [Analysis] TTI: Add CastContextHint for getCastInstrCost (details)
  142. [ARM] Tune getCastInstrCost for extending masked loads and truncating masked stores (details)
  143. [mlir][Standard] Allow unranked memrefs as operands to dim and rank (details)
  144. [TTI] Move abs/smax/smin/umax/umin cost expansion to ICA getIntrinsicInstrCost variant (details)
  145. [ELF][test] Add test coverage of `__real_` to wrap-plt.s (details)
  146. [Driver][ARM] Disable unsupported features when nofp arch extension is used (details)
  147. [CostModel][X86] Add SSE costs for ABS intrinsics (details)
  148. [Driver][ARM] Fix testcase that should only run on ARM (details)
  149. [ConstantFolding] update test checks FP min/max intrinsics (details)
  150. Forward extent tensors through shape.broadcast. (details)
  151. [clang][NFC] Pass the ASTContext to CXXRecordDecl::setCaptures (details)
  152. [clang][NFC] clang-format fix after eb10b065f2a870b425dcc2040b9955e0eee464b4 (details)
  153. [MLIR][Shape] Limit shape to standard lowerings to their supported types (details)
  154. [SCEVExpander] Add option to preserve LCSSA directly. (details)
  155. [InstSimplify] add tests for expandCommutativeBinOp; NFC (details)
  156. [flang] Fix bug with intrinsic in type declaration stmt (details)
  157. [OpenCL] Add global_device and global_host address spaces (details)
  158. [clang-tidy] Fix RedundantStringCStrCheck with r values (details)
  159. [mlir][Linalg] Conv1D, Conv2D and Conv3D added as named ops (details)
  160. [MLIR][Shape] Limit shape to SCF lowering patterns to their supported types (details)
  161. [CostModel][X86] Add SSE costs for SMAX/SMIN/UMAX/UMIN intrinsics (details)
  162. [NFC][PPC][AIX] Add test coverage for _Complex return values (details)
  163. [ConstantFolding] add tests for integer min/max intrinsics; NFC (details)
  164. [ConstantFolding] fold integer min/max intrinsics (details)
  165. [DWARFYAML] Make the field names consistent with the DWARF spec. NFC. (details)
  166. [clang-tidy] Fix module options being registered with different priorities (details)
  167. [MachineCopyPropagation] BackwardPropagatableCopy: add check for hasOverlappingMultipleDef (details)
  168. [OpenMP][Docs] Update Clang Support docs after D75591 (details)
  169. [OpenMP] Allow traits for the OpenMP context selector `isa` (details)
  170. [NewPM][PassInstrument] Add a new kind of before-pass callback that only get called if the pass is not skipped (details)
  171. [NewPM][PassInstrument] Make PrintIR and TimePasses to use before-pass-run callback (details)
  172. [SVE] Don't consider scalable vector types in SLPVectorizerPass::vectorizeChainsInBlock (details)
  173. [clang-tidy] Handled insertion only fixits when determining conflicts. (details)
  174. AMDGPU: Account for the size of LDS globals used through constant (details)
  175. [MachineVerifier] Handle the PHI node for verifyLiveVariables() (details)
  176. [InstSimplify] fold integer min/max intrinsic with same args (details)
  177. [InstSimplify] allow partial undef constants for vector min/max folds (details)
  178. [NewPM][Attributor] Pin tests with -attributor to legacy PM (details)
  179. [OpenMP] Implement TR8 `present` motion modifier in Clang (1/2) (details)
  180. [OpenMP] Implement TR8 `present` motion modifier in runtime (2/2) (details)
  181. [Statepoint] When using the tied def lowering, unconditionally use vregs [almost NFC] (details)
  182. [PowerPC] Set v1i128 to expand for SETCC to avoid crash (details)
  183. [SimplifyCFG][LoopRotate] SimplifyCFG: disable common instruction hoisting by default, enable late in pipeline (details)
  184. [DAG][AMDGPU][X86] Add SimplifyMultipleUseDemandedBits handling for SIGN/ZERO_EXTEND + SIGN/ZERO_EXTEND_VECTOR_INREG (details)
  185. [InstSimplify] try constant folding intrinsics before general simplifications (details)
  186. [DFSan][NewPM] Port DataFlowSanitizer to NewPM (details)
  187. [LV] Add abs/smin/smax/umin/umax intrinsics to isTriviallyVectorizable (details)
  188. [X86] Add custom lowering for llvm.roundeven with sse4.1. (details)
  189. [PGO] Remove insignificant function hash values from some tests. (details)
  190. [Scudo][CMake] Add -fno-lto to Scudo libraries (details)
  191. [lldb] Improve platform handling in CreateTargetInternal (details)
  192. [WebAssembly] Fix getBottom for loops (details)
  193. [gn build] Port 276f9e8cfaf (details)
  194. GloblaISel: Remove unreachable condition (details)
  195. [MLIR][NFC] Move Shape::WitnessType Declaration. (details)
  196. AMDGPU: Relax restriction on folding immediates into physregs (details)
  197. [AArch64][GlobalISel] Select XRO addressing mode with wide immediates (details)
  198. Add more debug code for https://github.com/google/sanitizers/issues/1193 (getting desperate, not being able to reproduce it for a few months, but the users are seeing it) (details)
  199. GlobalISel: Implement lower for G_EXTRACT_VECTOR_ELT (details)
  200. [libc++][pstl] Remove c++98 from UNSUPPORTED annotations (details)
  201. [libc++] Remove c++98 from the possible Standards of the test suite (details)
  202. Revert "[SCEVExpander] Add option to preserve LCSSA directly." (details)
  203. [lldb/test] Put hardware breakpoint tests together, NFC (details)
  204. [compiler-rt][Darwin] Disable EXC_GUARD exceptions (details)
  205. AMDGPU/GlobalISel: Handle llvm.amdgcn.reloc.constant (details)
  206. [lldb] Skip overlapping hardware and external breakpoints when writing memory (details)
  207. [lldb] Make process plugins check whether a hardware breakpoint is required (details)
  208. [lldb] Don't use hardware index to determine whether a breakpoint site is hardware (details)
  209. [AArch64][GlobalISel] Selection support for vector DUP[X]lane instructions. (details)
  210. [Statepoint] Consolidate relocation type tracking [NFC] (details)
  211. [GlobalISel] Add G_INTRINSIC_LRINT and translate from llvm.lrint (details)
  212. [lldb/BreakpointSite] Handle all ways of control flow (details)
  213. [DFSan] Add efficient fast16labels instrumentation mode. (details)
  214. [PowerPC] Add options to control paired vector memops support (details)
  215. PR46859: Fix crash if declaring a template in a DeclScope with no DeclContext. (details)
  216. [lldb/Breakpoint] Rename StoppointLocation to StoppointSite and drop its relationship with BreakpointLocation (details)
  217. GlobalISel: Fix insert point in CSEMIRBuilder unit test (details)
  218. [libc++] Re-enable tests for C11 math macros in <float.h> and <cfloat> (details)
  219. [AMDGPU] prefer non-mfma in post-RA schedule (details)
  220. [AMDGPU] Fixed formatting in GCNHazardRecognizer.cpp. NFC. (details)
  221. PR46231: Promote diagnostic for 'template<...>;' from ExtWarn to Error. (details)
  222. Reland "[SCEVExpander] Add option to preserve LCSSA directly." (details)
  223. [Tests] Split a file for ease of update (details)
  224. [X86][AVX] isHorizontalBinOp - relax no-lane-crossing limit for AVX1-only targets. (details)
  225. [PowerPC] Support for R_PPC64_REL24_NOTOC calls where the caller has no TOC and the callee is not DSO local (details)
  226. [ELF][test] Fix ppc64-reloc-pcrel34-overflow.s (details)
  227. Fix invalid attempted explicit instantiation, which Clang now rejects. (details)
  228. [mlir] fix error handling in rocm runtime wrapper (details)
  229. [ConstantRange] Add API for intrinsics (NFC) (details)
  230. [OpenMP] Fix D83281 issue on windows by allowing `dso_local` in CHECK (details)
  231. [mlir] [VectorOps] [integration_test] Sparse matrix times vector (jagged SAXPY version) (details)
  232. [lldb] remove somewhat dangerous 'd'(etach) and 'k'(ill) shortcuts (details)
  233. [lldb] change shortcut for 'step out' from 'o' to 'f' (details)
  234. [lldb] implement 'up' and 'down' shortcuts in lldb gui (details)
  235. [Statepoint] Enable cross block relocates w/vreg lowering (details)
  236. [libc] Adds fuzz test for strstr and alphabetizes string fuzz CMakeList. (details)
  237. [OpenMP] Fix D83281 issue on windows by allowing `dso_local` in CHECK [2/1] (details)
  238. [NewPM][opt] Revert to legacy PM when any codegen passes are specified (details)
  239. [PGO] Include the mem ops into the function hash. (details)
  240. build: always add support for assembly targets on Darwin (details)
  241. [InstSimplify] fold min/max with opposite of limit value (details)
  242. [InstSimplify] fold min/max intrinsic with undef operand (details)
  243. [opt][NewPM] Fix typo (details)
  244. [X86] Remove unused argument from HandleAVX512Operand in the assembly parser. (details)
  245. [LLDB] Add checks for ValueObjectSP in Cocoa summary providers (details)
  246. Revert "[PGO] Include the mem ops into the function hash." (details)
  247. [darwin] build and link with a separate compiler-rt builtins library (details)
  248. [lldb] Fix llvm-lit in standalone builds (details)
  249. Revert "build: always add support for assembly targets on Darwin" (details)
  250. [DFSan] Remove dfsan_use_fast16labels from abilist. (details)
  251. [llvm][NFC] TensorSpec abstraction for ML evaluator (details)
  252. GlobalISel: Handle llvm.roundeven (details)
  253. [Darwin][compiler-rt] kern.osproductversion unavailable pre macOS 10.13 (details)
  254. [profile] Add InstrProfilingInternal.c.o to Darwin kext builtins (details)
  255. [JumpThreading] Fold br(freeze(undef)) (details)
  256. PR46729: Reject explicit and partial specializations with C linkage. (details)
  257. [lldb] Move finish_swig logic into a function in the binding dir (details)
  258. GlobalISel: Handle assorted no-op intrinsics (details)
  259. GlobalISel: Use result of find rather than rechecking map (details)
  260. [AMDGPU] DWARF proposal changes for expression context (details)
  261. [PowerPC] Fix RM operands for some instructions (details)
  262. [llvm-readobj] NFC. Add -help description of --hex-dump and (details)
  263. NFC. Fix comments (details)
  264. For some tests targeting SystemZ, -march=z13 ---> -mcpu=z13 (details)
  265. [DebugInfo] Fix to ctor homing to ignore classes with trivial ctors. (details)
  266. [X86] Teach the assembler parser to handle a '*' between segment register and base/index/displacement part of an address (details)
  267. [AMDGPU] DWARF proposal changes (details)
  268. [AMDGPU] Fix DWARF extensions User Guide table of contents (details)
  269. [Analyzer] Use of BugType in DereferenceChecker (NFC). (details)
  270. [NFC] Remove unused variable (details)
  271. [Support] Class to facilitate file locking (details)
  272. [X86] Don't pass some many parameters to ParseMemOperand by reference. (details)
  273. [X86] Pass the OperandVector to ParseMemOperand instead of returning the operand. NFCI (details)
  274. [clangd] Fix an assertion failure in TargetFinder's heuristic resolution of dependent type. (details)
  275. [MLIR][SPIRVToLLVM] Conversion patterns for GLSL ops (details)
  276. [Concepts] Fix a deserialization crash. (details)
  277. [SVE][CodeGen] At -O0 fallback to DAG ISel when translating alloca with scalable types (details)
  278. [Analyzer] Remove inclusion of uniqueing decl from diagnostic profile. (details)
  279. [MLIR][SPIRVToLLVM] Conversion for inverse sqrt and tanh (details)
  280. [PHIElimination] Fix the killed flag for LowerPHINode() (details)
  281. [MLIR][SPIRVToLLVM] Conversion of GLSL ops to LLVM intrinsics (details)
  282. [compiler-rt][cmake] Simplify COMPILER_RT_HAS_VERSION_SCRIPT tests (details)
  283. [IPConstProp] Regenerate check lines. (details)
  284. [flang] Fix multi-config generator builds. (details)
  285. [clang-tidy] Use StringMap for ClangTidyOptions::OptionsMap (details)
  286. [DAGCombiner] Fold sext_inreg of a masked load into a sign extended masked load (details)
  287. [DWARFYAML] Make the 'AddressSize', 'SegmentSelectorSize' fields optional. (details)
  288. [DWARFYAML] Make the 'Length' field of the address range table optional. (details)
  289. [clangd] findNearbyIdentifier(): fix the word search in the token stream. (details)
  290. [NFC] Failed cases for some patterns defined in DAGCombiner.cpp (details)
  291. [lldb] Don't use static locals for return value storage in some *AsCString functions (details)
  292. [AArch64] Add machine-combiner tests with instruction level FMFs. (details)
  293. [clangd] Implement Relations request for remote index (details)
  294. [X86][SSE] combineExtractWithShuffle - extend extract(truncate(x),0) for any source vector size (details)
  295. VectorUtils.h - reduce unnecessary includes. NFC. (details)
  296. [IPConstProp] Remove and move tests to SCCP. (details)
  297. [MLIR][Shape] Limit `shape.rank` lowering to its extent tensor variant (details)
  298. Revert "[IPConstProp] Remove and move tests to SCCP." (details)
  299. [flang] Expose specific to generic intrinsic name mapping (details)
  300. [mlir] Allow index as element type of memref (details)
  301. [MLIR] Introduce inter-procedural memref layout normalization (details)
  302. [MLIR] Don't pass separate LowerToLLVMOptions when we already pass a LLVMTypeConverter which contains those options already. (details)
  303. [mlir][shape] Use memref of index in shape lowering (details)
  304. [libc++] Add XFAIL for <float.h> and <cfloat> tests on older Clangs (details)
  305. [LoopVectorizer] Don't create unused block masks for reductions. NFC (details)
  306. [ConstantFolding] add tests for abs intrinsic; NFC (details)
  307. [XCOFF][AIX] Enable -ffunction-sections (details)
  308. [OPENMP]Fix PR46824: Global declare target pointer cannot be accessed in target region. (details)
  309. [flang] Create HostAssoc symbols for uplevel references (details)
  310. Speculative GCC 5 build fix (details)
  311. [PowerPC][AIX] Move the testcase to proper dir (details)
  312. Attributor.h - remove unnecessary includes. NFCI. (details)
  313. AMDGPU: Convert some tests to use new buffer intrinsics (details)
  314. [AArch64] Fix operand definitions of XPACI/XPACD (details)
  315. [AIX] Temporarily disable IncrementalProcessingTest partially (details)
  316. Revert "[OPENMP]Fix PR46824: Global declare target pointer cannot be accessed in target region." (details)
  317. [clangd] NFC: Spell out types in index callback arguments (details)
  318. [OPENMP]Fix PR46824: Global declare target pointer cannot be accessed in target region. (details)
  319. [OpenMP][IRBuilder] Support allocas in nested parallel regions (details)
  320. [OpenMP][FIX] Consistently use OpenMPIRBuilder if requested (details)
  321. [X86] Parse and ignore .arch directives (details)
  322. Align store conditional address (details)
  323. [lldb] Add SBCommandInterpreterRunOptions to LLDB.h (details)
  324. [clang-tidy] Fix ODR violation in unittests. (details)
  325. [libc++] Use generator expression in Linker script generation (details)
  326. [tsan] Fix the open and open64 interceptors to have correct declarations (variadic functions) (details)
  327. [AMDGPU/MemOpsCluster] Clean-up fixme's around mem ops clustering logic (details)
  328. [OpenMP][Docs] Mark `present` motion modifier as done (details)
  329. [PGO] Include the mem ops into the function hash. (details)
  330. [tsan] Fixup for 1260a155: Move variadic-open.cpp test into Darwin/ directory (details)
  331. [libc] Implements isdigit and isalnum. Adds a utility header to inline (details)
  332. [lldb][NFC][test] Fix comment referring to FileCheck instead of yaml2obj (details)
  333. [MLIR][OpenMP] Fix OpenMPIRBuilder usage after D82470 (details)
  334. [WebAssembly] Fix GCC 5 build. (details)
  335. [NewPM][PassInstrument] Add PrintPass callback to StandardInstrumentations (details)
  336. LoopUnroll.cpp - pass std::vector by const reference to needToInsertPhisForLCSSA helper. NFCI. (details)
  337. [lldb][test] Move registers-target-xml-reading target to the correct test location. (details)
  338. [lldb] Add copy ctor/assignment operator to SBCommandInterpreterRunOptions (details)
  339. [AMDGPU] Do not use undef on indirect source (details)
  340. [WebAssembly] Fixed 64-bit indices in br_table (details)
  341. Fix computeHostNumPhysicalCores() for Linux on POWER and Linux on Z (details)
  342. [InstCombine] update test checks; NFC (details)
  343. [mlir] NFC: Expose `getElementPtrType` and `getSizes` methods of AllocOpLowering. (details)
  344. [LAA] Avoid adding pointers to the checks if they are not needed. (details)
  345. [lldb/Test] Use self.assertIn in TestGdbRemoteTargetXmlPacket (details)
  346. [SCCP] Remove dead switch cases based on range information (details)
  347. [ELF] Add --dependency-file option (details)
  348. [flang] Fix an assert on duplicate initializations (details)
  349. [CMake][Fuchsia] Include additional tools in the toolchain (details)
  350. [CVP] Add tests for min/max/abs intrinsic comparisons (NFC) (details)
  351. [ConstantRange][CVP] Compute min/max/abs intrinsic ranges (details)
  352. [LLD] [Mingw] Don't export symbols from profile generate (details)
  353. [compiler-rt] [profile] fix profile generate for mingw x86_64 (details)
  354. [lldb/Docs] Add lldb-arm-ubuntu to the list of bots (details)
  355. [ConstantRange] Support abs with poison flag (details)
  356. [lldb/Docs] Remove stale bot on GreenDragon and add reproducer one (details)
  357. [SelectionDAG] Fix lowering of vector geps (details)
  358. [ConstantRange][CVP] Make use of abs poison flag (details)
  359. [lld-macho] Support __dso_handle for C++ (details)
  360. [lld-macho] Implement -headerpad (details)
  361. [lld-macho] Make __LINKEDIT sections contiguous (details)
  362. AMDGPU: Put inexpensive ops first in AMDGPUAnnotateUniformValues::visitLoadInst (details)
  363. [lld-macho] Add comment for literal argument (details)
  364. PR46908: Emit undef destroying_delete_t as an aggregate RValue. (details)
  365. [clang-tidy][NFC] Use StringMap for ClangTidyCheckFactories::FacoryMap (details)
  366. [mlir][spirv] Add support for converting memref of vector to SPIR-V (details)
  367. AMDGPU: Fix liveness errors when copying AGPR tuples (details)
  368. [MLIR][NFC] Add SymbolUse::UseRange::empty() (details)
  369. [COFF] Port CallGraphSort to COFF from ELF (details)
  370. [JITLink] Allow JITLinkContext::notifyResolved to return an Error. (details)
  371. [llvm-jitlink] Add -harness option to llvm-jitlink. (details)
  372. [gn build] Port 763671f387f (details)
  373. [clang codegen][AArch64] Use llvm.aarch64.neon.fcvtzs/u where it's necessary (details)
  374. [libc] Add a tool called WrapperGen. (details)
  375. [doc] Describe the header guard style (details)
  376. [AArch64][GlobalISel] Add legalization & selection support for G_INTRINSIC_LRINT. (details)
  377. [LegalizeTypes][SVE] Support widen/split legalization for SPLAT_VECTOR (details)
  378. [debugserver/Apple Silicon] Handoff connections when attaching to translated processes (details)
  379. [profile] Remove dependence on getpagesize from InstrProfilingBuffer.c.o (details)
  380. [ValueTracking] Add basic computeKnownBits support for llvm.abs intrinsic (details)
  381. [Attributor] Add time trace support. (details)
  382. [X86] Separate CPU Feature lists in X86.td between architecture features and tuning features (details)
  383. [X86] Fix for ballooning compile times due to Load Value Injection (LVI) mitigations (details)
  384. [NFC][AMDGPU] Improve fused fmul+fadd tests. (details)
  385. [OpenMP] Refactored the function `target` (details)
  386. [NFC] Move findAllocaForValue into ValueTracking.h (details)
  387. [OpenMP] Refactored the function `targetDataEnd` (details)
  388. [ValueTracking] Remove AllocaForValue parameter (details)
  389. [flang] Fixes for RESHAPE() (details)
  390. [NewPM] Don't print 'Invalidating all non-preserved analyses' (details)
  391. [tbaa] Rename type-based-aa -> tbaa (details)
  392. [X86] Pass the OperandVector by reference to ParseIntelOperand and ParseRoundingMode. NFCI (details)
  393. [test] Fix thinlto-distributed-newpm.ll (details)
  394. Make a test case more flexible on Windows wrt the number of backslashes. (details)
  395. [NFC] GetUnderlyingObject -> getUnderlyingObject (details)
  396. debguserver's type sniffer to only treat .app things that end in .app (details)
  397. Fix a crash when the sample profile uses md5 and -sample-profile-merge-inlinee (details)
  398. [SimpleLoopUnswitch] Drop make.implicit metadata in case of non-trivial unswitching (details)
  399. [SimpleLoopUnswitch] Preserve make.implicit in non-trivial unswitch if legal (details)
  400. [X86] Remove x86_sse42_crc32_64_64 from X86TTIImpl::simplifyDemandedUseBitsIntrinsic (details)
  401. [JITLink] Use correct Addressable constructor. (details)
  402. [JumpThreading] Add a test for D84944 ; NFC (details)
  403. [MC] Support infix operator ! (details)
  404. [JumpThreading] Let SimplifyPartiallyRedundantLoad look into freeze (details)
  405. [Driver] Render -e for Gnu.cpp (details)
  406. [Driver] Exclude options::LinkerInput for GCC linking (details)
  407. [PowerPC] Retrieve the offset from load/store if it stores to stack slots (details)
  408. Revert "[ELF] Add --dependency-file option" (details)
  409. [flang] Fix CMPLX folding with complex arguments (details)
  410. [analyzer] Fix out-of-tree only clang build by not relaying on private header (details)
  411. [mlir] Add TFFramework dialect to DialectSymbolRegistry. (details)
  412. [NFC] Remove unused GetUnderlyingObject paramenter (details)
  413. [clangd] Propagate remote index errors via Expected (details)
  414. [clang][Syntax] syntax::Arena doesnt own TokenBuffer (details)
  415. [OpenMP] Use weak attribute in interface only for static library (details)
  416. [mlir][Linalg] Conv {1,2,3}D ops defined with TC syntax (details)
  417. [Sanitizers] Fix lint failure with Python 3.6 (details)
  418. [clangd] Fix remote index build on macOS (details)
  419. [DWARFYAML] Add emitDebug[GNU]Pub[names/types] functions. NFC. (details)
  420. [DWARFYAML] Add helper function getDWARFEmitterByName(). NFC. (details)
  421. [DWARFYAML] Make the debug_aranges entry optional. (details)
  422. [clang-tidy] Fix build problem after commit 45a720a864320bbbeb596a (details)
  423. [clangd] Be more explicit on testing the optional DefLoc in LocatedSymbol. (details)
  424. DR2303: Prefer 'nearer' base classes during template deduction. (details)
  425. [MLIR,OpenMP][NFCI] Removed loop for accessing regions of ParallelOp (details)
  426. [gn build] (manually) merge 63d3aeb529 (details)
  427. [MLIR][Shape] Allow unsafe `shape.broadcast` (details)
  428. Support addrspacecast initializers with isNoopAddrSpaceCast (details)
  429. [flang] Make interactive behaviour more obvious (details)
  430. [flang] Add details to --help screen on default behaviour (details)
  431. [flang] Add -h as a synonym for help (details)
  432. [mlir][spirv] Relax restriction on pointer type for CooperativeMatrix load/store (details)
  433. [libc++] Fix eager generator expression in DefineLinkerScript (details)
  434. Add flang to export.sh to it gets source tarballs in releases (details)
  435. Hide some internal symbols. NFC. (details)
  436. [DWARFYAML][debug_aranges] Use yaml::Hex64 rather than uint64_t as length. NFC. (details)
  437. [PowerPC] Implement low-order Vector Modulus Builtins, and add Vector Multiply/Divide/Modulus Builtins Tests (details)
  438. [llvm-libtool-darwin] Refactor Slice and writeUniversalBinary (details)
  439. [gn build] Port df69492cdfa (details)
  440. [AutoFDO] Avoid merging inlinee samples multiple times (details)
  441. [PGO][test] Add test to check memops changes function hash (details)
  442. [X86][SSE] Cleanup bitwise reduction check prefixes. NFC (details)
  443. Disable getauxval for Go (details)
  444. [GISel] Add combiners for G_INTTOPTR and G_PTRTOINT (details)
  445. [SCEVExpander] Name temporary instructions for LCSSA insertion (NFC). (details)
  446. [PowerPC] Add Vector String Isolate instruction definitions and MC Tests (details)
  447. [Support][CommandLine] Delete unused llvm::cl::ParseEnvrironmentOptions (details)
  448. [ThinLTO] Compile time improvement to propagateAttributes (details)
  449. [lldb/Test] Reduce code duplication by importing subprocess globally (details)
  450. [Flang] Checks for constraint C7110-C7115. (details)
  451. [ValueTracking] Add ComputeNumSignBits support for llvm.abs intrinsic (details)
  452. [OpenMP][docs] Update loop tiling status. (details)
  453. [libunwind] Add -Wno-suggest-override to CMakeLists.txt. (details)
  454. [libc] Add islower and isupper implementation. (details)
  455. RuntimeDyldELF: report_fatal_error instead of asserting for unimplemented relocations (PR46816) (details)
  456. [ConstantFolding] fold abs intrinsic (details)
  457. Revert "[flang] Fix multi-config generator builds." (details)
  458. [flang]Verify C7107, C7108, C7109 from - Clause 7 constraint checks for f18. (details)
  459. [Support] Fix computeHostNumPhysicalCores() to respect affinity (details)
  460. [libc++] Avoid including <Block.h> from <functional> (details)
  461. [flang][NFC] Verify C781 from - Clause 7 constraint checks for f18. (details)
  462. [flang][OpenMP] Added initial support for lowering OpenMP  parallel construct (details)
  463. [Loop Peeling] Separate the Loop Peeling Utilities from the Loop Unrolling Utilities (details)
  464. [gn build] Port b7cfa6ca928 (details)
  465. [libc] Adds strrchr implementation. (details)
  466. [compiler-rt][Darwin] Fix GetOSMajorKernelOffset() on watchOS (details)
  467. Rename basic block sections options to be consistent. (details)
  468. [libc] [obvious] Add rest of strrchr test. (details)
  469. New test for basic block sections options. (details)
  470. Fix a test typo which caused a breakage. (details)
  471. [clang] Use the location of the void parameters when complaining that only a single void parameter should be present. (details)
  472. [lldb] force full gui redraw on Ctrl+L (details)
  473. [lldb] report an error if a CLI option lacks an argument (details)
  474. [MLIR][NFC] Add FuncOp::getArgumentTypes() (details)
  475. [mlir][PassIncGen] Refactor how pass registration is generated (details)
  476. [mlir] Add shape.with_shape op (details)
  477. Convert to early exit (NFC) (details)
  478. Updated the -I option description. (details)
  479. [InstSimplify] add tests for abs intrinsic; NFC (details)
  480. [OpenMP] Fixed the issue that target memory deallocation might be called when they're being used (details)
  481. [ValueTracking] Improve llvm.abs handling in computeKnownBits. (details)
  482. Upgrade MC to v0.9. (details)
  483. Support experimental v extension v0.9. (details)
  484. [compiler-rt][Darwin] Fix linker errors for check-asan (details)
  485. [libc] [obvious] Fix strchr and strrchr tests so that constness is (details)
  486. [libc] [obvious] In strrchr, remove cast to unsigned char before (details)
  487. [X86] Simplify vpternlog immediate selection. (details)
  488. Don't crash if we deserialize a pack expansion type whose pattern (details)
  489. [AArch64][SVE] Allow vector of pointers as legal type for masked load/store. (details)
  490. [clang-tidy][NFC] Added convienence methods for getting optional options (details)
  491. [VE] Change calling convention to follow ABI (details)
  492. PowerPC: Fix SPE extloadf32 handling. (details)
  493. PowerPC: Don't lower SELECT_CC to PPCISD::FSEL on SPE (details)
  494. [X86] Use TargetLowering::getRegClassFor to simplify some code in tryVPTESTM. NFCI (details)
  495. [SCEV] don't query getSCEV() for incomplete phis (details)
  496. [X86] Refactor the broadcast and load folding in tryVPTESTM to reduce some code. (details)
  497. [clang-tidy] readability-identifier-naming checks configs for included files (details)
  498. [MachineVerifier] Refactor calcRegsPassed. NFC (details)
  499. [clang-tidy][NFC] Small refactor (details)
  500. [X86][AVX] Extend v2f64 BROADCAST(LOAD) -> BROADCAST_LOAD to v2i64/v4f32/v4i32 (details)
  501. [InstSimplify] add abs test with assume; NFC (details)
  502. [InstSimplify] simplify abs if operand is known non-negative (details)
  503. [mlir][Vector] Simplify code a bit. NFCI. (details)
  504. [ARM] Distribute post-inc for Thumb2 sign/zero extending loads/stores (details)
  505. [Attributor][NFC] Update description for the dependency graph (details)
Commit 6784d82d5b859cc14a63358d34ed50e6e2f9bf43 by Xing
[DWARFYAML] Rename checkListEntryOperands() to checkOperandCount(). NFC.

This patch renames checkListEntryOperands() to checkOperandCount(), so
that we are able to check DWARF expression operands using the same
function.

Reviewed By: jhenderson, labath

Differential Revision: https://reviews.llvm.org/D84624
The file was modifiedllvm/lib/ObjectYAML/DWARFEmitter.cpp
Commit ca0bf440dbf9977340db4a32ba61740930c2be03 by aperry
Order of libraries and source files in the f18 frontend

When the f18 frontend calls the link editor, put the libraries and object files in the correct order.

Fixes the issues reported here https://github.com/flang-compiler/flang/issues/897

Reviewed By: sscalpone, AlexisPerry

Differential Revision: https://reviews.llvm.org/D84340
The file was modifiedflang/tools/f18/f18.cpp
Commit be2ea29ee16bc132626cba07559e9f023ad6ac13 by flo
[SCEV] Add additional tests.

Increase test coverage for upcoming changes to how SCEV deals with LCSSA
phis.
The file was addedllvm/test/Analysis/ScalarEvolution/trivial-phis.ll
The file was addedllvm/test/Transforms/LoopStrengthReduce/scev-expander-lcssa.ll
The file was modifiedllvm/test/Transforms/LoopStrengthReduce/funclet.ll
The file was addedllvm/test/Transforms/IndVarSimplify/scev-expander-preserve-lcssa.ll
Commit a4edc04693f76eec9068db0556d6533e4c201d74 by Matthew.Arsenault
AMDGPU/GlobalISel: Use clamp modifier for [us]addsat/[us]subsat

We also have never handled this for SelectionDAG, which needs
additional work.
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-saddsat.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-ssubsat.mir
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUGISel.td
The file was modifiedllvm/lib/Target/AMDGPU/VOP3PInstructions.td
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/usubsat.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/uaddsat.ll
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUSubtarget.h
The file was modifiedllvm/lib/Target/AMDGPU/VOPInstructions.td
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-usubsat.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-uaddsat.mir
The file was modifiedllvm/lib/Target/AMDGPU/VOP2Instructions.td
The file was modifiedllvm/lib/Target/AMDGPU/VOP3Instructions.td
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/ssubsat.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/saddsat.ll
Commit dfcc09890a91b1085139fee175936b0e67824e47 by frgossen
[MLIR][Shape] Lower `shape.const_shape` to `tensor_from_elements`

Differential Revision: https://reviews.llvm.org/D82848
The file was modifiedmlir/test/Conversion/ShapeToStandard/shape-to-standard.mlir
The file was modifiedmlir/lib/Conversion/ShapeToStandard/ShapeToStandard.cpp
Commit bb23b5cfe0c4391576541ffe8a4f966155d2b608 by Matthew.Arsenault
AMDGPU/GlobalISel: Merge identical select cases
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
Commit 16bcd54570328c90182edb56d4593ff19207cbc7 by Matthew.Arsenault
AMDGPU/GlobalISel: Mark GlobalISel classes as final
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.h
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.h
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.h
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUPreLegalizerCombiner.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUCallLowering.h
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPURegBankCombiner.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUPostLegalizerCombiner.cpp
Commit 97b5fb78d137a44bec104ba073dd620008ed7abb by Matthew.Arsenault
GlobalISel: Translate llvm.convert.{to|from}.fp16 intrinsics

I think these were added as a workaround for SelectionDAG lacking half
legalization support in the past. I think they should probably be
removed from the IR, but clang does still have a target control to
emit these instead of the native half fpext/fptrunc.
The file was modifiedllvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
The file was addedllvm/test/CodeGen/AArch64/GlobalISel/irtranslator-convert-fp16-intrinsics.ll
Commit 736423af53d707e097a174c3a91b75132b8dc6b1 by jonathan_roelofs
[OldPM] Print out a bit more when passes lie about changing IR

https://reviews.llvm.org/D84686
The file was modifiedllvm/lib/IR/LegacyPassManager.cpp
Commit 2ca6c422d2d025821390260232307567191a7deb by aeubanks
[FunctionAttrs] Rename functionattrs -> function-attrs

To match NewPM pass name, and also for readability.
Also rename rpo-functionattrs -> rpo-function-attrs while we're here.

Reviewed By: arsenm

Differential Revision: https://reviews.llvm.org/D84694
The file was modifiedllvm/test/Transforms/FunctionAttrs/2008-09-03-ReadNone.ll
The file was modifiedllvm/test/Transforms/IndVarSimplify/pr38855.ll
The file was modifiedllvm/test/Transforms/FunctionAttrs/2010-10-30-volatile.ll
The file was modifiedllvm/test/Transforms/FunctionAttrs/nonnull.ll
The file was modifiedllvm/test/Transforms/FunctionAttrs/operand-bundles-scc.ll
The file was modifiedllvm/test/Transforms/FunctionAttrs/nonnull-global.ll
The file was modifiedllvm/test/Transforms/FunctionAttrs/nocapture.ll
The file was modifiedllvm/test/Transforms/Inline/delete-call.ll
The file was modifiedllvm/test/Analysis/alias-analysis-uses.ll
The file was modifiedllvm/test/Transforms/GlobalDCE/crash-assertingvh.ll
The file was modifiedllvm/test/Transforms/FunctionAttrs/2009-01-02-LocalStores.ll
The file was modifiedllvm/test/Transforms/FunctionAttrs/2008-09-03-ReadOnly.ll
The file was modifiedllvm/test/Transforms/FunctionAttrs/readattrs.ll
The file was modifiedllvm/test/Transforms/FunctionAttrs/optnone.ll
The file was modifiedllvm/test/Transforms/FunctionAttrs/naked_functions.ll
The file was modifiedllvm/docs/Passes.rst
The file was modifiedllvm/lib/Target/README.txt
The file was modifiedllvm/test/Feature/OperandBundles/function-attrs.ll
The file was modifiedllvm/test/Transforms/FunctionAttrs/assume.ll
The file was modifiedllvm/test/Transforms/LoopUnswitch/2012-04-30-LoopUnswitch-LPad-Crash.ll
The file was modifiedllvm/test/Transforms/FunctionAttrs/2008-09-13-VolatileRead.ll
The file was modifiedllvm/test/Transforms/FunctionAttrs/2008-09-03-Mutual.ll
The file was modifiedllvm/test/Transforms/FunctionAttrs/nofree-attributor.ll
The file was modifiedllvm/test/Transforms/FunctionAttrs/read-write-scc.ll
The file was modifiedllvm/test/Transforms/Reassociate/reassociate-deadinst.ll
The file was modifiedllvm/test/Transforms/FunctionAttrs/out-of-bounds-iterator-bug.ll
The file was modifiedllvm/test/Feature/OperandBundles/pr26510.ll
The file was modifiedllvm/test/DebugInfo/check-debugify-preserves-analyses.ll
The file was modifiedllvm/test/Transforms/FunctionAttrs/writeonly.ll
The file was modifiedllvm/test/Transforms/InstCombine/2009-02-11-NotInitialized.ll
The file was modifiedllvm/test/Transforms/FunctionAttrs/norecurse.ll
The file was modifiedllvm/test/Transforms/FunctionAttrs/readnone.ll
The file was modifiedllvm/test/Transforms/FunctionAttrs/comdat-ipo.ll
The file was modifiedllvm/test/Analysis/MemorySSA/pr39197.ll
The file was modifiedllvm/test/Transforms/FunctionAttrs/nounwind.ll
The file was modifiedllvm/test/Transforms/SimpleLoopUnswitch/2012-04-30-LoopUnswitch-LPad-Crash.ll
The file was modifiedllvm/test/Transforms/FunctionAttrs/int_sideeffect.ll
The file was modifiedllvm/lib/Passes/PassRegistry.def
The file was modifiedllvm/test/Transforms/FunctionAttrs/convergent.ll
The file was modifiedllvm/lib/Transforms/IPO/FunctionAttrs.cpp
The file was modifiedllvm/test/Analysis/TypeBasedAliasAnalysis/functionattrs.ll
The file was modifiedllvm/test/Transforms/FunctionAttrs/2008-12-29-Constant.ll
The file was modifiedllvm/test/Transforms/FunctionAttrs/arg_returned.ll
The file was modifiedllvm/test/Transforms/FunctionAttrs/atomic.ll
The file was modifiedllvm/test/Transforms/FunctionAttrs/incompatible_fn_attrs.ll
The file was modifiedllvm/test/Transforms/FunctionAttrs/nofree.ll
The file was modifiedllvm/test/Transforms/FunctionAttrs/returned.ll
Commit 9b1539be406da714ab7cbb379575f67d82b874b2 by aeubanks
[NewPM][Sancov] Pin RUN lines with -sancov to legacy PM

Since the NPM pass is named sancov-module, not sancov.
This makes all tests under Instrumentation/SanitizerCoverage pass when
-enable-new-pm is on by default.

Reviewed By: vitalybuka

Differential Revision: https://reviews.llvm.org/D84687
The file was modifiedllvm/test/Instrumentation/SanitizerCoverage/coff-comdat.ll
The file was modifiedllvm/test/Instrumentation/SanitizerCoverage/coverage-dbg.ll
The file was modifiedllvm/test/Instrumentation/SanitizerCoverage/coverage.ll
The file was modifiedllvm/test/Instrumentation/SanitizerCoverage/trace-pc-guard-comdat.ll
The file was modifiedllvm/test/Instrumentation/SanitizerCoverage/trace-pc-guard-inline-bool-flag.ll
The file was modifiedllvm/test/Instrumentation/SanitizerCoverage/seh.ll
The file was modifiedllvm/test/Instrumentation/SanitizerCoverage/tracing-comdat.ll
The file was modifiedllvm/test/Instrumentation/SanitizerCoverage/inline-bool-flag.ll
The file was modifiedllvm/test/Instrumentation/SanitizerCoverage/pc-table.ll
The file was modifiedllvm/test/Instrumentation/SanitizerCoverage/no-func.ll
The file was modifiedllvm/test/Instrumentation/SanitizerCoverage/postdominator_check.ll
The file was modifiedllvm/test/Instrumentation/SanitizerCoverage/cmp-tracing-api-x86_64.ll
The file was modifiedllvm/test/Instrumentation/SanitizerCoverage/stack-depth-variable-declared-by-user.ll
The file was modifiedllvm/test/Instrumentation/SanitizerCoverage/coverage2-dbg.ll
The file was modifiedllvm/test/Instrumentation/SanitizerCoverage/tracing.ll
The file was modifiedllvm/test/Instrumentation/SanitizerCoverage/wineh.ll
The file was modifiedllvm/test/Instrumentation/SanitizerCoverage/cmp-tracing-api-x86_32.ll
The file was modifiedllvm/test/Instrumentation/SanitizerCoverage/div-tracing.ll
The file was modifiedllvm/test/Instrumentation/SanitizerCoverage/chains.ll
The file was modifiedllvm/test/Instrumentation/SanitizerCoverage/coff-pc-table-inline-8bit-counters.ll
The file was modifiedllvm/test/Instrumentation/SanitizerCoverage/switch-tracing.ll
The file was modifiedllvm/test/Instrumentation/SanitizerCoverage/trace-pc-guard-inline-8bit-counters.ll
The file was modifiedllvm/test/Instrumentation/SanitizerCoverage/cmp-tracing.ll
The file was modifiedllvm/test/Instrumentation/SanitizerCoverage/interposable-symbol-nocomdat.ll
The file was modifiedllvm/test/Instrumentation/SanitizerCoverage/trace-pc-guard-nocomdat.ll
The file was modifiedllvm/test/Instrumentation/SanitizerCoverage/abort-in-entry-block.ll
The file was modifiedllvm/test/Instrumentation/SanitizerCoverage/gep-tracing.ll
The file was modifiedllvm/test/Instrumentation/SanitizerCoverage/backedge-pruning.ll
The file was modifiedllvm/test/Instrumentation/SanitizerCoverage/inline-8bit-counters.ll
The file was modifiedllvm/test/Instrumentation/SanitizerCoverage/coff-pc-table-inline-bool-flag.ll
The file was modifiedllvm/test/Instrumentation/SanitizerCoverage/coff-used-ctor.ll
The file was modifiedllvm/test/Instrumentation/SanitizerCoverage/stack-depth.ll
The file was modifiedllvm/test/Instrumentation/SanitizerCoverage/unreachable-critedge.ll
The file was modifiedllvm/test/Instrumentation/SanitizerCoverage/const-cmp-tracing.ll
Commit 46ebb619bf0fb98d94175dca2a06ead27318002f by hoy
[FIX] Resolve test failure in polly/test/ScopInfo/memcpy-raw-source.ll

scoped-noalias -> scoped-noalias-aa

reference: https://reviews.llvm.org/D84542

Reviewed By: aeubanks

Differential Revision: https://reviews.llvm.org/D84720
The file was modifiedpolly/test/ScopInfo/memcpy-raw-source.ll
Commit 8b2fcc42b895575d46dbd9252df566938cf68a69 by aeubanks
[CompilerRT] Don't pass global compile test flags in non-standalone build

In a build with -DLLVM_ENABLE_LTO=Thin:

$ ninja TSanitizer-x86_64-Test-Nolibc
[1/1] Generating Sanitizer-x86_64-Test-Nolibc
FAILED: projects/compiler-rt/lib/sanitizer_common/tests/Sanitizer-x86_64-Test-Nolibc
sanitizer_nolibc_test_main.x86_64.o: file not recognized: file format not recognized

because -flto=thin is getting passed to the clang_compile step.

For non-standalone builds, global compilation flags shouldn't be passed to compiler-rt tests, only the flags the test specifies.

Reviewed By: vitalybuka

Differential Revision: https://reviews.llvm.org/D84466
The file was modifiedcompiler-rt/cmake/Modules/CompilerRTCompile.cmake
Commit 3fb0de820796cc6e322c8378713d375d9870a353 by julian.lettner
[Darwin] Fix OS version checks inside simulators

compiler-rt checks OS versions by querying the Darwin kernel version.
This is not necessarily correct inside the simulators if the simulator
runtime is not aligned with the host macOS.  Let's instead check the
`SIMULATOR_RUNTIME_VERSION` env var.

rdar://63031937

Reviewed By: delcypher

Differential Revision: https://reviews.llvm.org/D83977
The file was modifiedcompiler-rt/lib/sanitizer_common/tests/sanitizer_mac_test.cpp
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_mac.cpp
Commit 0c64233bb7ae760d36a0af3a22324810787fa4ca by anna.welker
[ARM][MVE] Teach MVEGatherScatterLowering to merge successive getelementpointers

A patch following up on the introduction of pointer induction variables, adding
a preprocessing step to the address optimisation in the MVEGatherScatterLowering
pass. If the getelementpointer that is the address is itself using a
getelementpointer as base, they will be merged into one by summing up the
offsets, after checking that this will not cause an overflow (this can be
repeated recursively).

Differential Revision: https://reviews.llvm.org/D84027
The file was modifiedllvm/test/CodeGen/Thumb2/mve-scatter-ind8-unscaled.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-scatter-ind32-scaled.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-gather-ind32-scaled.ll
The file was modifiedllvm/lib/Target/ARM/MVEGatherScatterLowering.cpp
The file was modifiedllvm/test/CodeGen/Thumb2/mve-gather-ind16-scaled.ll
The file was addedllvm/test/CodeGen/Thumb2/mve-gather-scatter-ptr-address.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-scatter-ind16-scaled.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-gather-ind8-unscaled.ll
Commit bd4757cc4e40cb1b916c2c39f7bac8abc5adc294 by aktoon
[ELF] --reproduce should include lto sample profile

Reviewed By: MaskRay

Differential Revision: https://reviews.llvm.org/D84569
The file was addedlld/test/ELF/reproduce-lto.s
The file was modifiedlld/ELF/Driver.cpp
Commit 12f27fc4b505da848a06b37488c5717bf9e3b85d by julian.lettner
[Darwin] Cleanup code via improved GetMacosAlignedVersion()

Checking the OS version via `GetMacosAlignedVersion()` now works in
simulators [1].  Let's use it to simplify `DyldNeedsEnvVariable()`.

[1] 3fb0de820796cc6e322c8378713d375d9870a353

Reviewed By: delcypher

Differential Revision: https://reviews.llvm.org/D81197
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_mac.h
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_mac.cpp
Commit f761acfb1a737d8a631a5e55b58cdb7c2215baad by vince.a.bridgers
[ASTImporter] Add Visitor for TypedefNameDecl's

We found a case where Typedef Name Declarations were not being added
correctly when importing builtin types. This exposed the need for a
TypedefNameDecl visitor so these types can be added by RecordDecl and
fields.

This code is covered by the ASTImporterTest cases that use the implicit
struct __NSConstantString_tag definitions.

Thanks to @martong for the debugging assist!

Depends on D83970.

Reviewed By: martong

Differential Revision: https://reviews.llvm.org/D83992
The file was addedclang/test/Analysis/ctu-implicit.c
The file was addedclang/test/Analysis/Inputs/ctu-import.c.externalDefMap.ast-dump.txt
The file was modifiedclang/lib/AST/ASTImporterLookupTable.cpp
The file was addedclang/test/Analysis/Inputs/ctu-import.c
Commit 4853a86022feee1b16249cc7a0ea12c842fa5986 by jezng
[lld-macho] Support -filelist

XCode passes files in using this flag

Reviewed By: #lld-macho, compnerd

Differential Revision: https://reviews.llvm.org/D84486
The file was addedlld/test/MachO/filelist.s
The file was modifiedlld/MachO/Driver.cpp
The file was addedlld/test/MachO/invalid/no-filelist.s
Commit d32e32500f92602ccedcf967df2915da6f3803d2 by jezng
[lld-macho] Fix segment filesize calculation

The previous approach of adding up the file sizes of the
component sections ignored the fact that the sections did not have to be
contiguous in the file. As such, it was underestimating the true size.

I discovered this issue because `codesign` checks whether `__LINKEDIT`
extends to the end of the file. Since we were underestimating segment
sizes, this check failed.

Reviewed By: #lld-macho, compnerd

Differential Revision: https://reviews.llvm.org/D84574
The file was modifiedlld/MachO/Writer.cpp
The file was modifiedlld/test/MachO/section-headers.s
The file was modifiedlld/test/MachO/segments.s
Commit 4b56238b136ba88b9e7794deca86bab7ccbe3ae3 by Louis Dionne
NFC: Add whitespace changing revisions to .git-blame-ignore-revs
The file was modified.git-blame-ignore-revs
Commit 64cdd5b3da1abce63838bfc5bd32398c834a32e3 by ntv
[mlir][Vector] Drop declarative transforms

For the purpose of vector transforms, the Tablegen-based infra is subsumed by simple C++ pattern application. Deprecate declarative transforms whose complexity does not pay for itself.

Differential Revision: https://reviews.llvm.org/D84753
The file was removedmlir/test/lib/DeclarativeTransforms/TestVectorTransformPatterns.td
The file was modifiedmlir/include/mlir/Dialect/Vector/CMakeLists.txt
The file was modifiedmlir/test/lib/Transforms/CMakeLists.txt
The file was modifiedmlir/lib/Dialect/Vector/CMakeLists.txt
The file was removedmlir/test/lib/DeclarativeTransforms/CMakeLists.txt
The file was removedmlir/include/mlir/Dialect/Vector/VectorTransformPatterns.td
The file was modifiedmlir/test/lib/CMakeLists.txt
The file was removedmlir/test/lib/DeclarativeTransforms/lit.local.cfg
The file was modifiedmlir/test/lib/Transforms/TestVectorTransforms.cpp
Commit 4887495a3e0b97de4e38232e9f65b9454434a818 by aqjune
[JumpThreading] Add tests that have a cast of freeze and vice versa
The file was modifiedllvm/test/Transforms/JumpThreading/freeze.ll
Commit 04a21318b55756d50836f6e40f2d209f18cce417 by yitzhakm
[libTooling] Add a `between` range-selector combinator.

Adds the `between` combinator and registers it with the parser. As a driveby, updates some deprecated names to their current versions.

Reviewed By: gribozavr2

Differential Revision: https://reviews.llvm.org/D84315
The file was modifiedclang/lib/Tooling/Transformer/Parsing.cpp
The file was modifiedclang/include/clang/Tooling/Transformer/RangeSelector.h
The file was modifiedclang/unittests/Tooling/RangeSelectorTest.cpp
Commit 6c3dc6e1d57d15568ebcb3b725fa65a7ba4462de by craig.topper
[X86] Merge disp8 and cdisp8 handling into a single helper function to reduce some code.

We currently handle EVEX and non-EVEX separately in two places. By sinking the EVEX
check into the existing helper for CDisp8 we can simplify these two places.

Differential Revision: https://reviews.llvm.org/D84730
The file was modifiedllvm/lib/Target/X86/MCTargetDesc/X86MCCodeEmitter.cpp
Commit 91b8c1fd0f31a548b75acb3de4dbee09847e19e5 by craig.topper
[X86] Simplify some code in emitMemModRMByte. NFCI
The file was modifiedllvm/lib/Target/X86/MCTargetDesc/X86MCCodeEmitter.cpp
Commit a5b89c285329dbf160d501bf81fcc3765fde219d by jezng
[lld-macho] Fix no-filelist test on Windows
The file was modifiedlld/test/MachO/invalid/no-filelist.s
Commit acca2980a33e182dd6f4c71554ff2130f260463e by sivachandra
[libc][obvious] Move ErrnoSetterMatcher to test/ErrnoSetterMetcher.h.
The file was modifiedlibc/test/src/signal/signal_test.cpp
The file was modifiedlibc/test/src/signal/sigdelset_test.cpp
The file was addedlibc/test/ErrnoSetterMatcher.h
The file was modifiedlibc/test/src/signal/sigaction_test.cpp
The file was modifiedlibc/test/CMakeLists.txt
The file was modifiedlibc/test/src/signal/sigaddset_test.cpp
The file was modifiedlibc/test/src/signal/sigfillset_test.cpp
The file was modifiedlibc/test/src/signal/sigprocmask_test.cpp
The file was modifiedlibc/test/src/sys/mman/linux/CMakeLists.txt
The file was modifiedlibc/test/src/unistd/CMakeLists.txt
The file was modifiedlibc/test/src/unistd/write_test.cpp
The file was removedlibc/utils/UnitTest/ErrnoSetterMatcher.h
The file was modifiedlibc/test/src/signal/CMakeLists.txt
The file was modifiedlibc/test/src/sys/mman/linux/mmap_test.cpp
The file was modifiedlibc/utils/UnitTest/CMakeLists.txt
Commit 5608f28f552793d115a7f8682559ab053f961924 by Jonas Devlieghere
[lldb] Change the definition of ANSI_UNFAINT

Change the definition of ANSI_UNFAINT in Editline.cpp.

Differential revision: https://reviews.llvm.org/D84695
The file was modifiedlldb/source/Host/common/Editline.cpp
Commit 745eb02496b515cc8292dd7f9d7f0db43e162013 by martin
[LLD] [MinGW] Implement the --no-seh flag

Previously this flag was just ignored. If set, set the
IMAGE_DLL_CHARACTERISTICS_NO_SEH bit, regardless of the normal safeSEH
machinery.

In mingw configurations, the safeSEH bit might not be set in e.g. object
files built from handwritten assembly, making it impossible to use the
normal safeseh flag. As mingw setups don't generally use SEH on 32 bit
x86 at all, it should be fine to set that flag bit though - hook up
the existing GNU ld flag for controlling that.

Differential Revision: https://reviews.llvm.org/D84701
The file was modifiedlld/MinGW/Driver.cpp
The file was addedlld/test/COFF/noseh.s
The file was modifiedlld/COFF/Config.h
The file was modifiedlld/COFF/Driver.cpp
The file was modifiedlld/test/MinGW/driver.test
The file was modifiedlld/COFF/Options.td
The file was modifiedlld/MinGW/Options.td
The file was modifiedlld/COFF/Writer.cpp
Commit 4c9af6d0e001bf76007527899df7a9d8860c9a5a by aqjune
[JumpThreading] Add a basic support for freeze instruction

This patch adds a basic support for freeze instruction to JumpThreading
by making ComputeValueKnownInPredecessorsImpl look into its operand.

Reviewed By: efriedma, nikic

Differential Revision: https://reviews.llvm.org/D84598
The file was modifiedllvm/lib/Transforms/Scalar/JumpThreading.cpp
The file was modifiedllvm/test/Transforms/JumpThreading/freeze.ll
Commit 394db2259575ef3cac8d3d37836b11eb2373c435 by akhuang
Revert "Switch to using -debug-info-kind=constructor as default (from =limited)"

This reverts commit 227db86a1b7dd6f96f7df14890fcd071bc4fe1f5.

Causing debug info errors in google3 LTO builds; also causes a
debuginfo-test failure.
The file was modifiedclang/test/Driver/split-debug.c
The file was modifiedclang/test/Driver/openmp-offload-gpu.c
The file was modifiedclang/test/Driver/clang-g-opts.c
The file was modifiedclang/test/Driver/cuda-dwarf-2.cu
The file was modifiedclang/test/Driver/cl-options.c
The file was modifiedclang/test/Driver/integrated-as.s
The file was modifiedlldb/test/Shell/SymbolFile/PDB/Inputs/ClassLayoutTest.cpp
The file was modifiedclang/test/Driver/debug-options.c
The file was modifiedclang/lib/Driver/ToolChains/Clang.cpp
The file was modifiedclang/test/Driver/myriad-toolchain.c
The file was modifiedclang/test/Driver/debug-options-as.c
Commit 834133c950fce120d0378d09718d32a320cbcd72 by diego.caballero
[MLIR] Vector store to load forwarding

The MemRefDataFlow pass does store to load forwarding
only for affine store/loads. This patch updates the pass
to use affine read/write interface which enables vector
forwarding.

Reviewed By: dcaballe, bondhugula, ftynse

Differential Revision: https://reviews.llvm.org/D84302
The file was modifiedmlir/include/mlir/Dialect/Affine/IR/AffineMemoryOpInterfaces.td
The file was modifiedmlir/include/mlir/Dialect/Affine/IR/AffineOps.td
The file was modifiedmlir/test/Transforms/memref-dataflow-opt.mlir
The file was modifiedmlir/lib/Transforms/MemRefDataFlowOpt.cpp
Commit adeeac9d5a322a751011d4624152317cb43419d9 by Austin.Kerbow
[AMDGPU] Spill CSR VGPR which is reserved for SGPR spills

Update logic for reserving VGPR for SGPR spills. A CSR VGPR being reserved for
SGPR spills could be clobbered if there were no free lower VGPR's available.
Create a stack object so that it will be spilled in the prologue. Also
adds more tests.

Differential Revision: https://reviews.llvm.org/D83730
The file was modifiedllvm/test/CodeGen/AMDGPU/reserve-vgpr-for-sgpr-spill.ll
The file was modifiedllvm/lib/Target/AMDGPU/SILowerSGPRSpills.cpp
Commit 4838cd46a90931af3905233a86a7ceda6df7ac69 by llvm-dev
[X86][XOP] Shuffle v16i8 using VPPERM(X,Y) instead of OR(PSHUFB(X),PSHUFB(Y))
The file was modifiedllvm/test/CodeGen/X86/vector-shuffle-256-v32.ll
The file was modifiedllvm/test/CodeGen/X86/vector-shuffle-128-v16.ll
The file was modifiedllvm/test/CodeGen/X86/oddshuffles.ll
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/test/CodeGen/X86/vector-shuffle-v48.ll
Commit c6920081a8b97a8a911803d2bac50fa1db7a8123 by llvm-dev
[CostModel][X86] Add abs intrinsics cost model tests

abs costs currently falls back in scalar generic intrinsic calls
The file was addedllvm/test/Analysis/CostModel/X86/abs.ll
Commit b4b6e77454b6822e1ba7bdaa1b5bde8654c3e87f by llvm-dev
[DAG] isSplatValue - add support for TRUNCATE/SIGN_EXTEND/ZERO_EXTEND

These are just pass-throughs to the source operand - we can't assume that ANY_EXTEND(splat) will still be a splat though.
The file was modifiedllvm/test/CodeGen/X86/vector-rotate-256.ll
The file was modifiedllvm/test/CodeGen/X86/vector-fshr-rot-128.ll
The file was modifiedllvm/test/CodeGen/X86/vector-shift-ashr-128.ll
The file was modifiedllvm/test/CodeGen/X86/vector-shift-lshr-sub128.ll
The file was modifiedllvm/test/CodeGen/X86/vector-shift-shl-sub128.ll
The file was modifiedllvm/test/CodeGen/X86/vector-fshl-128.ll
The file was modifiedllvm/test/CodeGen/X86/vector-shift-ashr-256.ll
The file was modifiedllvm/test/CodeGen/X86/vector-rotate-128.ll
The file was modifiedllvm/test/CodeGen/X86/vector-fshl-256.ll
The file was modifiedllvm/test/CodeGen/X86/vector-shift-shl-128.ll
The file was modifiedllvm/test/CodeGen/X86/vector-fshr-128.ll
The file was modifiedllvm/test/CodeGen/X86/vector-fshr-rot-256.ll
The file was modifiedllvm/test/CodeGen/X86/vector-fshr-rot-512.ll
The file was modifiedllvm/test/CodeGen/X86/vector-fshl-rot-256.ll
The file was modifiedllvm/test/CodeGen/X86/vector-shift-shl-256.ll
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
The file was modifiedllvm/test/CodeGen/X86/vector-fshl-rot-128.ll
The file was modifiedllvm/test/CodeGen/X86/vector-shift-lshr-256.ll
The file was modifiedllvm/test/CodeGen/X86/vector-shift-lshr-128.ll
The file was modifiedllvm/test/CodeGen/X86/vector-fshr-256.ll
The file was modifiedllvm/test/CodeGen/X86/vector-fshl-rot-512.ll
The file was modifiedllvm/test/CodeGen/X86/vector-shift-ashr-sub128.ll
Commit 3f7249046a87e08272957d12bff73295fc4f0e8c by llvm-dev
[CostModel][X86] Add smax/smin/umin/umax intrinsics cost model tests

Costs currently fall back to scalar generic intrinsic calls
The file was addedllvm/test/Analysis/CostModel/X86/arith-sminmax.ll
The file was addedllvm/test/Analysis/CostModel/X86/arith-uminmax.ll
Commit 6f00f3b56e5a13286142facd929be15ab7b17aa3 by kostyak
[scudo][standalone] mallopt runtime configuration options

Summary:
Partners have requested the ability to configure more parts of Scudo
at runtime, notably the Secondary cache options (maximum number of
blocks cached, maximum size) as well as the TSD registry options
(the maximum number of TSDs in use).

This CL adds a few more Scudo specific `mallopt` parameters that are
passed down to the various subcomponents of the Combined allocator.

- `M_CACHE_COUNT_MAX`: sets the maximum number of Secondary cached items
- `M_CACHE_SIZE_MAX`: sets the maximum size of a cacheable item in the Secondary
- `M_TSDS_COUNT_MAX`: sets the maximum number of TSDs that can be used (Shared Registry only)

Regarding the TSDs maximum count, this is a one way option, only
allowing to increase the count.

In order to allow for this, I rearranged the code to have some `setOption`
member function to the relevant classes, using the `scudo::Option` class
enum to determine what is to be set.

This also fixes an issue where a static variable (`Ready`) was used in
templated functions without being set back to `false` every time.

Reviewers: pcc, eugenis, hctim, cferris

Subscribers: jfb, llvm-commits, #sanitizers

Tags: #sanitizers

Differential Revision: https://reviews.llvm.org/D84667
The file was modifiedcompiler-rt/lib/scudo/standalone/include/scudo/interface.h
The file was modifiedcompiler-rt/lib/scudo/standalone/primary64.h
The file was modifiedcompiler-rt/lib/scudo/standalone/secondary.h
The file was modifiedcompiler-rt/lib/scudo/standalone/combined.h
The file was modifiedcompiler-rt/lib/scudo/standalone/tsd_shared.h
The file was modifiedcompiler-rt/lib/scudo/standalone/allocator_config.h
The file was modifiedcompiler-rt/lib/scudo/standalone/tests/combined_test.cpp
The file was modifiedcompiler-rt/lib/scudo/standalone/tests/secondary_test.cpp
The file was modifiedcompiler-rt/lib/scudo/standalone/tsd_exclusive.h
The file was modifiedcompiler-rt/lib/scudo/standalone/tests/primary_test.cpp
The file was modifiedcompiler-rt/lib/scudo/standalone/tests/wrappers_c_test.cpp
The file was modifiedcompiler-rt/lib/scudo/standalone/tests/tsd_test.cpp
The file was modifiedcompiler-rt/lib/scudo/standalone/tests/wrappers_cpp_test.cpp
The file was modifiedcompiler-rt/lib/scudo/standalone/primary32.h
The file was modifiedcompiler-rt/lib/scudo/standalone/common.h
Commit 9cc70e047c2892a318ade3afacab7faffa4f49cc by sivachandra
[libc][NFC] Zero out padding bits in the uint form of x86 FPBits<long double>.
The file was modifiedlibc/utils/FPUtil/LongDoubleBitsX86.h
Commit f8ab66538c4c8dc60cd458024639772a164ef9c5 by jasonliu
[NFC][XCOFF] Use getFunctionEntryPointSymbol from TLOF to simplify logic

Reviewed By: Xiangling_L

Differential Revision: https://reviews.llvm.org/D84693
The file was modifiedllvm/lib/Target/PowerPC/PPCISelLowering.cpp
Commit 496fc3f196bca77d48804ab4bc9343c3d82b97bf by spatel
[InstSimplify] add tests for icmp with partial undef constant; NFC
The file was modifiedllvm/test/Transforms/InstSimplify/icmp-constant.ll
Commit f75cf240d6ed528e1ce7770bbe09b417338b40ef by spatel
[InstCombine] avoid crashing on vector constant expression (PR46872)
The file was modifiedllvm/test/Transforms/InstCombine/vec_shuffle.ll
The file was modifiedllvm/lib/Transforms/InstCombine/InstructionCombining.cpp
Commit e5608cacfd60bb28685206ca96a8f3ceeee1e8a6 by ravishankarm
[mlir][GPUToSPIRV] Add a test pass to set workgroup size for kernel
functions.

This allows using command line flags to lowere from GPU to SPIR-V. The
pass added is only for testing/example purposes. Most uses cases will
need more fine-grained control on setting workgroup sizes for kernel
functions.

Differential Revision: https://reviews.llvm.org/D84619
The file was addedmlir/test/lib/Dialect/SPIRV/TestEntryPointAbi.cpp
The file was modifiedmlir/test/lib/Dialect/SPIRV/CMakeLists.txt
The file was addedmlir/test/Conversion/GPUToSPIRV/test_spirv_entry_point.mlir
The file was modifiedmlir/tools/mlir-opt/mlir-opt.cpp
Commit 69152a11cf181d9c1859947f0f2c2f1554a891f2 by craig.topper
[X86] Merge the two 'Emit the normal disp32 encoding' cases in SIB byte handling in emitMemModRMByte. NFCI

By repeating the Disp.isImm() check in a couple spots we can
make the normal case for immediate and for expression the same.
And then always rely on the ForceDisp32 flag to remove a later
non-zero immediate check.

This should make {disp32} pseudo prefix handling
slightly easier as we need the normal disp32 handler to handle a
immediate of 0.
The file was modifiedllvm/lib/Target/X86/MCTargetDesc/X86MCCodeEmitter.cpp
Commit 1bd7c02233969b430b2d49e95345f507fdcc9f30 by Louis Dionne
[libc++] Clean up tests for "optional" C11 features

First, add a TEST_HAS_QUICK_EXIT macro to mirror other C11 features like
TEST_HAS_ALIGNED_ALLOC, and update the tests for that.

Second, get rid of TEST_HAS_C11_FEATURES and _LIBCPP_HAS_C11_FEATURES,
which were only used to ensure that feature macros don't get out of
sync between <__config> and "test_macros.h". This is not necessary
anymore, since we have tests for each individual macro now.
The file was modifiedlibcxx/include/__config
The file was addedlibcxx/test/std/language.support/support.start.term/at_quick_exit.compile.fail.cpp
The file was removedlibcxx/test/libcxx/language.support/has_c11_features.pass.cpp
The file was addedlibcxx/test/libcxx/language.support/has_quick_exit.compile.pass.cpp
The file was removedlibcxx/test/std/language.support/support.start.term/quick_exit_check2.compile.fail.cpp
The file was modifiedlibcxx/test/support/test_macros.h
The file was addedlibcxx/test/std/language.support/support.start.term/quick_exit.compile.fail.cpp
The file was addedlibcxx/test/libcxx/language.support/has_aligned_alloc.compile.pass.cpp
The file was removedlibcxx/test/std/language.support/support.start.term/quick_exit_check1.compile.fail.cpp
The file was modifiedlibcxx/test/std/language.support/support.limits/c.limits/cfloat.pass.cpp
The file was modifiedlibcxx/test/std/depr/depr.c.headers/float_h.pass.cpp
The file was addedlibcxx/test/libcxx/language.support/has_timespec_get.compile.pass.cpp
The file was modifiedlibcxx/test/std/language.support/support.start.term/quick_exit.pass.cpp
The file was modifiedlibcxx/test/support/msvc_stdlib_force_include.h
Commit 67dfba96296b37f7bac9b4a68572288bc44b63b2 by Louis Dionne
[libc++] Provide std::aligned_alloc and std::timespec_get on Apple platforms

rdar://66113878
The file was modifiedlibcxx/test/support/test_macros.h
The file was modifiedlibcxx/include/__config
Commit 3fb13b8484dcbec085da047879bf89ccb1b65b12 by spatel
[InstSimplify] allow undefs in icmp with vector constant folds

This is the main icmp simplification shortcoming seen in D84655.

Alive2 agrees that the basic examples are correct at least:

define <2 x i1> @src(<2 x i8> %x) {
%0:
  %r = icmp sle <2 x i8> { undef, 128 }, %x
  ret <2 x i1> %r
}
=>
define <2 x i1> @tgt(<2 x i8> %x) {
%0:
  ret <2 x i1> { 1, 1 }
}
Transformation seems to be correct!

define <2 x i1> @src(<2 x i32> %X) {
%0:
  %A = or <2 x i32> %X, { 63, 63 }
  %B = icmp ult <2 x i32> %A, { undef, 50 }
  ret <2 x i1> %B
}
=>
define <2 x i1> @tgt(<2 x i32> %X) {
%0:
  ret <2 x i1> { 0, 0 }
}
Transformation seems to be correct!

https://alive2.llvm.org/ce/z/omt2ee
https://alive2.llvm.org/ce/z/GW4nP_

Differential Revision: https://reviews.llvm.org/D84762
The file was modifiedllvm/test/Transforms/InstSimplify/icmp-constant.ll
The file was modifiedllvm/lib/Analysis/InstructionSimplify.cpp
Commit 811828a01d64868329de279a7117e12d10e9da2a by saghir
[PowerPC] Mark allocator_oom_test.cpp unsupported on PowerPC

This patch marks compiler-rt/test/asan/TestCases/Linux/allocator_oom_test.cpp
unsupported on PowerPC 64bit-LE architecture since this test fails when run
on a machine with larger system memory.

Reviewed By: #powerpc, nemanjai

Differential Revision: https://reviews.llvm.org/D84786
The file was modifiedcompiler-rt/test/asan/TestCases/Linux/allocator_oom_test.cpp
Commit 3fac05e49fe3eb4d6becf1761b4df01dbd871aa4 by clementval
[openacc] Add missing newline at end of file
The file was modifiedllvm/include/llvm/Frontend/OpenACC/ACC.td
Commit 8e67982384d4a11892c04d16c2d10d7533e56094 by flo
[NewGVN] Add test cases for remaining known issues.

This patch adds IR tests for the known NewGVN issues. The intention is
that adding them now will make it easier to keep track of fixes.
The file was addedllvm/test/Transforms/NewGVN/todo-pr35074-phi-of-ops.ll
The file was addedllvm/test/Transforms/NewGVN/todo-pr37121-seens-this-value-a-lot.ll
The file was addedllvm/test/Transforms/NewGVN/todo-pr36335-phi-undef.ll
The file was addedllvm/test/Transforms/NewGVN/todo-pr42422-phi-of-ops.ll
The file was addedllvm/test/Transforms/NewGVN/todo-pr33165-distribute-undef.ll
Commit b8943e7cea7cafebe26dd96e1a0d98e1f68a1386 by joker.eph
[MLIR][Linalg] Fixed obsolete examples in the MLIR Linalg Dialect doc

This diff fixes some obsolete examples in the Linalg dialect documentation: https://mlir.llvm.org/docs/Dialects/Linalg/

These examples are used to explain the basic properties of the Linalg dialect, which are not automatically generated from TableGen and are using out-of-date MLIR/Linalg syntax.

This diff extends each example by adding essential attributes and changing its syntax to make it processible by `mlir-opt`. There is also a command attached to each example that says how the example can be processed.

Reviewed By: ftynse

Differential Revision: https://reviews.llvm.org/D84229
The file was modifiedmlir/docs/Dialects/Linalg.md
Commit 1e027b77f056fb50e50d9f743e21eb41151c32da by mtrofin
[llvm][NFC] refactor setBlockFrequency for clarity.

The refactoring encapsulates frequency calculation in MachineBlockFrequencyInfo,
and renames the API to clarify its motivation. It should clarify
frequencies may not be reset 'freely' by users of the analysis, as the
API serves as a partial update to avoid a full analysis recomputation.

Differential Revision: https://reviews.llvm.org/D84427
The file was modifiedllvm/lib/CodeGen/MachineBlockFrequencyInfo.cpp
The file was modifiedllvm/include/llvm/CodeGen/MachineBlockFrequencyInfo.h
The file was modifiedllvm/lib/CodeGen/MachineSink.cpp
Commit 1f166edeb47ea3584f4f6a267a9054af994af45c by abidh
[lld][linkerscript] Fix handling of DEFINED.

Current implementation did not check that symbols is actually defined. Only checked for presence.  GNU ld documentation says,

"Return 1 if symbol is in the linker global symbol table and is defined before the statement using DEFINED in the script, otherwise return 0."

https://sourceware.org/binutils/docs/ld/Builtin-Functions.html#Builtin-Functions

Reviewed By: MaskRay

Differential Revision: https://reviews.llvm.org/D83758
The file was modifiedlld/ELF/ScriptParser.cpp
The file was modifiedlld/test/ELF/linkerscript/define.test
The file was modifiedlld/test/ELF/linkerscript/Inputs/define.s
Commit b46176bbb094610460667edad950a9c99f844118 by zequanwu
Reland [Coverage] Add comment to skipped regions

Bug filled here: https://bugs.llvm.org/show_bug.cgi?id=45757.
Add comment to skipped regions so we don't track execution count for lines containing only comments.

Differential Revision: https://reviews.llvm.org/D83592
The file was modifiedclang/test/CoverageMapping/macros.c
The file was modifiedclang/include/clang/Lex/Preprocessor.h
The file was addedcompiler-rt/test/profile/coverage_comments.cpp
The file was modifiedclang/test/CoverageMapping/builtinmacro.c
The file was modifiedclang/test/CoverageMapping/macro-expressions.cpp
The file was modifiedclang/test/CoverageMapping/return.c
The file was modifiedclang/test/CoverageMapping/trycatch.cpp
The file was modifiedclang/lib/CodeGen/CoverageMappingGen.h
The file was modifiedclang/test/CoverageMapping/logical.cpp
The file was modifiedclang/test/CoverageMapping/objc.m
The file was modifiedclang/test/CoverageMapping/preprocessor.c
The file was modifiedclang/test/CoverageMapping/label.cpp
The file was modifiedclang/test/CoverageMapping/switch.cpp
The file was modifiedclang/test/CoverageMapping/unreachable-macro.c
The file was modifiedcompiler-rt/test/profile/instrprof-set-file-object-merging.c
The file was modifiedclang/test/CoverageMapping/classtemplate.cpp
The file was modifiedclang/lib/CodeGen/CodeGenAction.cpp
The file was modifiedclang/test/CoverageMapping/comment-in-macro.c
The file was modifiedclang/test/CoverageMapping/coroutine.cpp
The file was modifiedclang/test/CoverageMapping/deferred-region.cpp
The file was modifiedclang/test/CoverageMapping/pr32679.cpp
The file was modifiedclang/test/lit.cfg.py
The file was modifiedclang/test/CoverageMapping/continue.c
The file was modifiedclang/test/CoverageMapping/loops.cpp
The file was modifiedclang/lib/CodeGen/CoverageMappingGen.cpp
The file was modifiedclang/test/CoverageMapping/switchmacro.c
The file was modifiedclang/test/CoverageMapping/while.c
The file was modifiedclang/test/CoverageMapping/if.cpp
The file was modifiedclang/lib/Lex/Preprocessor.cpp
The file was modifiedclang/test/CoverageMapping/break.c
The file was modifiedclang/test/CoverageMapping/moremacros.c
The file was modifiedclang/test/CoverageMapping/test.c
The file was modifiedclang/test/CoverageMapping/macroparams2.c
The file was modifiedcompiler-rt/test/profile/Inputs/instrprof-comdat.h
The file was modifiedclang/test/CoverageMapping/includehell.cpp
The file was modifiedclang/test/CoverageMapping/macroscopes.cpp
Commit 740a164dec483225cbd02ab6c82199e2747ffacb by richard
PR46377: Fix dependence calculation for function types and typedef
types.

We previously did not treat a function type as dependent if it had a
parameter pack with a non-dependent type -- such a function type depends
on the arity of the pack so is dependent even though none of the
parameter types is dependent. In order to properly handle this, we now
treat pack expansion types as always being dependent types (depending on
at least the pack arity), and always canonically being pack expansion
types, even in the unusual case when the pattern is not a dependent
type. This does mean that we can have canonical types that are pack
expansions that contain no unexpanded packs, which is unfortunate but
not inaccurate.

We also previously did not treat a typedef type as
instantiation-dependent if its canonical type was not
instantiation-dependent. That's wrong because instantiation-dependence
is a property of the type sugar, not of the type; an
instantiation-dependent type can have a non-instantiation-dependent
canonical type.
The file was modifiedclang/lib/CodeGen/CGDebugInfo.cpp
The file was modifiedclang/lib/Sema/SemaTemplateVariadic.cpp
The file was modifiedclang/lib/AST/Type.cpp
The file was modifiedclang/lib/CodeGen/CodeGenFunction.cpp
The file was modifiedclang/lib/Sema/SemaLambda.cpp
The file was modifiedclang/include/clang/Basic/TypeNodes.td
The file was modifiedclang/include/clang/AST/ASTContext.h
The file was modifiedclang/lib/AST/ASTContext.cpp
The file was addedclang/test/SemaTemplate/alias-template-nondependent.cpp
The file was modifiedclang/lib/Sema/SemaType.cpp
The file was modifiedclang/include/clang/AST/Type.h
The file was modifiedclang/lib/Sema/SemaExpr.cpp
Commit dd405f1a5397d3e7595458144ccb0bcec192a3bf by maskray
Revert D83834 "Add test utility 'extract'"

This reverts commit d054c7ee2e9f4f98af7f22a5b00a941eb919bd59.

There are discussions about the utility name, its functionality and user interface.
Revert before we reach consensus.
The file was removedllvm/test/tools/extract/help.test
The file was modifiedllvm/test/tools/gold/X86/multiple-sections.ll
The file was modifiedlld/test/lit.cfg.py
The file was removedllvm/test/tools/extract/no-leading-lines.test
The file was modifiedllvm/test/lit.cfg.py
The file was removedllvm/tools/extract/.clang-tidy
The file was removedllvm/tools/extract/extract.cpp
The file was modifiedlld/test/CMakeLists.txt
The file was removedllvm/test/tools/extract/Inputs/basic-aa.txt
The file was removedllvm/test/tools/extract/Inputs/basic-bb.txt
The file was modifiedllvm/test/tools/llvm-strings/radix.test
The file was modifiedllvm/test/CMakeLists.txt
The file was modifiedllvm/test/tools/llvm-objcopy/ELF/strip-symbol.test
The file was modifiedlld/test/ELF/linkerscript/noload.s
The file was modifiedllvm/docs/TestingGuide.rst
The file was removedllvm/test/tools/extract/basic.test
The file was removedllvm/tools/extract/CMakeLists.txt
Commit 26fc91eb5d26fb8bc3ab5328e698c9c1d9546b44 by maskray
Revert "[gn build] (manually) merge d054c7ee2e9"

This reverts commit ab73b6da95750164daac4cfbd351ca96e1084117.
The file was modifiedllvm/utils/gn/secondary/llvm/test/BUILD.gn
The file was modifiedllvm/utils/gn/secondary/lld/test/BUILD.gn
The file was removedllvm/utils/gn/secondary/llvm/tools/extract/BUILD.gn
Commit e1dd212c874c2ff01b72e9e60db6dbded9e2e6d1 by lebedev.ri
[X86] Remove disabled miscompiling X86CondBrFolding pass

As briefly discussed in IRC with @craig.topper,
the pass is disabled basically since it's original introduction (nov 2018)
due to  known correctness issues (miscompilations),
and there hasn't been much work done to fix that.

While i won't promise that i will "fix" the pass,
i have looked at it previously, and i'm sure i won't try to fix it
if that requires actually fixing this existing code.

Reviewed By: craig.topper

Differential Revision: https://reviews.llvm.org/D84775
The file was modifiedllvm/lib/Target/X86/X86TargetMachine.cpp
The file was modifiedllvm/lib/Target/X86/X86.td
The file was removedllvm/lib/Target/X86/X86CondBrFolding.cpp
The file was removedllvm/test/CodeGen/X86/test_x86condbr_globaladdr.mir
The file was modifiedllvm/lib/Target/X86/CMakeLists.txt
The file was modifiedllvm/utils/gn/secondary/llvm/lib/Target/X86/BUILD.gn
The file was removedllvm/test/CodeGen/X86/condbr_switch.ll
The file was modifiedllvm/lib/Target/X86/X86Subtarget.h
The file was modifiedllvm/lib/Target/X86/X86.h
The file was modifiedllvm/lib/Target/X86/X86TargetTransformInfo.h
The file was removedllvm/test/CodeGen/X86/condbr_if.ll
Commit e9b236f411c5683d270a381bf810ba3c8f3ed12c by Matthew.Arsenault
AMDGPU: Check for other defs when folding conditions into s_andn2_b64

We can't fold the masked compare value through the select if the
select condition is re-defed after the and instruction. Fixes a
verifier error and trying to use the outgoing value defined in the
block.

I'm not sure why this pass is bothering to handle physregs. It's
making this more complex and forces extra liveness computation.
The file was modifiedllvm/lib/Target/AMDGPU/SIOptimizeExecMaskingPreRA.cpp
The file was addedllvm/test/CodeGen/AMDGPU/optimize-exec-mask-pre-ra-loop-phi.mir
Commit 389f009c5757cf09c0b2d77a15b3b541fb0f2a1c by JF Bastien
[NFC] Sema: use checkArgCount instead of custom checking

As requested in D79279.

Differential Revision: https://reviews.llvm.org/D84666
The file was modifiedclang/lib/Sema/SemaChecking.cpp
The file was modifiedclang/test/SemaOpenCL/to_addr_builtin.cl
The file was modifiedclang/include/clang/Basic/DiagnosticSemaKinds.td
The file was modifiedclang/test/CodeGen/builtins-ppc-error.c
Commit 9731ef3ec578a20be3d81d0ef340faf61bf797d4 by Matthew.Arsenault
AMDGPU/GlobalISel: Add SReg_96 to SGPRRegBank
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPURegisterBanks.td
Commit ee713a2d2854c56886ebfee165fe2d32905c4ef7 by Matthew.Arsenault
AMDGPU/GlobalISel: Add some missing tests for extract selection
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-extract.mir
Commit 5174e7b443d815df6707addbd4fe172418d6f4a2 by Matthew.Arsenault
GlobalISel: Add typeIsNot LegalityPredicate

This allows sorting the legal/custom rules first as is recommended
The file was modifiedllvm/include/llvm/CodeGen/GlobalISel/LegalizerInfo.h
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
Commit e87356b4981bb0b504c106fd70fbde31e84447e6 by Matthew.Arsenault
GlobalISel: Don't assert on operations with no type indices

Fix not marking G_FENCE as legal on AMDGPU This was apparently
defaulting to legal using the "legacy" rules, whatever those are.
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
The file was modifiedllvm/lib/CodeGen/GlobalISel/LegalizerInfo.cpp
Commit abf1ed70d60f4e8dffc53c9bb2cdb1e4be9fe888 by daniel_l_sanders
[globalisel][cse] Merge debug locations when CSE'ing

Reviewed By: aditya_nandakumar

Differential Revision: https://reviews.llvm.org/D78388
The file was modifiedllvm/lib/CodeGen/GlobalISel/CSEMIRBuilder.cpp
Commit 417d3d495f1cfb0a2f7b60d00829925126fdcfd9 by julian.lettner
[docs] [lit] Add a more helpful description for lit.py's -s flag.

Reviewed By: yln

Differential Revision: https://reviews.llvm.org/D82808
The file was modifiedllvm/utils/lit/lit/cl_arguments.py
The file was modifiedllvm/docs/CommandGuide/lit.rst
Commit 450dc09d69df343386865d279983de9d51d1e984 by johannes
[SROA][Mem2Reg] Use efficient droppable use API (after D83976)

Reviewed By: efriedma

Differential Revision: https://reviews.llvm.org/D84804
The file was modifiedllvm/include/llvm/IR/Value.h
The file was modifiedllvm/lib/Transforms/Utils/PromoteMemoryToRegister.cpp
The file was modifiedllvm/lib/IR/Value.cpp
The file was modifiedllvm/lib/Transforms/Scalar/SROA.cpp
Commit 0b161def6cacff1a63d3cf1a1efe95b550814d7a by jurahul
[MLIR] Add unit test for tblgen Op build methods

- Initiate the unit test with a test that tests variants of build() methods
  generated for ops with variadic operands and results.
- The intent is to migrate unit .td tests in mlir/test/mlir-tblgen that check for
  generated C++ code to these unit tests which test both that the generated code
  compiles and also is functionally correct.

Differential Revision: https://reviews.llvm.org/D84074
The file was addedmlir/unittests/TableGen/OpBuildGen.cpp
The file was modifiedmlir/unittests/TableGen/CMakeLists.txt
The file was modifiedmlir/test/lib/Dialect/Test/TestOps.td
Commit e22de4e46d1dd1aacc3a7060d24bcbe89908ba6c by asbirlea
[DominatorTree] Simplify ChildrenGetter.

Summary:
Simplify ChildrenGetter to a simple wrapper around a GraphDiff call.
GraphDiff already handles nullptr in children, so the special casing in
clang can also be removed.

Reviewers: kuhar, dblaikie

Subscribers: llvm-commits, cfe-commits

Tags: #clang, #llvm

Differential Revision: https://reviews.llvm.org/D84713
The file was modifiedclang/include/clang/Analysis/Analyses/Dominators.h
The file was modifiedllvm/include/llvm/Support/GenericDomTreeConstruction.h
Commit 9cf98d26e7b1204478cc13ae3df44a6843965c11 by richard
PR46637: Fix handling of placeholder types in trailing-return-types.

Only permit a placeholder type in a trailing-return-type if it would
also have been permitted in the decl-specifier sequence of a
corresponding declaration with no trailing-return-type. The standard
doesn't actually say this, but this is the only thing that makes sense.

Also fix handling of an 'auto' in a trailing-return-type in a parameter
of a generic lambda. We used to crash if we saw such a thing.
The file was modifiedclang/test/SemaCXX/trailing-return-0x.cpp
The file was modifiedclang/lib/Sema/SemaType.cpp
The file was modifiedclang/lib/Sema/SemaTemplateDeduction.cpp
The file was modifiedclang/test/SemaCXX/cxx1y-generic-lambdas.cpp
The file was modifiedclang/test/SemaTemplate/temp_arg_nontype_cxx1z.cpp
The file was modifiedclang/include/clang/Sema/DeclSpec.h
The file was modifiedclang/include/clang/Sema/Sema.h
The file was modifiedclang/test/SemaCXX/auto-type-from-cxx.cpp
The file was modifiedclang/test/SemaCXX/cxx1y-deduced-return-type.cpp
Commit 80bd6ae13ea23d453a1f45d6ccdbfc7d0c877bb0 by llvm-project
On Windows build, making the /bigobj flag global , instead of passing it per file.

To avoid having this flag be passed in per/file manner, we are instead
passing it globally.

This fixes this bug: https://bugs.llvm.org/show_bug.cgi?id=46733

Reviewed-by: aaron.ballman, beanz, meinersbur

Differential Revision: https://reviews.llvm.org/D84038
The file was modifiedclang/unittests/AST/CMakeLists.txt
The file was modifiedclang/unittests/Tooling/CMakeLists.txt
The file was modifiedclang/lib/Sema/CMakeLists.txt
The file was modifiedclang/lib/CodeGen/CMakeLists.txt
The file was modifiedlldb/source/API/CMakeLists.txt
The file was modifiedclang/unittests/ASTMatchers/CMakeLists.txt
The file was modifiedllvm/lib/Passes/CMakeLists.txt
The file was modifiedmlir/lib/Dialect/SPIRV/CMakeLists.txt
The file was modifiedllvm/cmake/modules/HandleLLVMOptions.cmake
The file was modifiedclang/lib/ASTMatchers/Dynamic/CMakeLists.txt
Commit a3d1f88fa7da3dfc0b4319f2e4eb7374fa60b819 by jdenny.ornl
[OpenMP][NFC] Consolidate `to` and `from` clause modifiers

`to` and `from` clauses take the same modifiers, which are called
"motion modifiers" in TR8, so implement handling of their modifiers
once not twice.  This will make it easier to implement additional
motion modifiers in the future.

Reviewed By: ABataev

Differential Revision: https://reviews.llvm.org/D84710
The file was modifiedclang/lib/Parse/ParseOpenMP.cpp
The file was modifiedclang/lib/Basic/OpenMPKinds.cpp
The file was modifiedclang/include/clang/Basic/OpenMPKinds.def
The file was modifiedclang/include/clang/Basic/OpenMPKinds.h
Commit 3c3faae497046be706df29e16c9fbccb7e1fce09 by jdenny.ornl
[OpenMP] Implement TR8 `present` motion modifier in Clang (1/2)

This patch implements Clang front end support for the OpenMP TR8
`present` motion modifier for `omp target update` directives.  The
next patch in this series implements OpenMP runtime support.

Reviewed By: ABataev

Differential Revision: https://reviews.llvm.org/D84711
The file was modifiedclang/lib/AST/OpenMPClause.cpp
The file was modifiedclang/lib/Sema/SemaOpenMP.cpp
The file was modifiedclang/include/clang/Basic/DiagnosticSemaKinds.td
The file was modifiedclang/lib/Serialization/ASTWriter.cpp
The file was modifiedclang/test/OpenMP/target_update_codegen.cpp
The file was modifiedclang/test/OpenMP/declare_mapper_codegen.cpp
The file was modifiedclang/include/clang/AST/OpenMPClause.h
The file was modifiedclang/include/clang/Basic/OpenMPKinds.h
The file was modifiedclang/test/OpenMP/target_update_messages.cpp
The file was modifiedclang/lib/Parse/ParseOpenMP.cpp
The file was modifiedclang/test/OpenMP/target_update_ast_print.cpp
The file was modifiedclang/lib/Serialization/ASTReader.cpp
The file was modifiedclang/include/clang/Sema/Sema.h
The file was modifiedclang/lib/CodeGen/CGOpenMPRuntime.cpp
The file was modifiedclang/include/clang/Parse/Parser.h
The file was modifiedclang/lib/Sema/TreeTransform.h
The file was modifiedclang/lib/Basic/OpenMPKinds.cpp
The file was modifiedclang/include/clang/Basic/OpenMPKinds.def
The file was modifiedclang/test/OpenMP/declare_mapper_ast_print.c
Commit 2cb926a447d22166dac0d6e6dceaf5b3616ef6a1 by jdenny.ornl
[OpenMP] Implement TR8 `present` motion modifier in runtime (2/2)

This patch implements OpenMP runtime support for the OpenMP TR8
`present` motion modifier for `omp target update` directives.  The
previous patch in this series implements Clang front end support.

Reviewed By: grokos

Differential Revision: https://reviews.llvm.org/D84712
The file was modifiedopenmp/libomptarget/src/omptarget.cpp
The file was addedopenmp/libomptarget/test/mapping/present/target_update.c
Commit d680711b94e94e9387076a0daf2a329e304e6751 by jdenny.ornl
[FileCheck] Extend -dump-input with substitutions

Substitutions are already reported in the diagnostics appearing before
the input dump in the case of failed directives, and they're reported
in traces (produced by `-vv -dump-input=never`) in the case of
successful directives.  However, those reports are not always
convenient to view while investigating the input dump, so this patch
adds the substitution report to the input dump too.  For example:

```
$ cat check
CHECK: hello [[WHAT:[a-z]+]]
CHECK: [[VERB]] [[WHAT]]

$ FileCheck -vv -DVERB=goodbye check < input |& tail -8
<<<<<<
           1: hello world
check:1       ^~~~~~~~~~~
           2: goodbye word
check:2'0     X~~~~~~~~~~~ error: no match found
check:2'1                  with "VERB" equal to "goodbye"
check:2'2                  with "WHAT" equal to "world"
>>>>>>
```

Without this patch, the location reported for a substitution for a
directive match is the directive's full match range.  This location is
misleading as it implies the substitution itself matches that range.
This patch changes the reported location to just the match range start
to suggest the substitution is known at the start of the match.  (As
in the above example, input dumps don't mark any range for
substitutions.  The location info in that case simply identifies the
right line for the annotation.)

Reviewed By: mehdi_amini, thopre

Differential Revision: https://reviews.llvm.org/D83650
The file was modifiedllvm/lib/Support/FileCheck.cpp
The file was modifiedllvm/test/FileCheck/verbose.txt
The file was modifiedllvm/lib/Support/FileCheckImpl.h
The file was modifiedllvm/include/llvm/Support/FileCheck.h
The file was modifiedllvm/test/FileCheck/dump-input-annotations.txt
The file was modifiedllvm/utils/FileCheck/FileCheck.cpp
Commit 9f86b8ec41f04fa6f087264008317515a612a922 by jdenny.ornl
[FileCheck] Report captured variables

Report captured variables in input dumps and traces.  For example:

```
$ cat check
CHECK: hello [[WHAT:[a-z]+]]
CHECK: goodbye [[WHAT]]

$ FileCheck -dump-input=always -vv check < input |& tail -8
<<<<<<
           1: hello world
check:1'0     ^~~~~~~~~~~
check:1'1           ^~~~~ captured var "WHAT"
           2: goodbye world
check:2'0     ^~~~~~~~~~~~~
check:2'1                   with "WHAT" equal to "world"
>>>>>>

$ FileCheck -dump-input=never -vv check < input
check2:1:8: remark: CHECK: expected string found in input
CHECK: hello [[WHAT:[a-z]+]]
       ^
<stdin>:1:1: note: found here
hello world
^~~~~~~~~~~
<stdin>:1:7: note: captured var "WHAT"
hello world
      ^~~~~
check2:2:8: remark: CHECK: expected string found in input
CHECK: goodbye [[WHAT]]
       ^
<stdin>:2:1: note: found here
goodbye world
^~~~~~~~~~~~~
<stdin>:2:1: note: with "WHAT" equal to "world"
goodbye world
^
```

Reviewed By: thopre

Differential Revision: https://reviews.llvm.org/D83651
The file was modifiedllvm/test/FileCheck/dump-input-annotations.txt
The file was modifiedllvm/test/FileCheck/verbose.txt
The file was modifiedllvm/lib/Support/FileCheck.cpp
The file was modifiedllvm/lib/Support/FileCheckImpl.h
The file was modifiedllvm/unittests/Support/FileCheckTest.cpp
Commit 2fa3da7dcdd021e05899770c02e08a20c19a98b3 by Jonas Devlieghere
[lldb] Remove unused option '--platform-path' for 'target create'

Differential revision: https://reviews.llvm.org/D84800
The file was modifiedlldb/source/Commands/CommandObjectTarget.cpp
Commit 686c82b9745b207227a83aa87000a6cbfe32fc20 by gyurgyikcp
[libc] Add scaffolding for ctype and implementation of isalpha

Reviewed By: sivachandra

Differential Revision: https://reviews.llvm.org/D84575
The file was modifiedlibc/config/linux/aarch64/entrypoints.txt
The file was modifiedlibc/include/CMakeLists.txt
The file was modifiedlibc/src/CMakeLists.txt
The file was modifiedlibc/spec/stdc.td
The file was addedlibc/test/src/ctype/CMakeLists.txt
The file was addedlibc/src/ctype/isalpha.cpp
The file was addedlibc/src/ctype/CMakeLists.txt
The file was modifiedlibc/config/linux/api.td
The file was modifiedlibc/test/src/CMakeLists.txt
The file was addedlibc/include/ctype.h.def
The file was addedlibc/src/ctype/isalpha.h
The file was addedlibc/test/src/ctype/isalpha_test.cpp
The file was modifiedlibc/config/linux/x86_64/entrypoints.txt
Commit 75f222b4762a660506325850bfbd3e4241a7e347 by gyurgyikcp
[libc] [Obvious] Delete ctype.h, since ctype.h.def is used.
The file was removedlibc/include/ctype.h
Commit f14472a2e327a393d4795a141b901be1dd397505 by kostyak
[scudo][standalone] Add new mallopt options.

This adds the code to support calling mallopt and converting the
options to the internal Option enum.

Reviewed By: cryptoad

Differential Revision: https://reviews.llvm.org/D84806
The file was modifiedcompiler-rt/lib/scudo/standalone/tests/wrappers_c_test.cpp
The file was modifiedcompiler-rt/lib/scudo/standalone/wrappers_c.inc
Commit 59f17a7d4f42fa330557e36d18f8b5f82a2c5e30 by sivachandra
[libc][NFC] Move tablegen indexer class into a util library of its own.

This class is currently used by two tools: HdrGen and PrototypeTestGen.
We will be adding more tools based on this class so it is convenient to
keep it in a util library of its own.
The file was modifiedlibc/utils/CMakeLists.txt
The file was addedlibc/utils/LibcTableGenUtil/CMakeLists.txt
The file was addedlibc/utils/LibcTableGenUtil/APIIndexer.cpp
The file was modifiedlibc/utils/HdrGen/PrototypeTestGen/CMakeLists.txt
The file was modifiedlibc/utils/HdrGen/PrototypeTestGen/PrototypeTestGen.cpp
The file was addedlibc/utils/LibcTableGenUtil/APIIndexer.h
The file was modifiedlibc/utils/HdrGen/CMakeLists.txt
The file was modifiedlibc/utils/HdrGen/PublicAPICommand.cpp
The file was modifiedlibc/utils/HdrGen/PublicAPICommand.h
Commit 9500d48de367d969dc944445297ae5bdfaa14079 by tkeith
[flang][NFC] Extract name resolution for OpenACC & OpenMP into new file

Move `ResolveAccParts` and `ResolveOmpParts` from resolve-names.cpp to
resolve-directives.{h,cpp}. Move the implementation in the classes
`DirectiveAttributeVisitor`, `AccAttributeVisitor`, and
`OmpAttributeVisitor` to resolve-directives.cpp as well.

To allow this to happen, move `EvaluateIntExpr` and introduce
`EvaluateInt64` to resolve-names-utils.h. The latter is also useful
elsewhere in resolve-names.cpp for converting an Expr to std::int64_t.

The other problem was that `ResolveDesignator` was called from the code
that was moved. At the moment it doesn't seem to be doing anything so I
removed the calls (and no tests failed). If it proves to be needed, we
can either resolve those designators in resolve-names.cpp or pass the
`ResolveDesignator` function in to the code that needs to call it.

Differential Revision: https://reviews.llvm.org/D84768
The file was addedflang/lib/Semantics/resolve-directives.h
The file was modifiedflang/lib/Semantics/resolve-names-utils.h
The file was addedflang/lib/Semantics/resolve-directives.cpp
The file was modifiedflang/lib/Semantics/resolve-names.cpp
The file was modifiedflang/lib/Semantics/CMakeLists.txt
The file was modifiedflang/test/Semantics/acc-resolve01.f90
Commit 462b3564f1bd103b43ccaa2ddd9211badcf0f68d by sivachandra
[libc][obvious] Add the new ctype.h target to the list of x86_64 headers.

This will fix the integration test which is failing currently.
The file was modifiedlibc/config/linux/x86_64/headers.txt
Commit fb22678cd67801e41af4917acceb4014ab5d007e by kbobyrev
[clangd] Use elog instead of llvm::errs, log instead of llvm::outs

Reviewed By: sammccall

Differential Revision: https://reviews.llvm.org/D84697
The file was modifiedclang-tools-extra/clangd/indexer/IndexerMain.cpp
The file was modifiedclang-tools-extra/clangd/index/remote/server/Server.cpp
The file was modifiedclang-tools-extra/clangd/tool/ClangdMain.cpp
Commit 66d60e06cbc51b453f9e38ad69795f9487213fe5 by Matthew.Arsenault
AMDGPU: Serialize MFI spill fields

These should probably be inferred from the function on parse, but the
target specific infrastructure currently does not give you a way to do
this. SILowerSGPRSpills early exits without this reporting spills,
which makes it difficult to write a MIR test for.
The file was modifiedllvm/lib/Target/AMDGPU/SIMachineFunctionInfo.cpp
The file was modifiedllvm/test/CodeGen/MIR/AMDGPU/machine-function-info-no-ir.mir
The file was modifiedllvm/test/CodeGen/MIR/AMDGPU/machine-function-info.ll
The file was modifiedllvm/lib/Target/AMDGPU/SIMachineFunctionInfo.h
Commit 592f2e8d1ceb8ecec6f8b54eeb9fd7e0a099c0fe by Matthew.Arsenault
AMDGPU: Fix verifier error on spilling partially defined SGPRs

This needs an implicit def of the super-register in case one of the
lanes isn't defined, similar to copyPhysReg (or the not-VGPR spill
case below). This showed up in GlobalISel testing since it currently
doesn't fold out many undef instructions.
The file was modifiedllvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
The file was addedllvm/test/CodeGen/AMDGPU/sgpr-spill-partially-undef.mir
Commit cd7a5c3cd9a4891654b1b36f743a250135eb5c5a by sivachandra
[libc][obvious] Add license headers to APIIndexer.[cpp|h].
The file was modifiedlibc/utils/LibcTableGenUtil/APIIndexer.h
The file was modifiedlibc/utils/LibcTableGenUtil/APIIndexer.cpp
Commit 3ce69d4d50a24394eff15f92e3f4a609acc963e7 by tianshilei1992
[NFC][OpenMP] Renamed all variable and function names in `target` to conform with LLVM code standard

This patch only touched variables and functions in `target`.

Reviewed By: ye-luo

Differential Revision: https://reviews.llvm.org/D84797
The file was modifiedopenmp/libomptarget/src/device.cpp
The file was modifiedopenmp/libomptarget/src/api.cpp
The file was modifiedopenmp/libomptarget/src/omptarget.cpp
The file was modifiedopenmp/libomptarget/src/device.h
The file was modifiedopenmp/libomptarget/src/private.h
The file was modifiedopenmp/libomptarget/src/interface.cpp
Commit b3e63aa8a47078e8ac24ceffa7160cc1af657dcb by Matthew.Arsenault
AMDGPU: Don't assume there is only one terminator copy

This would stop on the first in reverse order, failing the verifier if
there were more earlier in the block.
The file was modifiedllvm/lib/Target/AMDGPU/SIOptimizeExecMasking.cpp
The file was addedllvm/test/CodeGen/AMDGPU/optimize-exec-masking-strip-terminator-bits.mir
Commit 8860daf0ed248960c3bc26208b7a38b3e1aadb1d by Matthew.Arsenault
AMDGPU: Handle a few missing cases in getAddrModeArguments
The file was addedllvm/test/CodeGen/AMDGPU/cgp-addressing-modes-gfx908.ll
The file was modifiedllvm/lib/Target/AMDGPU/SIISelLowering.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/cgp-addressing-modes.ll
The file was addedllvm/test/CodeGen/AMDGPU/cgp-addressing-modes-gfx1030.ll
Commit 65564e5eaf143cb3c43907cc546d76e2b20e59f3 by jdenny.ornl
Revert "[OpenMP] Implement TR8 `present` motion modifier in runtime (2/2)"

This reverts commit 2cb926a447d22166dac0d6e6dceaf5b3616ef6a1.

It depends on 3c3faae497046be706df29e16c9fbccb7e1fce09, which is being
reverted.
The file was removedopenmp/libomptarget/test/mapping/present/target_update.c
The file was modifiedopenmp/libomptarget/src/omptarget.cpp
Commit 69fc33f0cd130b02a38d2fc582afc7b0fcd6458a by jdenny.ornl
Revert "[OpenMP] Implement TR8 `present` motion modifier in Clang (1/2)"

This reverts commit 3c3faae497046be706df29e16c9fbccb7e1fce09.

It breaks a number of bots.
The file was modifiedclang/lib/Serialization/ASTReader.cpp
The file was modifiedclang/include/clang/Basic/OpenMPKinds.def
The file was modifiedclang/include/clang/AST/OpenMPClause.h
The file was modifiedclang/lib/AST/OpenMPClause.cpp
The file was modifiedclang/include/clang/Parse/Parser.h
The file was modifiedclang/include/clang/Basic/DiagnosticSemaKinds.td
The file was modifiedclang/test/OpenMP/declare_mapper_ast_print.c
The file was modifiedclang/test/OpenMP/target_update_ast_print.cpp
The file was modifiedclang/lib/Sema/SemaOpenMP.cpp
The file was modifiedclang/lib/CodeGen/CGOpenMPRuntime.cpp
The file was modifiedclang/test/OpenMP/declare_mapper_codegen.cpp
The file was modifiedclang/include/clang/Sema/Sema.h
The file was modifiedclang/lib/Sema/TreeTransform.h
The file was modifiedclang/lib/Serialization/ASTWriter.cpp
The file was modifiedclang/test/OpenMP/target_update_codegen.cpp
The file was modifiedclang/lib/Basic/OpenMPKinds.cpp
The file was modifiedclang/test/OpenMP/target_update_messages.cpp
The file was modifiedclang/lib/Parse/ParseOpenMP.cpp
The file was modifiedclang/include/clang/Basic/OpenMPKinds.h
Commit 30440924d48cdcbdef1dd7b2791171d821a859ae by tianshilei1992
[OpenMP] Replaced mutex lock/unlock in `target` with `std::lock_guard`

Reviewed By: ye-luo

Differential Revision: https://reviews.llvm.org/D84799
The file was modifiedopenmp/libomptarget/src/omptarget.cpp
Commit 068808d102846d551e683241d0b3b9607b3bdf8d by Matthew.Arsenault
AMDGPU: Don't assume call targets are registers

GlobalISel let through a call to null, which would then fold into the
source operand like any other inline immediate. The SelectionDAG
lowering deletes calls to null and undef as a workaround from before
calls were supported. We should probably drop the special handling
case in the DAG lowering now, since the middle end optimizers delete
null calls anyway.
The file was modifiedllvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/call-constant.ll
Commit ffd8c23ccb74bbd19ba16e3706a0c5e1e472cca6 by tlively
[WebAssembly] Implement truncating vector stores

Rather than expanding truncating stores so that vectors are stored one
lane at a time, lower them to a sequence of instructions using
narrowing operations instead, when possible. Since the narrowing
operations have saturating semantics, but truncating stores require
truncation, mask the stored value to manually truncate it before
narrowing. Also, since narrowing is a binary operation, pass in the
original vector as the unused second argument.

Differential Revision: https://reviews.llvm.org/D84377
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyInstrSIMD.td
The file was modifiedllvm/test/CodeGen/WebAssembly/simd-offset.ll
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
Commit e8d4038efb181f886e997ba28da1572e41aa16bd by clementval
[openmp][openacc][NFC] Add wrapper for records in DirectiveEmitter

Add wrapper classes to to access record's fields. This makes it easier to
pass record information to the diverse functions for code generation.

Reviewed By: jdenny

Differential Revision: https://reviews.llvm.org/D84612
The file was modifiedllvm/utils/TableGen/DirectiveEmitter.cpp
Commit 6a7b6dd54b207945ba4b3750496036c6280ab522 by Matthew.Arsenault
AMDGPU: Don't assert in canInsertSelect

Currently GlobalISel doesn't force all VGPR phi operands to VGPRs, so
this hit a case where it was queried with a VGPR and SGPR. This could
arguably be a verifier error, but it's currently not.
The file was modifiedllvm/lib/Target/AMDGPU/SIInstrInfo.cpp
Commit 06cf6f770d649ed241314881054b7b8d9eee765d by craig.topper
[X86] Add FeatureCMPXCHG8B and FeatureSlowUAMem16 to 'lakemont' in X86.td

We already had CMPXCH8B feature on this CPU for the frontend so
this doesn't have much effect.

The FeatureSlowUAMem16 only matters if someone compiles with
-march=lakemont -msse which doesn't make sense, but is consistent
with all our pre-sse4.2 CPUs. Maybe the feature flag should be
FeatureFastUAMem16 and set on the newer CPUs instead.
The file was modifiedllvm/test/CodeGen/X86/cmpxchg8b.ll
The file was modifiedllvm/lib/Target/X86/X86.td
Commit 11bb7eef4152cab895983f19e638f0cfdf8a580f by tlively
[WebAssembly] Remove intrinsics for SIMD widening ops

Instead, pattern match extends of extract_subvectors to generate
widening operations. Since extract_subvector is not a legal node, this
is implemented via a custom combine that recognizes extract_subvector
nodes before they are legalized. The combine produces custom ISD nodes
that are later pattern matched directly, just like the intrinsic was.

Also removes the clang builtins for these operations since the
instructions can now be generated from portable code sequences.

Differential Revision: https://reviews.llvm.org/D84556
The file was modifiedclang/lib/Headers/wasm_simd128.h
The file was modifiedllvm/test/CodeGen/WebAssembly/simd-intrinsics.ll
The file was modifiedclang/test/CodeGen/builtins-wasm.c
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyInstrSIMD.td
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
The file was modifiedllvm/include/llvm/IR/IntrinsicsWebAssembly.td
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyISD.def
The file was addedllvm/test/CodeGen/WebAssembly/simd-widening.ll
The file was modifiedclang/include/clang/Basic/BuiltinsWebAssembly.def
The file was modifiedclang/lib/CodeGen/CGBuiltin.cpp
Commit 706d992cedaf2ca3190e4445015da62faf2db544 by jurahul
[NFC] Add getArgumentTypes() to Region

- Add getArgumentTypes() to Region (missed from before)
- Adopt Region argument API in `hasMultiplyAddBody`
- Fix 2 typos in comments

Differential Revision: https://reviews.llvm.org/D84807
The file was modifiedmlir/lib/IR/Region.cpp
The file was modifiedmlir/include/mlir/IR/Region.h
The file was modifiedmlir/include/mlir/IR/Visitors.h
The file was modifiedmlir/lib/Transforms/Utils/InliningUtils.cpp
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
Commit b6ebc77326843deeb34006bf278329bcf5e530b9 by Matthew.Arsenault
AMDGPU/GlobalISel: Fix selecting llvm.amdgcn.s.getreg

This introduces the same bug llvm.amdgcn.s.setreg has where if the
user specified an immediate outside of the valid 16-bit range, it will
select into a verifier error.
The file was modifiedllvm/lib/Target/AMDGPU/SOPInstructions.td
The file was modifiedllvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.getreg.ll
The file was modifiedllvm/lib/Target/AMDGPU/SIInstrInfo.td
Commit 44211f20a82418b20a69df9de6291d923dcbf709 by Matthew.Arsenault
AMDGPU: Optimize copies to exec with other insts after exec def

It's possible to have terminator instructions after a write to exec,
so skip over them to find it.
The file was addedllvm/test/CodeGen/AMDGPU/optimize-exec-copies-extra-insts-after-copy.mir
The file was modifiedllvm/lib/Target/AMDGPU/SIOptimizeExecMasking.cpp
Commit 00046d789c9db444efa952e4b6e8df86990bfdda by shkzhang
[PowerPC] Add Def CR1 for MTFSFI_rec and MTFSF_rec
The file was modifiedllvm/lib/Target/PowerPC/PPCInstrInfo.td
Commit db0d636e52c163196bc8abeb62b649b7de700569 by sdi1600105
[ADT][BitVector][NFC] Merge find_first_in() / find_first_unset_in()

We can implement find_first_unset_in() in the same function
if every BitWord we use is first flipped.

Differential Revision: https://reviews.llvm.org/D84717
The file was modifiedllvm/include/llvm/ADT/BitVector.h
Commit c26f237cef1b33277f072c609c19192c5213f348 by Artem Dergachev
[analyzer] FuchsiaHandleChecker: Suppress a non-deterministic test failure.

Noticed by Jon Roelofs in https://reviews.llvm.org/D73151#2180499
The file was modifiedclang/test/Analysis/fuchsia_handle.cpp
Commit c12394fef3edc74207801adc6f778a0fb422f195 by Xing
[llvm-readelf][test] Improve wording in the comments. NFC.

This patch addresses comments in D84640 (https://reviews.llvm.org/D84640#2178475).
The file was modifiedllvm/test/tools/llvm-readobj/ELF/hex-dump.test
Commit dd4106d22ef6ce51bfac666584b76dd43e98acf6 by yedeng.yd
[NFC] Edit the comment in User::replaceUsesOfWith
The file was modifiedllvm/lib/IR/User.cpp
The file was modifiedllvm/unittests/IR/UserTest.cpp
Commit d3527052fc2a952d752f82ffbe39220bad33fc8d by yedeng.yd
[NFC] Edit the comment for the return type of await_suspend
The file was modifiedclang/lib/Sema/SemaCoroutine.cpp
Commit d50d4c3d440c1d5a5a2003b782f8fbb7cc7b1441 by iajbar
[Hexagon] Correct the order of operands when lowering funnel shift-left

This patch corrects the order of operands in the pattern that lowers fshl
in Hexagon.
The file was addedllvm/test/CodeGen/Hexagon/funnel-shift2.ll
The file was modifiedllvm/lib/Target/Hexagon/HexagonPatterns.td
The file was modifiedllvm/test/CodeGen/Hexagon/funnel-shift.ll
Commit 60c889cf714cd9488b1a54482b64948dd21a4d5f by Azharuddin Mohammed
[ThinLTO] [test] cache.ll: Prevent Spotlight indexing of the output dir

The test output files whose atime is altered in the test were getting
accessed by Spotlight indexing on macOS, causing them to get an updated
atime and leading to the test not behaving as expected.

Reviewed By: jhenderson, steven_wu

Differential Revision: https://reviews.llvm.org/D84700
The file was modifiedllvm/test/ThinLTO/X86/cache.ll
Commit 8dbe9b249846be81bc676543698db14ee37e28e2 by anhtuyen
[Clang-tools-extra] Mark override a function which overrides a virtual one

Function void run() on line 286 overrides a virtual function on line 92 of
clang-tools-extra/clangd/index/dex/dexp/Dexp.cpp.  Not marking it override will
cause a build failure when we use -Werror (every warning is treated as an error).

Reviewed By: kbobyrev (Kirill Bobyrev)

Differential Revision: https://reviews.llvm.org/D84794
The file was modifiedclang-tools-extra/clangd/index/dex/dexp/Dexp.cpp
Commit b1e398920f7372db3ebfeeb219d4538d235c7efb by georgemitenk0v
[MLIR][SPIRVToLLVM] Support of volatile/nontemporal memory access in load/store

This patch adds support of Volatile and Nontemporal
memory accesses to `spv.Load` and `spv.Store`. These attributes are
modelled with a `volatile` and `nontemporal` flags.

Reviewed By: antiagainst

Differential Revision: https://reviews.llvm.org/D84739
The file was modifiedmlir/lib/Conversion/SPIRVToLLVM/ConvertSPIRVToLLVM.cpp
The file was modifiedmlir/test/Conversion/SPIRVToLLVM/memory-ops-to-llvm.mlir
Commit 8a66bb7a75f71a749e9ee603c9c5c8d016ed7238 by georgemitenk0v
[MLIR][SPIRV] Added storage class constraint on global variable

Added a check for 'Function' storage class in `spv.globalVariable`
verifier since it only can be used with `spv.Variable`.

Reviewed By: antiagainst

Differential Revision: https://reviews.llvm.org/D84731
The file was modifiedmlir/lib/Dialect/SPIRV/SPIRVOps.cpp
The file was modifiedmlir/test/Dialect/SPIRV/structure-ops.mlir
Commit 2ead4fca79d087e2d658a3101e3946a54c1d4685 by sbergman
Test including rpc/xdr.h requires sunrpc

...which is set based on HAVE_RPC_XDR_H.  At least Fedora 32 does not have a
/usr/include/rpc/xdr.h, so failed this test introduced with
<https://reviews.llvm.org/D83358> "[Sanitizers] Add interceptor for
xdrrec_create".

Differential Revision: https://reviews.llvm.org/D84740
The file was modifiedcompiler-rt/test/sanitizer_common/TestCases/Linux/xdrrec.cpp
Commit 1ae766e3e06a233ce9d60a5734f29e78ccd80639 by aqjune
[InstCombine] Add tests for select(freeze(undef)); NFC
The file was modifiedllvm/test/Transforms/InstCombine/select.ll
Commit 89247792c5bdd58500b0e6c5e56532424c2e2ca1 by zeratul976
[clang] Fix ConceptSpecializationExpr::getEndLoc()

Summary:
It returned an invalid location in case of a constrained-parameter
with no explicit arguments.

Reviewers: hokein

Subscribers: cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D84613
The file was modifiedclang/test/AST/ast-dump-concepts.cpp
The file was modifiedclang/include/clang/AST/ExprConcepts.h
Commit 1f4aa30a4f8a3fb869baa741662b9f6b3c73a0e3 by georgemitenk0v
[MLIR][SPIRVToLLVM] Branch weights support for BranchConditional conversion

Conversion of `spv.BranchConditional` now supports branch weights
that are mapped to weights vector in `llvm.cond_br`.

Reviewed By: antiagainst

Differential Revision: https://reviews.llvm.org/D84657
The file was modifiedmlir/test/Conversion/SPIRVToLLVM/control-flow-ops-to-llvm.mlir
The file was modifiedmlir/lib/Conversion/SPIRVToLLVM/ConvertSPIRVToLLVM.cpp
Commit 1603470e59a99a39ebdc4bf62a3a16c8c4ebea36 by kbobyrev
[clangd] Fix clangd-indexeer builds after D84697

Some buildbots require explicit clangdSupport dependency:

http://lab.llvm.org:8011/builders/llvm-avr-linux/builds/3996/steps/build%20stage%201/logs/stdio
The file was modifiedclang-tools-extra/clangd/indexer/CMakeLists.txt
Commit 334a7025e0d1dd79e3c6b1976be65296ab3da01d by Xing
[DWARFYAML] Replace uint*_t with yaml::Hex* in the 'debug_aranges' entry.

Normally, we use yaml::Hex* to describe the length, offsets,
address/segment size. NFC.
The file was modifiedllvm/include/llvm/ObjectYAML/DWARFYAML.h
The file was modifiedllvm/test/ObjectYAML/MachO/DWARF-debug_aranges.yaml
Commit 2f98eff3457cf08d45ffd709c69238efbecbfa69 by Xing
[DWARFYAML][test] Make the check lines stricter. NFC.

This patch makes the check lines stricter.
The file was modifiedllvm/test/ObjectYAML/MachO/DWARF-debug_aranges.yaml
Commit 2e7baf61970a08a77540f3afdbefbb20b4a78348 by frgossen
[MLIR][Shape] Allow `shape.add` to operate on indices

Differential Revision: https://reviews.llvm.org/D84441
The file was modifiedmlir/include/mlir/Dialect/Shape/IR/ShapeOps.td
The file was modifiedmlir/test/Dialect/Shape/invalid.mlir
The file was modifiedmlir/test/Dialect/Shape/ops.mlir
Commit 0c005be6eb6bc21464d7c1f7d5f44eb1e5369749 by llvm-dev
[X86][SSE] getV4X86ShuffleImm8 - canonicalize broadcast masks

If the mask input to getV4X86ShuffleImm8 only refers to a single source element (+ undefs) then canonicalize to a full broadcast.

getV4X86ShuffleImm8 defaults to inline values for undefs, which can be useful for shuffle widening/narrowing but does leave SimplifyDemanded* calls thinking the shuffle depends on unnecessary elements.

I'm still investigating what we should do more generally to avoid these undemanded elements, but broadcast cases was a simpler win.
The file was modifiedllvm/test/CodeGen/X86/vector-fshr-rot-128.ll
The file was modifiedllvm/test/CodeGen/X86/vector-idiv-v2i32.ll
The file was modifiedllvm/test/CodeGen/X86/widen_conv-4.ll
The file was modifiedllvm/test/CodeGen/X86/widen_conv-3.ll
The file was modifiedllvm/test/CodeGen/X86/avx512-shuffles/partial_permute.ll
The file was modifiedllvm/test/CodeGen/X86/vector-shift-ashr-sub128.ll
The file was modifiedllvm/test/CodeGen/X86/vsel-cmp-load.ll
The file was modifiedllvm/test/CodeGen/X86/vector-shuffle-256-v16.ll
The file was modifiedllvm/test/CodeGen/X86/sse3-avx-addsub-2.ll
The file was modifiedllvm/test/CodeGen/X86/cast-vsel.ll
The file was modifiedllvm/test/CodeGen/X86/vector-shuffle-512-v64.ll
The file was modifiedllvm/test/CodeGen/X86/phaddsub.ll
The file was modifiedllvm/test/CodeGen/X86/madd.ll
The file was modifiedllvm/test/CodeGen/X86/bitcast-int-to-vector-bool-zext.ll
The file was modifiedllvm/test/CodeGen/X86/vec_cast2.ll
The file was modifiedllvm/test/CodeGen/X86/horizontal-reduce-umin.ll
The file was modifiedllvm/test/CodeGen/X86/vector-fshl-rot-128.ll
The file was modifiedllvm/test/CodeGen/X86/vector-rotate-256.ll
The file was modifiedllvm/test/CodeGen/X86/vector-shuffle-v1.ll
The file was modifiedllvm/test/CodeGen/X86/combine-fcopysign.ll
The file was modifiedllvm/test/CodeGen/X86/div-rem-pair-recomposition-unsigned.ll
The file was modifiedllvm/test/CodeGen/X86/buildvec-extract.ll
The file was modifiedllvm/test/CodeGen/X86/haddsub-3.ll
The file was modifiedllvm/test/CodeGen/X86/horizontal-reduce-smin.ll
The file was modifiedllvm/test/CodeGen/X86/vec-strict-fptoint-256.ll
The file was modifiedllvm/test/CodeGen/X86/vector-shift-by-select-loop.ll
The file was modifiedllvm/test/CodeGen/X86/vector-extend-inreg.ll
The file was modifiedllvm/test/CodeGen/X86/vector-rotate-128.ll
The file was modifiedllvm/test/CodeGen/X86/scalarize-fp.ll
The file was modifiedllvm/test/CodeGen/X86/vector-shuffle-128-v4.ll
The file was modifiedllvm/test/CodeGen/X86/avx-vbroadcast.ll
The file was modifiedllvm/test/CodeGen/X86/masked_store_trunc_usat.ll
The file was modifiedllvm/test/CodeGen/X86/vector-shuffle-256-v32.ll
The file was modifiedllvm/test/CodeGen/X86/vec-strict-cmp-128.ll
The file was modifiedllvm/test/CodeGen/X86/vector-reduce-and-cmp.ll
The file was modifiedllvm/test/CodeGen/X86/avx-vinsertf128.ll
The file was modifiedllvm/test/CodeGen/X86/vec-strict-cmp-sub128.ll
The file was modifiedllvm/test/CodeGen/X86/vector-shuffle-combining-avx2.ll
The file was modifiedllvm/test/CodeGen/X86/masked_store_trunc_ssat.ll
The file was modifiedllvm/test/CodeGen/X86/vector-shift-shl-sub128.ll
The file was modifiedllvm/test/CodeGen/X86/avx-vperm2x128.ll
The file was modifiedllvm/test/CodeGen/X86/sse1.ll
The file was modifiedllvm/test/CodeGen/X86/vector-reduce-smin.ll
The file was modifiedllvm/test/CodeGen/X86/fp-round.ll
The file was modifiedllvm/test/CodeGen/X86/horizontal-reduce-smax.ll
The file was modifiedllvm/test/CodeGen/X86/vector-reduce-fmin-nnan.ll
The file was modifiedllvm/test/CodeGen/X86/prefer-avx256-mask-shuffle.ll
The file was modifiedllvm/test/CodeGen/X86/extractelement-index.ll
The file was modifiedllvm/test/CodeGen/X86/vector-reduce-fadd-fast.ll
The file was modifiedllvm/test/CodeGen/X86/phaddsub-undef.ll
The file was modifiedllvm/test/CodeGen/X86/insertelement-var-index.ll
The file was modifiedllvm/test/CodeGen/X86/vshift-4.ll
The file was modifiedllvm/test/CodeGen/X86/atomic-non-integer.ll
The file was modifiedllvm/test/CodeGen/X86/shrink_vmul.ll
The file was modifiedllvm/test/CodeGen/X86/vector-reduce-fmax-nnan.ll
The file was modifiedllvm/test/CodeGen/X86/umul_fix_sat.ll
The file was modifiedllvm/test/CodeGen/X86/fp-roundeven.ll
The file was modifiedllvm/test/CodeGen/X86/sse41.ll
The file was modifiedllvm/test/CodeGen/X86/vector-shuffle-256-v8.ll
The file was modifiedllvm/test/CodeGen/X86/load-partial.ll
The file was modifiedllvm/test/CodeGen/X86/vector-shuffle-512-v16.ll
The file was modifiedllvm/test/CodeGen/X86/insert-loaded-scalar.ll
The file was modifiedllvm/test/CodeGen/X86/avx512-hadd-hsub.ll
The file was modifiedllvm/test/CodeGen/X86/vector-reduce-fmax.ll
The file was modifiedllvm/test/CodeGen/X86/vector-shift-lshr-sub128.ll
The file was modifiedllvm/test/CodeGen/X86/vector-shuffle-256-v4.ll
The file was modifiedllvm/test/CodeGen/X86/bitcast-int-to-vector-bool-sext.ll
The file was modifiedllvm/test/CodeGen/X86/vec_saddo.ll
The file was modifiedllvm/test/CodeGen/X86/vec_ssubo.ll
The file was modifiedllvm/test/CodeGen/X86/vector-sext.ll
The file was modifiedllvm/test/CodeGen/X86/masked_compressstore.ll
The file was modifiedllvm/test/CodeGen/X86/masked_store.ll
The file was modifiedllvm/test/CodeGen/X86/vec-strict-fptoint-512.ll
The file was modifiedllvm/test/CodeGen/X86/vector-shift-lshr-128.ll
The file was modifiedllvm/test/CodeGen/X86/pr46455.ll
The file was modifiedllvm/test/CodeGen/X86/vector-shift-ashr-128.ll
The file was modifiedllvm/test/CodeGen/X86/var-permute-128.ll
The file was modifiedllvm/test/CodeGen/X86/vector-reduce-umax.ll
The file was modifiedllvm/test/CodeGen/X86/half.ll
The file was modifiedllvm/test/CodeGen/X86/haddsub-undef.ll
The file was modifiedllvm/test/CodeGen/X86/vector-reduce-xor.ll
The file was modifiedllvm/test/CodeGen/X86/haddsub-2.ll
The file was modifiedllvm/test/CodeGen/X86/vec-strict-fptoint-128.ll
The file was modifiedllvm/test/CodeGen/X86/vector-reduce-mul.ll
The file was modifiedllvm/test/CodeGen/X86/extract-store.ll
The file was modifiedllvm/test/CodeGen/X86/merge-consecutive-stores-nt.ll
The file was modifiedllvm/test/CodeGen/X86/vselect.ll
The file was modifiedllvm/test/CodeGen/X86/vector-fshr-256.ll
The file was modifiedllvm/test/CodeGen/X86/pr29112.ll
The file was modifiedllvm/test/CodeGen/X86/vector-shift-shl-128.ll
The file was modifiedllvm/test/CodeGen/X86/fma.ll
The file was modifiedllvm/test/CodeGen/X86/vec-libcalls.ll
The file was modifiedllvm/test/CodeGen/X86/vec-strict-inttofp-256.ll
The file was modifiedllvm/test/CodeGen/X86/vector-trunc.ll
The file was modifiedllvm/test/CodeGen/X86/vec_fp_to_int.ll
The file was modifiedllvm/test/CodeGen/X86/vec_uaddo.ll
The file was modifiedllvm/test/CodeGen/X86/pmulh.ll
The file was modifiedllvm/test/CodeGen/X86/vector-reduce-fmul.ll
The file was modifiedllvm/test/CodeGen/X86/pmaddubsw.ll
The file was modifiedllvm/test/CodeGen/X86/vector-reduce-smax.ll
The file was modifiedllvm/test/CodeGen/X86/vector-reduce-and.ll
The file was modifiedllvm/test/CodeGen/X86/bitcast-int-to-vector.ll
The file was modifiedllvm/test/CodeGen/X86/extractelement-load.ll
The file was modifiedllvm/test/CodeGen/X86/vector-reduce-fmin.ll
The file was modifiedllvm/test/CodeGen/X86/haddsub.ll
The file was modifiedllvm/test/CodeGen/X86/horizontal-reduce-add.ll
The file was modifiedllvm/test/CodeGen/X86/vector-reduce-add.ll
The file was modifiedllvm/test/CodeGen/X86/setcc-combine.ll
The file was modifiedllvm/test/CodeGen/X86/bitcast-vector-bool.ll
The file was modifiedllvm/test/CodeGen/X86/vector-rem.ll
The file was modifiedllvm/test/CodeGen/X86/known-signbits-vector.ll
The file was modifiedllvm/test/CodeGen/X86/vec_shift7.ll
The file was modifiedllvm/test/CodeGen/X86/avx-splat.ll
The file was modifiedllvm/test/CodeGen/X86/avx512-cvt.ll
The file was modifiedllvm/test/CodeGen/X86/extract-fp.ll
The file was modifiedllvm/test/CodeGen/X86/vector-reduce-fmul-fast.ll
The file was modifiedllvm/test/CodeGen/X86/mmx-arith.ll
The file was modifiedllvm/test/CodeGen/X86/vector-fshl-128.ll
The file was modifiedllvm/test/CodeGen/X86/vec_set-H.ll
The file was modifiedllvm/test/CodeGen/X86/atomic-fp.ll
The file was modifiedllvm/test/CodeGen/X86/masked_store_trunc.ll
The file was modifiedllvm/test/CodeGen/X86/pr44976.ll
The file was modifiedllvm/test/CodeGen/X86/vec-strict-128.ll
The file was modifiedllvm/test/CodeGen/X86/buildvec-insertvec.ll
The file was modifiedllvm/test/CodeGen/X86/widened-broadcast.ll
The file was modifiedllvm/test/CodeGen/X86/div-rem-pair-recomposition-signed.ll
The file was modifiedllvm/test/CodeGen/X86/insert-into-constant-vector.ll
The file was modifiedllvm/test/CodeGen/X86/oddshuffles.ll
The file was modifiedllvm/test/CodeGen/X86/min-legal-vector-width.ll
The file was modifiedllvm/test/CodeGen/X86/vector-zext.ll
The file was modifiedllvm/test/CodeGen/X86/masked_expandload.ll
The file was modifiedllvm/test/CodeGen/X86/pmul.ll
The file was modifiedllvm/test/CodeGen/X86/vector-shuffle-128-v8.ll
The file was modifiedllvm/test/CodeGen/X86/split-vector-rem.ll
The file was modifiedllvm/test/CodeGen/X86/vector-shuffle-mmx.ll
The file was modifiedllvm/test/CodeGen/X86/horizontal-reduce-fadd.ll
The file was modifiedllvm/test/CodeGen/X86/nontemporal-2.ll
The file was modifiedllvm/test/CodeGen/X86/avg.ll
The file was modifiedllvm/test/CodeGen/X86/psubus.ll
The file was modifiedllvm/test/CodeGen/X86/sad.ll
The file was modifiedllvm/test/CodeGen/X86/vec_usubo.ll
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/test/CodeGen/X86/shuffle-strided-with-offset-128.ll
The file was modifiedllvm/test/CodeGen/X86/vector-reduce-fadd.ll
The file was modifiedllvm/test/CodeGen/X86/vector-reduce-or.ll
The file was modifiedllvm/test/CodeGen/X86/masked_load.ll
The file was modifiedllvm/test/CodeGen/X86/gather-addresses.ll
The file was modifiedllvm/test/CodeGen/X86/vector-constrained-fp-intrinsics.ll
The file was modifiedllvm/test/CodeGen/X86/sse3.ll
The file was modifiedllvm/test/CodeGen/X86/sse2-intrinsics-fast-isel.ll
The file was modifiedllvm/test/CodeGen/X86/pr14161.ll
The file was modifiedllvm/test/CodeGen/X86/vector-shuffle-128-v16.ll
The file was modifiedllvm/test/CodeGen/X86/avx512-intrinsics-fast-isel.ll
The file was modifiedllvm/test/CodeGen/X86/vec_smulo.ll
The file was modifiedllvm/test/CodeGen/X86/pr46527.ll
The file was modifiedllvm/test/CodeGen/X86/2011-05-09-loaduse.ll
The file was modifiedllvm/test/CodeGen/X86/avx512-any_extend_load.ll
The file was modifiedllvm/test/CodeGen/X86/vec_int_to_fp.ll
The file was modifiedllvm/test/CodeGen/X86/vector-fshl-256.ll
The file was modifiedllvm/test/CodeGen/X86/vec_extract-mmx.ll
The file was modifiedllvm/test/CodeGen/X86/vec3.ll
The file was modifiedllvm/test/CodeGen/X86/vec-strict-inttofp-128.ll
The file was modifiedllvm/test/CodeGen/X86/pow.ll
The file was modifiedllvm/test/CodeGen/X86/fp-intrinsics-fma.ll
The file was modifiedllvm/test/CodeGen/X86/smul_fix_sat.ll
The file was modifiedllvm/test/CodeGen/X86/vector-reduce-umin.ll
The file was modifiedllvm/test/CodeGen/X86/vector-shuffle-combining.ll
The file was modifiedllvm/test/CodeGen/X86/phaddsub-extract.ll
The file was modifiedllvm/test/CodeGen/X86/vector-narrow-binop.ll
The file was modifiedllvm/test/CodeGen/X86/vector-fshr-rot-256.ll
The file was modifiedllvm/test/CodeGen/X86/vec_umulo.ll
The file was modifiedllvm/test/CodeGen/X86/vector-fshr-128.ll
The file was modifiedllvm/test/CodeGen/X86/slow-pmulld.ll
The file was modifiedllvm/test/CodeGen/X86/split-vector-bitcast.ll
The file was modifiedllvm/test/CodeGen/X86/horizontal-reduce-umax.ll
The file was modifiedllvm/test/CodeGen/X86/vector-shuffle-sse1.ll
The file was modifiedllvm/test/CodeGen/X86/vec_extract.ll
The file was modifiedllvm/test/CodeGen/X86/avx-intrinsics-fast-isel.ll
The file was modifiedllvm/test/CodeGen/X86/vector-fshl-rot-256.ll
The file was modifiedllvm/test/CodeGen/X86/bitcast-int-to-vector-bool.ll
The file was modifiedllvm/test/CodeGen/X86/memset-nonzero.ll
Commit 5d9f33aaa00cc02143f137387adc8dd1e51b71d3 by herhut
[MLIR][Shape] Add conversion for missing ops to standard

This adds conversions for const_size and to_extent_tensor. Also, cast-like operations are now folded away if the source and target types are the same.

Differential Revision: https://reviews.llvm.org/D84745
The file was modifiedmlir/include/mlir/Dialect/Shape/IR/ShapeOps.td
The file was modifiedmlir/test/Dialect/Shape/canonicalize.mlir
The file was modifiedmlir/lib/Dialect/Shape/IR/Shape.cpp
The file was modifiedmlir/lib/Conversion/ShapeToStandard/ShapeToStandard.cpp
The file was modifiedmlir/test/Conversion/ShapeToStandard/shape-to-standard.mlir
Commit b6b9d3ea85cc158a5230b4b75147d299bfc372df by frgossen
[MLIR][Shape] Remove type conversion from lowering to standard

Operating on indices and extent tensors directly, the type conversion is no
longer needed for the supported cases.

Differential Revision: https://reviews.llvm.org/D84442
The file was modifiedmlir/lib/Conversion/ShapeToStandard/ShapeToStandard.cpp
The file was modifiedmlir/test/Conversion/ShapeToStandard/shape-to-standard.mlir
Commit 380fee34d2794361f9e222fe3c8c065be3b9fff8 by abidh
[libunwind] Provide a way to set '_LIBUNWIND_IS_BAREMETAL' through cmake.

Libunwind uses _LIBUNWIND_IS_BAREMETAL in a lot of places but there is no cmake variable to set it. This patch adds such a variable. It is quite like what LIBCXXABI_BAREMETAL does in libcxxabi.

Reviewed By: compnerd, #libunwind

Differential Revision: https://reviews.llvm.org/D84759
The file was modifiedlibunwind/CMakeLists.txt
Commit 08a265435bc359841c8618081db6a698cef1f668 by grimar
[llvm-readobj] - Move out the common code from printRelocations() methods.

This introduces the printRelocationsHelper() which now contains the common
code used by both GNU and LLVM output styles.

Differential revision: https://reviews.llvm.org/D83935
The file was modifiedllvm/tools/llvm-readobj/ELFDumper.cpp
Commit c5ef1f1edd4d539df530b07daf7a0c8b94d0efc8 by llvm-dev
[TTI] Add default cost expansion for abs/smax/smin/umax/umin intrinsics
The file was modifiedllvm/test/Analysis/CostModel/X86/arith-sminmax.ll
The file was modifiedllvm/include/llvm/CodeGen/BasicTTIImpl.h
The file was modifiedllvm/test/Analysis/CostModel/X86/arith-uminmax.ll
The file was modifiedllvm/test/Analysis/CostModel/X86/abs.ll
Commit c970bb5b34c1999c9b55af88c35620c1930a581a by Pushpinder.Singh
[CMAKE] Fix 'clean' target not working

cmake was still considering the empty value of ${fake_version_inc}
even if it was not defined.

Reviewed By: vsapsai

Differential Revision: https://reviews.llvm.org/D82847
The file was modifiedllvm/include/llvm/Support/CMakeLists.txt
Commit 5d6cd61904aa03df6db4a5a33445d9af60cab0d5 by yrouban
[LoopSimplifyCFG] Delete landing pads in dead exit blocks

In addition to removing phi nodes this patch removes any
landing pad that the dead exit block might have. Without
this fix Verifier complains about a new switch instruction
jumps to a block with a landing pad.

Differential Revision: https://reviews.llvm.org/D84320
The file was addedllvm/test/Transforms/LoopSimplifyCFG/handle_dead_exits.ll
The file was modifiedllvm/lib/Transforms/Scalar/LoopSimplifyCFG.cpp
Commit 2aa2c40d23740331e01c4eeec849775ce9c33f95 by flo
[NewGVN] Require asserts for crashing tests.

Without asserts, it might take a long time for the tests to crash.
Only run them with assert builds.
The file was modifiedllvm/test/Transforms/NewGVN/todo-pr37121-seens-this-value-a-lot.ll
The file was modifiedllvm/test/Transforms/NewGVN/todo-pr35074-phi-of-ops.ll
The file was modifiedllvm/test/Transforms/NewGVN/todo-pr42422-phi-of-ops.ll
Commit aec38c619dfa1c41b6b0f6c52a31d221ac108b6b by zinenko
[mlir] LLVMType: make getUnderlyingType private

The current modeling of LLVM IR types in MLIR is based on the LLVMType class
that wraps a raw `llvm::Type *` and delegates uniquing, printing and parsing to
LLVM itself. This is model makes thread-safe type manipulation hard and is
being progressively replaced with a cleaner MLIR model that replicates the type
system. In the new model, LLVMType will no longer have an underlying LLVM IR
type. Restrict access to this type in the current model in preparation for the
change.

Reviewed By: nicolasvasilache

Differential Revision: https://reviews.llvm.org/D84389
The file was modifiedmlir/include/mlir/Dialect/LLVMIR/LLVMDialect.h
The file was modifiedmlir/include/mlir/Dialect/LLVMIR/LLVMOpBase.td
The file was modifiedmlir/lib/Conversion/SPIRVToLLVM/ConvertSPIRVToLLVM.cpp
The file was modifiedmlir/lib/Conversion/StandardToLLVM/StandardToLLVM.cpp
The file was modifiedmlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
The file was modifiedmlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVM.cpp
The file was modifiedmlir/lib/Target/LLVMIR/ConvertFromLLVMIR.cpp
The file was modifiedmlir/include/mlir/Target/LLVMIR/ModuleTranslation.h
The file was modifiedmlir/lib/Target/LLVMIR/ModuleTranslation.cpp
The file was modifiedmlir/tools/mlir-tblgen/LLVMIRConversionGen.cpp
The file was modifiedmlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
The file was modifiedmlir/include/mlir/Dialect/LLVMIR/ROCDLOps.td
Commit 5d84eafc6b86a42e261af8d753c3a823e0e7c67e by david.sherwood
[CodeGen] Remove calls to getVectorNumElements in DAGTypeLegalizer::SplitVecOp_EXTRACT_SUBVECTOR

In DAGTypeLegalizer::SplitVecOp_EXTRACT_SUBVECTOR I have replaced
calls to getVectorNumElements with getVectorMinNumElements, since
this code path works for both fixed and scalable vector types. For
scalable vectors the index will be multiplied by VSCALE.

Fixes warnings in this test:

  sve-sext-zext.ll

Differential revision: https://reviews.llvm.org/D83198
The file was modifiedllvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
Commit f43b5c7a76ab83dcc80e6769d41d5c4b761312b1 by david.sherwood
[SVE] Add checks for no warnings in CodeGen/AArch64/sve-sext-zext.ll

Previous patches fixed up all the warnings in this test:

  llvm/test/CodeGen/AArch64/sve-sext-zext.ll

and this change simply checks that no new warnings are added in future.

Differential revision: https://reviews.llvm.org/D83205
The file was modifiedllvm/test/CodeGen/AArch64/sve-sext-zext.ll
Commit 33abb7292e8f8f373f319a96a9456e05a1efce2d by noreply
[libc] [obvious] Fix typo in binary header.
The file was modifiedlibc/utils/LibcTableGenUtil/APIIndexer.cpp
Commit cdd45d5f9cf61e4a4c0bb01d5cdcdd3d12ffb10f by Matthew.Arsenault
AMDGPU/GlobalISel: Select llvm.amdgcn.global.atomic.csub

Remove the custom node boilerplate. Not sure why this tried to handle
the LDS atomic stuff.
The file was modifiedllvm/lib/Target/AMDGPU/BUFInstructions.td
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
The file was modifiedllvm/lib/Target/AMDGPU/FLATInstructions.td
The file was modifiedllvm/lib/Target/AMDGPU/SIISelLowering.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
The file was modifiedllvm/lib/Target/AMDGPU/SIInstrInfo.td
The file was addedllvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.global.atomic.csub.ll
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUISelLowering.h
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
Commit c230965ccf36af5c88c28d065488f76712333683 by Matthew.Arsenault
AMDGPU: Make saturating add/sub legal for DAG path
The file was addedllvm/test/CodeGen/AMDGPU/ssubsat.ll
The file was addedllvm/test/CodeGen/AMDGPU/saddsat.ll
The file was addedllvm/test/CodeGen/AMDGPU/uaddsat.ll
The file was modifiedllvm/lib/Target/AMDGPU/SIISelLowering.cpp
The file was addedllvm/test/Transforms/SLPVectorizer/AMDGPU/add_sub_sat.ll
The file was addedllvm/test/CodeGen/AMDGPU/usubsat.ll
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/saddo.ll
Commit 200bb5191a35333281ec241b0aa976bb17295043 by Matthew.Arsenault
AMDGPU/GlobalISel: Refactor special argument management
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.h
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUCallLowering.cpp
Commit 85342c27a303e68a4091797e5d7938aa7beb4da5 by sjoerd.meijer
[ARM] Optimize immediate selection

Optimize some specific immediates selection by materializing them with sub/mvn
instructions as opposed to loading them from the constant pool.

Patch by Ben Shi, powerman1st@163.com.

Differential Revision: https://reviews.llvm.org/D83745
The file was modifiedllvm/lib/Target/ARM/ARMExpandPseudoInsts.cpp
The file was modifiedllvm/test/CodeGen/ARM/select-imm.ll
The file was modifiedllvm/lib/Target/ARM/ARMBaseInstrInfo.cpp
The file was addedllvm/test/CodeGen/ARM/add-sub-imm.ll
The file was modifiedllvm/lib/Target/ARM/MCTargetDesc/ARMAddressingModes.h
The file was modifiedllvm/lib/Target/ARM/ARMInstrInfo.td
Commit 207877175944656bd9b52d36f391a092854572be by david.sherwood
[SVE][CodeGen] Add simple integer add tests for SVE tuple types

I have added tests to:

  CodeGen/AArch64/sve-intrinsics-int-arith.ll

for doing simple integer add operations on tuple types. Since these
tests introduced new warnings due to incorrect use of
getVectorNumElements() I have also fixed up these warnings in the
same patch. These fixes are:

1. In narrowExtractedVectorBinOp I have changed the code to bail out
early for scalable vector types, since we've not yet hit a case that
proves the optimisations are profitable for scalable vectors.
2. In DAGTypeLegalizer::WidenVecRes_CONCAT_VECTORS I have replaced
calls to getVectorNumElements with getVectorMinNumElements in cases
that work with scalable vectors. For the other cases I have added
asserts that the vector is not scalable because we should not be
using shuffle vectors and build vectors in such cases.

Differential revision: https://reviews.llvm.org/D84016
The file was modifiedllvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
The file was modifiedllvm/test/CodeGen/AArch64/sve-intrinsics-int-arith.ll
The file was modifiedllvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
Commit 60280e9818a6274d6e16556e4392821bbb65bd31 by david.green
[Analysis] TTI: Add CastContextHint for getCastInstrCost

Currently, getCastInstrCost has limited information about the cast it's
rating, often just the opcode and types.  Sometimes there is a context
instruction as well, but it isn't trustworthy: for instance, when the
vectorizer is rating a plan, it calls getCastInstrCost with the old
instructions when, in fact, it's trying to evaluate the cost of the
instruction post-vectorization.  Thus, the current system can get the
cost of certain casts incorrect as the correct cost can vary greatly
based on the context in which it's used.

For example, if the vectorizer queries getCastInstrCost to evaluate the
cost of a sext(load) with tail predication enabled, getCastInstrCost
will think it's free most of the time, but it's not always free. On ARM
MVE, a VLD2 group cannot be extended like a normal VLDR can. Similar
situations can come up with how masked loads can be extended when being
split.

To fix that, this path adds a new parameter to getCastInstrCost to give
it a hint about the context of the cast. It adds a CastContextHint enum
which contains the type of the load/store being created by the
vectorizer - one for each of the types it can produce.

Original patch by Pierre van Houtryve

Differential Revision: https://reviews.llvm.org/D79162
The file was modifiedllvm/lib/Target/Hexagon/HexagonTargetTransformInfo.cpp
The file was modifiedllvm/include/llvm/CodeGen/BasicTTIImpl.h
The file was modifiedllvm/lib/Target/X86/X86TargetTransformInfo.cpp
The file was modifiedllvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
The file was modifiedllvm/lib/Target/ARM/ARMTargetTransformInfo.h
The file was modifiedllvm/lib/Target/X86/X86TargetTransformInfo.h
The file was modifiedllvm/lib/Target/PowerPC/PPCTargetTransformInfo.h
The file was modifiedllvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
The file was modifiedllvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
The file was modifiedllvm/lib/Target/SystemZ/SystemZTargetTransformInfo.cpp
The file was modifiedllvm/lib/Target/PowerPC/PPCTargetTransformInfo.cpp
The file was modifiedllvm/include/llvm/Analysis/TargetTransformInfoImpl.h
The file was modifiedllvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp
The file was modifiedllvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
The file was modifiedllvm/lib/Transforms/Vectorize/LoopVectorize.cpp
The file was modifiedllvm/include/llvm/Analysis/TargetTransformInfo.h
The file was modifiedllvm/lib/Target/ARM/ARMTargetTransformInfo.cpp
The file was modifiedllvm/lib/Target/Hexagon/HexagonTargetTransformInfo.h
The file was modifiedllvm/lib/Target/SystemZ/SystemZTargetTransformInfo.h
The file was modifiedllvm/lib/Analysis/TargetTransformInfo.cpp
Commit 9ddb28964c92f2a2185aff0db77eaa167ac48dcf by david.green
[ARM] Tune getCastInstrCost for extending masked loads and truncating masked stores

This patch uses the feature added in D79162 to fix the cost of a
sext/zext of a masked load, or a trunc for a masked store.
Previously, those were considered cheap or even free, but it's
not the case as we cannot split the load in the same way we would for
normal loads.

This updates the costs to better reflect reality, and adds a test for it
in test/Analysis/CostModel/ARM/cast.ll.

It also adds a vectorizer test that showcases the improvement: in some
cases, the vectorizer will now choose a smaller VF when
tail-predication is enabled, which results in better codegen. (Because
if it were to use a higher VF in those cases, the code we see above
would be generated, and the vmovs would block tail-predication later in
the process, resulting in very poor codegen overall)

Original Patch by Pierre van Houtryve

Differential Revision: https://reviews.llvm.org/D79163
The file was modifiedllvm/lib/Target/ARM/ARMTargetTransformInfo.cpp
The file was addedllvm/test/Transforms/LoopVectorize/ARM/tail-folding-reduces-vf.ll
The file was modifiedllvm/test/Analysis/CostModel/ARM/cast_ldst.ll
Commit 823ffef009152ba1210740c44d472d1d6e56afa3 by herhut
[mlir][Standard] Allow unranked memrefs as operands to dim and rank

`std.dim` currently only accepts ranked memrefs and `std.rank` is limited to
tensors.

Differential Revision: https://reviews.llvm.org/D84790
The file was modifiedmlir/test/Transforms/constant-fold.mlir
The file was modifiedmlir/test/IR/invalid-ops.mlir
The file was modifiedmlir/include/mlir/Dialect/StandardOps/IR/Ops.td
The file was modifiedmlir/lib/Dialect/StandardOps/IR/Ops.cpp
Commit 75182104f09b0df288a8c7eec3701e3246805457 by llvm-dev
[TTI] Move abs/smax/smin/umax/umin cost expansion to ICA getIntrinsicInstrCost variant

This will simplify target overrides, and matches what we do for most integer intrinsic costs.
The file was modifiedllvm/include/llvm/CodeGen/BasicTTIImpl.h
Commit 8725a49409c47c25118915c4b3b41bd0d9d32bd7 by andrew.ng
[ELF][test] Add test coverage of `__real_` to wrap-plt.s

Differential Revision: https://reviews.llvm.org/D84749
The file was modifiedlld/test/ELF/wrap-plt.s
Commit d1a3396bfbc6fd6df927f2864c18d86e742cabff by victor.campos
[Driver][ARM] Disable unsupported features when nofp arch extension is used

A list of target features is disabled when there is no hardware
floating-point support. This is the case when one of the following
options is passed to clang:

- -mfloat-abi=soft
- -mfpu=none

This option list is missing, however, the extension "+nofp" that can be
specified in -march flags, such as "-march=armv8-a+nofp".

This patch also disables unsupported target features when nofp is passed
to -march.

Differential Revision: https://reviews.llvm.org/D82948
The file was modifiedclang/lib/Driver/ToolChains/Arch/ARM.cpp
The file was modifiedllvm/include/llvm/Support/ARMTargetParser.h
The file was modifiedclang/test/CodeGen/arm-bf16-softfloat.c
The file was addedclang/test/Driver/arm-nofp-disabled-features.c
The file was modifiedllvm/unittests/Support/TargetParserTest.cpp
The file was modifiedllvm/lib/Support/ARMTargetParser.cpp
Commit 0a0f28254ab7ae5cc9e1868a0ef1ba03d945434d by llvm-dev
[CostModel][X86] Add SSE costs for ABS intrinsics
The file was modifiedllvm/lib/Target/X86/X86TargetTransformInfo.cpp
The file was modifiedllvm/test/Analysis/CostModel/X86/abs.ll
Commit 71bf6dd682c03c8c29a365f602f5168d44757abe by victor.campos
[Driver][ARM] Fix testcase that should only run on ARM

Fix testcase introduced in d1a3396bfbc6fd6df927f2864c18d86e742cabff.
The file was modifiedclang/test/CodeGen/arm-bf16-softfloat.c
Commit 8c3262a7b48017b5f5c8aef5b83b4cd1f3dcc324 by spatel
[ConstantFolding] update test checks FP min/max intrinsics

There's a slight difference in functionality with the new CHECK lines:
before, we allowed either -0.0 or 0.0 for maxnum/minnum. That matches
the definition, but we should always get a deterministic result from
constant folding within the compiler, so now we assert that we got
the single expected result in all cases.
The file was modifiedllvm/test/Analysis/ConstantFolding/min-max.ll
Commit ad793ed90370f0e99fa7ae0cc4d4e97081b5561a by tpopp
Forward extent tensors through shape.broadcast.

Differential Revision: https://reviews.llvm.org/D84832
The file was modifiedmlir/include/mlir/Dialect/Shape/IR/ShapeOps.td
The file was modifiedmlir/test/Dialect/Shape/ops.mlir
The file was modifiedmlir/test/Dialect/Shape/canonicalize.mlir
The file was modifiedmlir/test/Dialect/Shape/invalid.mlir
Commit 1ae63b4179c222431cd6a4b2397abceaa5bc3d30 by riccibrun
[clang][NFC] Pass the ASTContext to CXXRecordDecl::setCaptures

In general Decl::getASTContext() is relatively expensive and here the changes
are non-invasive. NFC.
The file was modifiedclang/lib/AST/ASTImporter.cpp
The file was modifiedclang/include/clang/AST/DeclCXX.h
The file was modifiedclang/lib/Sema/SemaLambda.cpp
The file was modifiedclang/lib/AST/DeclCXX.cpp
Commit 517fe058d42a1f937e14de4b61a5ac2ad326c850 by riccibrun
[clang][NFC] clang-format fix after eb10b065f2a870b425dcc2040b9955e0eee464b4
The file was modifiedclang/lib/Sema/SemaDeclAttr.cpp
Commit 6673c6cd82f79b76c1676ab1ab30a288286acb71 by frgossen
[MLIR][Shape] Limit shape to standard lowerings to their supported types

The lowering does not support all types for its source operations. This change
makes the patterns fail in a well-defined manner.

Differential Revision: https://reviews.llvm.org/D84443
The file was modifiedmlir/lib/Conversion/ShapeToStandard/ShapeToStandard.cpp
The file was modifiedmlir/test/Conversion/ShapeToStandard/shape-to-standard.mlir
Commit 99166fd4fb422351f131fb1265cb85d5f6c5b8da by flo
[SCEVExpander] Add option to preserve LCSSA directly.

This patch teaches SCEVExpander to directly preserve LCSSA.

As it is currently, SCEV does not look through PHI nodes in loops,
as it might break LCSSA form. Once SCEVExpander can preserve
LCSSA form, it should be safe for SCEV to look through PHIs.

To preserve LCSSA form, this patch uses formLCSSAForInstructions
on operands of newly created instructions, if the definition is inside
a different loop than the new instruction.

The final value we return from expandCodeFor may also need LCSSA
phis, depending on the insert point. As no user for it exists there yet,
create a temporary instruction at the insert point, which can be passed
to formLCSSAForInstructions. This temporary instruction is removed
after LCSSA construction.

Reviewed By: mkazantsev

Differential Revision: https://reviews.llvm.org/D71538
The file was modifiedllvm/include/llvm/Transforms/Utils/ScalarEvolutionExpander.h
The file was modifiedllvm/unittests/Transforms/Utils/ScalarEvolutionExpanderTest.cpp
The file was modifiedllvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
The file was modifiedllvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
Commit 672df0fc670e79ce7ac710ce4b5f47804f54a18a by aqjune
[InstSimplify] add tests for expandCommutativeBinOp; NFC
The file was addedllvm/test/Transforms/InstSimplify/distribute.ll
Commit 2c662f3d3d957365ad86f35eee0bea05e4cf0188 by tkeith
[flang] Fix bug with intrinsic in type declaration stmt

When an instrinsic function is declared in a type declaration statement
we need to set the INTRINSIC attribute and (per 8.2(3)) ignore the
specified type.

To simplify the check, add IsIntrinsic utility to BaseVisitor.

Also, intrinsics and external procedures were getting assigned a size
and offset and they shouldn't be.

Differential Revision: https://reviews.llvm.org/D84702
The file was modifiedflang/lib/Semantics/compute-offsets.cpp
The file was modifiedflang/include/flang/Semantics/symbol.h
The file was modifiedflang/lib/Semantics/resolve-names.cpp
The file was addedflang/test/Semantics/symbol18.f90
Commit 8d27be8dbaffce0519ac41173d51923fc2524b1b by alexey.bader
[OpenCL] Add global_device and global_host address spaces

This patch introduces 2 new address spaces in OpenCL: global_device and global_host
which are a subset of a global address space, so the address space scheme will be
looking like:

```
generic->global->host
                          ->device
             ->private
             ->local
constant
```

Justification: USM allocations may be associated with both host and device memory. We
want to give users a way to tell the compiler the allocation type of a USM pointer for
optimization purposes. (Link to the Unified Shared Memory extension:
https://github.com/intel/llvm/blob/sycl/sycl/doc/extensions/USM/cl_intel_unified_shared_memory.asciidoc)

Before this patch USM pointer could be only in opencl_global
address space, hence a device backend can't tell if a particular pointer
points to host or device memory. On FPGAs at least we can generate more
efficient hardware code if the user tells us where the pointer can point -
being able to distinguish between these types of pointers at compile time
allows us to instantiate simpler load-store units to perform memory
transactions.

Patch by Dmitry Sidorov.

Reviewed By: Anastasia

Differential Revision: https://reviews.llvm.org/D82174
The file was modifiedclang/lib/AST/MicrosoftMangle.cpp
The file was modifiedclang/include/clang/Sema/ParsedAttr.h
The file was modifiedclang/lib/AST/ItaniumMangle.cpp
The file was modifiedclang/lib/CodeGen/CodeGenModule.cpp
The file was modifiedclang/lib/Sema/SemaType.cpp
The file was modifiedclang/include/clang/Basic/AddressSpaces.h
The file was modifiedclang/test/CodeGenCXX/mangle-address-space.cpp
The file was addedclang/test/SemaOpenCL/usm-address-spaces-conversions.cl
The file was modifiedclang/test/AST/language_address_space_attribute.cpp
The file was modifiedclang/lib/AST/TypePrinter.cpp
The file was modifiedclang/lib/AST/ASTContext.cpp
The file was modifiedclang/test/SemaTemplate/address_space-dependent.cpp
The file was modifiedclang/include/clang/AST/Type.h
The file was modifiedclang/lib/Basic/Targets/AMDGPU.cpp
The file was modifiedclang/lib/Basic/Targets/X86.h
The file was modifiedclang/lib/Basic/Targets/NVPTX.h
The file was modifiedclang/lib/Basic/Targets/SPIR.h
The file was modifiedclang/test/CodeGenOpenCL/address-spaces-conversions.cl
The file was modifiedclang/test/CodeGenOpenCL/address-spaces.cl
The file was modifiedclang/include/clang/Basic/Attr.td
The file was modifiedclang/lib/Basic/Targets/TCE.h
The file was modifiedclang/include/clang/Basic/AttrDocs.td
Commit b99630e432614d06b380afb15c466665065eaa0a by n.james93
[clang-tidy] Fix RedundantStringCStrCheck with r values

The previous fix for this, https://reviews.llvm.org/D76761, Passed test cases but failed in the real world as std::string has a non trivial destructor so creates a CXXBindTemporaryExpr.

This handles that shortfall and updates the test case std::basic_string implementation to use a non trivial destructor to reflect real world behaviour.

Reviewed By: gribozavr2

Differential Revision: https://reviews.llvm.org/D84831
The file was modifiedclang-tools-extra/clang-tidy/readability/RedundantStringCStrCheck.cpp
The file was modifiedclang-tools-extra/test/clang-tidy/checkers/readability-redundant-string-cstr.cpp
Commit 1aaf8aa53d694309087b322861038130490bdd5e by zinenko
[mlir][Linalg] Conv1D, Conv2D and Conv3D added as named ops

This commit is part of a greater project which aims to add
full end-to-end support for convolutions inside mlir. The
reason behind having conv ops for each rank rather than
having one generic ConvOp is to enable better optimizations
for every N-D case which reflects memory layout of input/kernel
buffers better and simplifies code as well. We expect plain linalg.conv
to be progressively retired.

Reviewed By: ftynse

Differential Revision: https://reviews.llvm.org/D83879
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Loops.cpp
The file was modifiedmlir/include/mlir/Dialect/Linalg/IR/LinalgOps.h
The file was modifiedmlir/include/mlir/Dialect/Linalg/IR/LinalgStructuredOps.td
The file was modifiedmlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
The file was modifiedmlir/lib/Conversion/LinalgToStandard/LinalgToStandard.cpp
The file was modifiedmlir/test/Dialect/Linalg/invalid.mlir
The file was modifiedmlir/test/Dialect/Linalg/loops.mlir
Commit 5fc34fafa72e311763b43f3041bb7113c8ae5b6f by frgossen
[MLIR][Shape] Limit shape to SCF lowering patterns to their supported types

Differential Revision: https://reviews.llvm.org/D84444
The file was modifiedmlir/lib/Conversion/ShapeToSCF/ShapeToSCF.cpp
The file was modifiedmlir/test/Conversion/ShapeToSCF/shape-to-scf.mlir
Commit d1abca187d9c77d1e238b90874cada81ec4f05cc by llvm-dev
[CostModel][X86] Add SSE costs for SMAX/SMIN/UMAX/UMIN intrinsics
The file was modifiedllvm/test/Analysis/CostModel/X86/arith-uminmax.ll
The file was modifiedllvm/test/Analysis/CostModel/X86/arith-sminmax.ll
The file was modifiedllvm/lib/Target/X86/X86TargetTransformInfo.cpp
Commit d5776f250fbc80972b98bf1046c4a5d9b6d84e67 by cebowleratibm
[NFC][PPC][AIX] Add test coverage for _Complex return values

Differential Revision: https://reviews.llvm.org/D84069
The file was addedtest/CodeGen/PowerPC/aix-complex.ll
Commit 9f958958334f380c675b832e8207304dfe0a874f by spatel
[ConstantFolding] add tests for integer min/max intrinsics; NFC
The file was modifiedllvm/test/Analysis/ConstantFolding/min-max.ll
Commit 9ee7d7122c067d929667e65cc11f600e4592cd8a by spatel
[ConstantFolding] fold integer min/max intrinsics

If both operands are undef, return undef.
If one operand is undef, clamp to limit constant.
The file was modifiedllvm/test/Analysis/ConstantFolding/min-max.ll
The file was modifiedllvm/lib/Analysis/ConstantFolding.cpp
Commit bfa140376df89eea4e984ad983b1809f60187b7e by Xing
[DWARFYAML] Make the field names consistent with the DWARF spec. NFC.

This patch replaces 'AddrSize'/'SegSize' with
'AddressSize'/'SegmentSelectorSize'. NFC.
The file was modifiedllvm/test/tools/obj2yaml/MachO/DWARF-debug_aranges-error.yaml
The file was modifiedllvm/lib/ObjectYAML/DWARFYAML.cpp
The file was modifiedllvm/test/ObjectYAML/MachO/DWARF-debug_aranges.yaml
The file was modifiedllvm/test/tools/llvm-gsymutil/ARM_AArch64/fat-macho-dwarf.yaml
The file was modifiedllvm/test/ObjectYAML/MachO/DWARF-debug_info.yaml
The file was modifiedllvm/test/ObjectYAML/MachO/DWARF-debug_line.yaml
The file was modifiedllvm/test/ObjectYAML/MachO/DWARF5-debug_info.yaml
The file was modifiedllvm/test/tools/llvm-gsymutil/X86/mach-dwarf.yaml
The file was modifiedllvm/test/tools/yaml2obj/ELF/DWARF/debug-aranges.yaml
Commit 62beb7c6f4f2288793751740f06edc0dc25d01f6 by n.james93
[clang-tidy] Fix module options being registered with different priorities

Not a bug that is ever likely to materialise, but still worth fixing

Reviewed By: DmitryPolukhin

Differential Revision: https://reviews.llvm.org/D84850
The file was modifiedclang-tools-extra/clang-tidy/ClangTidyOptions.cpp
Commit 6a05c6bfc8d363a6d3d6cd7015d0e6fc01a91ce2 by simon.wallis2
[MachineCopyPropagation] BackwardPropagatableCopy: add check for hasOverlappingMultipleDef

In MachineCopyPropagation::BackwardPropagatableCopy(),
a check is added for multiple destination registers.

The copy propagation is avoided if the copied destination register
is the same register as another destination on the same instruction.

A new test is added.  This used to fail on ARM like this:
error: unpredictable instruction, RdHi and RdLo must be different
        umull   r9, r9, lr, r0

Reviewed By: lkail

Differential Revision: https://reviews.llvm.org/D82638
The file was addedllvm/test/CodeGen/ARM/mcp-dest-regs-no-dup.mir
The file was modifiedllvm/lib/CodeGen/MachineCopyPropagation.cpp
Commit 7db017bf3405c7fa43786fe27380d88702e19584 by johannes
[OpenMP][Docs] Update Clang Support docs after D75591
The file was modifiedclang/docs/OpenMPSupport.rst
Commit ee05167cc42b95f70bc2ff1bd4402969f356f53b by johannes
[OpenMP] Allow traits for the OpenMP context selector `isa`

It was unclear what `isa` was supposed to mean so we did not provide any
traits for this context selector. With this patch we will allow *any*
string or identifier. We use the target attribute and target info to
determine if the trait matches. In other words, we will check if the
provided value is a target feature that is available (at the call site).

Fixes PR46338

Reviewed By: ABataev

Differential Revision: https://reviews.llvm.org/D83281
The file was modifiedclang/lib/AST/OpenMPClause.cpp
The file was modifiedllvm/include/llvm/Frontend/OpenMP/OMPContext.h
The file was modifiedclang/include/clang/AST/OpenMPClause.h
The file was modifiedclang/include/clang/Basic/DiagnosticParseKinds.td
The file was modifiedllvm/include/llvm/Frontend/OpenMP/OMPKinds.def
The file was modifiedclang/lib/Parse/ParseOpenMP.cpp
The file was modifiedllvm/lib/Frontend/OpenMP/OMPContext.cpp
The file was modifiedclang/include/clang/Basic/DiagnosticSemaKinds.td
The file was modifiedllvm/unittests/Frontend/OpenMPContextTest.cpp
The file was modifiedclang/lib/Sema/SemaOpenMP.cpp
The file was addedclang/test/OpenMP/declare_variant_device_isa_codegen_1.c
The file was modifiedclang/test/OpenMP/declare_variant_messages.c
Commit 5cf0c2e67b802b71ba1d8e02d985c9133afb7fc8 by Yuanfang Chen
[NewPM][PassInstrument] Add a new kind of before-pass callback that only get called if the pass is not skipped

TODO
* PrintIRInstrumentation and TimePassesHandler would be using this new callback.
* "Running pass" logging will also be moved to use this callback.

Reviewed By: aeubanks

Differential Revision: https://reviews.llvm.org/D84772
The file was modifiedllvm/include/llvm/IR/PassInstrumentation.h
The file was modifiedllvm/unittests/IR/PassBuilderCallbacksTest.cpp
Commit 7a2e1122ae4611916c920c815a4310085ed04830 by Yuanfang Chen
[NewPM][PassInstrument] Make PrintIR and TimePasses to use before-pass-run callback

Reviewed By: asbirlea, aeubanks

Differential Revision: https://reviews.llvm.org/D84773
The file was modifiedllvm/lib/IR/PassTimingInfo.cpp
The file was modifiedllvm/lib/Passes/StandardInstrumentations.cpp
The file was modifiedllvm/include/llvm/IR/PassTimingInfo.h
The file was modifiedllvm/include/llvm/Passes/StandardInstrumentations.h
Commit 9ad7c980bb47edd7db8f8db828b487cc7dfc9921 by david.sherwood
[SVE] Don't consider scalable vector types in SLPVectorizerPass::vectorizeChainsInBlock

In vectorizeChainsInBlock we try to collect chains of PHI nodes
that have the same element type, but the code is relying upon
the implicit conversion from TypeSize -> uint64_t. For now, I have
modified the code to ignore PHI nodes with scalable types.

Differential Revision: https://reviews.llvm.org/D83542
The file was modifiedllvm/test/Transforms/SLPVectorizer/AArch64/scalable-vector.ll
The file was modifiedllvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Commit bbc2ddecbd342d4502fe43466bd3658b89ddad7d by n.james93
[clang-tidy] Handled insertion only fixits when determining conflicts.

Handle insertion fix-its when removing incompatible errors by introducting a new EventType `ET_Insert`
This has lower prioirty than End events, but higher than begin.
Idea being If an insert is at the same place as a begin event, the insert should be processed first to reduce unnecessary conflicts.
Likewise if its at the same place as an end event, process the end event first for the same reason.

This also fixes https://bugs.llvm.org/show_bug.cgi?id=46511.

Reviewed By: aaron.ballman

Differential Revision: https://reviews.llvm.org/D82898
The file was modifiedclang-tools-extra/clang-tidy/ClangTidyDiagnosticConsumer.cpp
The file was addedclang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines-init-variables-conflict.cpp
Commit d42c7b22118c763090e3bec180cb8f01b5c4cfeb by Matthew.Arsenault
AMDGPU: Account for the size of LDS globals used through constant
expressions.

Also "fix" the longstanding bug where the computed size depends on the
order of the visitation. We could try to predict the allocation order
used by legalization, but it would never be 100% perfect. Until we
start fixing the addresses somehow (or have a more reliable allocation
scheme later), just try to compute the size based on the worst case
padding.
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUPromoteAlloca.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/promote-alloca-to-lds-constantexpr-use.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/promote-alloca-padding-size-estimate.ll
Commit a4ade9ed21e55946c52961a549ca4d23f9058b08 by shkzhang
[MachineVerifier] Handle the PHI node for verifyLiveVariables()

Summary:
When doing MachineVerifier for LiveVariables, the MachineVerifier pass
will calculate the LiveVariables, and compares the result with the
result livevars pass gave. If they are different, verifyLiveVariables()
will give error.

But when we calculate the LiveVariables in MachineVerifier, we don't
consider the PHI node, while livevars considers.

This patch is to fix above bug.

Reviewed By: bjope

Differential Revision: https://reviews.llvm.org/D80274
The file was modifiedllvm/test/CodeGen/PowerPC/livevars-crash1.mir
The file was modifiedllvm/lib/CodeGen/MachineVerifier.cpp
The file was modifiedllvm/test/CodeGen/PowerPC/livevars-crash2.mir
Commit 3c20ede18b85ba17557d7060d7d5ef2050ce77c0 by spatel
[InstSimplify] fold integer min/max intrinsic with same args
The file was modifiedllvm/lib/Analysis/InstructionSimplify.cpp
The file was modifiedllvm/test/Transforms/InstSimplify/maxmin_intrinsics.ll
Commit 3e8534fbc62c87bd72c4145598a61eb805c82393 by spatel
[InstSimplify] allow partial undef constants for vector min/max folds
The file was modifiedllvm/test/Transforms/InstSimplify/maxmin_intrinsics.ll
The file was modifiedllvm/lib/Analysis/InstructionSimplify.cpp
Commit 4a10029d7ed910a74c589de1dd26bca9176e0e62 by aeubanks
[NewPM][Attributor] Pin tests with -attributor to legacy PM

All these tests already explicitly test against both legacy PM and NPM.

$ sed -i 's/ -attributor / -attributor -enable-new-pm=0 /g' $(rg --path-separator // -l -- -passes=)
$ sed -i 's/ -attributor-cgscc / -attributor-cgscc -enable-new-pm=0 /g' $(rg --path-separator // -l -- -passes=)

Now all tests in Transforms/Attributor/ pass under NPM.

Reviewed By: jdoerfert

Differential Revision: https://reviews.llvm.org/D84813
The file was modifiedllvm/test/Transforms/Attributor/callbacks.ll
The file was modifiedllvm/test/Transforms/Attributor/IPConstantProp/openmp_parallel_for.ll
The file was modifiedllvm/test/Transforms/Attributor/dereferenceable-1.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/pr27568.ll
The file was modifiedllvm/test/Transforms/Attributor/noreturn.ll
The file was modifiedllvm/test/Transforms/Attributor/liveness_chains.ll
The file was modifiedllvm/test/Transforms/Attributor/nocapture-1.ll
The file was modifiedllvm/test/Transforms/Attributor/heap_to_stack.ll
The file was modifiedllvm/test/Transforms/Attributor/value-simplify.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/byval.ll
The file was modifiedllvm/test/Transforms/Attributor/IPConstantProp/arg-type-mismatch.ll
The file was modifiedllvm/test/Transforms/Attributor/IPConstantProp/pthreads.ll
The file was modifiedllvm/test/Transforms/Attributor/alwaysinline.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/chained.ll
The file was modifiedllvm/test/Transforms/Attributor/IPConstantProp/2008-06-09-WeakProp.ll
The file was modifiedllvm/test/Transforms/Attributor/IPConstantProp/dangling-block-address.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/control-flow.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/nonzero-address-spaces.ll
The file was modifiedllvm/test/Transforms/Attributor/readattrs.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/pr32917.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/variadic.ll
The file was modifiedllvm/test/Transforms/Attributor/IPConstantProp/PR26044.ll
The file was modifiedllvm/test/Transforms/Attributor/dereferenceable-2.ll
The file was modifiedllvm/test/Transforms/Attributor/IPConstantProp/global.ll
The file was modifiedllvm/test/Transforms/Attributor/reduced/register_benchmark_test.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/tail.ll
The file was modifiedllvm/test/Transforms/Attributor/IPConstantProp/arg-count-mismatch.ll
The file was modifiedllvm/test/Transforms/Attributor/IPConstantProp/PR43857.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/naked_functions.ll
The file was modifiedllvm/test/Transforms/Attributor/willreturn.ll
The file was modifiedllvm/test/Transforms/Attributor/IPConstantProp/2009-09-24-byval-ptr.ll
The file was modifiedllvm/test/Transforms/Attributor/range.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/crash.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/fp80.ll
The file was modifiedllvm/test/Transforms/Attributor/misc.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/profile.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/reserve-tbaa.ll
The file was modifiedllvm/test/Transforms/Attributor/IPConstantProp/PR16052.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/X86/min-legal-vector-width.ll
The file was modifiedllvm/test/Transforms/Attributor/align.ll
The file was modifiedllvm/test/Transforms/Attributor/lvi-after-jumpthreading.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/sret.ll
The file was modifiedllvm/test/Transforms/Attributor/IPConstantProp/remove-call-inst.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/live_called_from_dead.ll
The file was modifiedllvm/test/Transforms/Attributor/IPConstantProp/return-constant.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/X86/attributes.ll
The file was modifiedllvm/test/Transforms/Attributor/IPConstantProp/naked-return.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/inalloca.ll
The file was modifiedllvm/test/Transforms/Attributor/IPConstantProp/comdat-ipo.ll
The file was modifiedllvm/test/Transforms/Attributor/nounwind.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/control-flow2.ll
The file was modifiedllvm/test/Transforms/Attributor/returned.ll
The file was modifiedllvm/test/Transforms/Attributor/undefined_behavior.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/pr33641_remove_arg_dbgvalue.ll
The file was modifiedllvm/test/Transforms/Attributor/liveness.ll
The file was modifiedllvm/test/Transforms/Attributor/IPConstantProp/solve-after-each-resolving-undefs-for-function.ll
The file was modifiedllvm/test/Transforms/Attributor/IPConstantProp/fp-bc-icmp-const-fold.ll
The file was modifiedllvm/test/Transforms/Attributor/nocapture-2.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/X86/thiscall.ll
The file was modifiedllvm/test/Transforms/Attributor/read_write_returned_arguments_scc.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/2008-02-01-ReturnAttrs.ll
The file was modifiedllvm/test/Transforms/Attributor/IPConstantProp/recursion.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/musttail.ll
The file was modifiedllvm/test/Transforms/Attributor/misc_crash.ll
The file was modifiedllvm/test/Transforms/Attributor/IPConstantProp/return-argument.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/2008-09-07-CGUpdate.ll
The file was modifiedllvm/test/Transforms/Attributor/IPConstantProp/thread_local_acs.ll
The file was modifiedllvm/test/Transforms/Attributor/noalias.ll
The file was modifiedllvm/test/Transforms/Attributor/nonnull.ll
The file was modifiedllvm/test/Transforms/Attributor/internal-noalias.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/2008-07-02-array-indexing.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/basictest.ll
The file was modifiedllvm/test/Transforms/Attributor/lvi-for-ashr.ll
The file was modifiedllvm/test/Transforms/Attributor/IPConstantProp/return-constants.ll
The file was modifiedllvm/test/Transforms/Attributor/norecurse.ll
The file was modifiedllvm/test/Transforms/Attributor/nofree.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/2008-09-08-CGUpdateSelfEdge.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/aggregate-promote.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/alignment.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/byval-2.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/attrs.ll
The file was modifiedllvm/test/Transforms/Attributor/IPConstantProp/multiple_callbacks.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/live_called_from_dead_2.ll
The file was modifiedllvm/test/Transforms/Attributor/nosync.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/dbg.ll
The file was modifiedllvm/test/Transforms/Attributor/IPConstantProp/deadarg.ll
The file was modifiedllvm/test/Transforms/Attributor/memory_locations.ll
The file was modifiedllvm/test/Transforms/Attributor/IPConstantProp/musttail-call.ll
Commit 9f2f3b9de6314a009322b6081c792ebf9a469460 by jdenny.ornl
[OpenMP] Implement TR8 `present` motion modifier in Clang (1/2)

This patch implements Clang front end support for the OpenMP TR8
`present` motion modifier for `omp target update` directives.  The
next patch in this series implements OpenMP runtime support.

Reviewed By: ABataev

Differential Revision: https://reviews.llvm.org/D84711
The file was modifiedclang/lib/CodeGen/CGOpenMPRuntime.cpp
The file was modifiedclang/include/clang/Basic/OpenMPKinds.h
The file was modifiedclang/include/clang/Parse/Parser.h
The file was modifiedclang/lib/Sema/SemaOpenMP.cpp
The file was modifiedclang/test/OpenMP/declare_mapper_ast_print.c
The file was modifiedclang/lib/Serialization/ASTWriter.cpp
The file was modifiedclang/lib/AST/OpenMPClause.cpp
The file was modifiedclang/lib/Sema/TreeTransform.h
The file was modifiedclang/test/OpenMP/target_update_messages.cpp
The file was modifiedclang/include/clang/Basic/DiagnosticSemaKinds.td
The file was modifiedclang/lib/Serialization/ASTReader.cpp
The file was modifiedclang/test/OpenMP/target_update_codegen.cpp
The file was modifiedclang/include/clang/AST/OpenMPClause.h
The file was modifiedclang/include/clang/Sema/Sema.h
The file was modifiedclang/include/clang/Basic/OpenMPKinds.def
The file was modifiedclang/lib/Basic/OpenMPKinds.cpp
The file was modifiedclang/test/OpenMP/target_update_ast_print.cpp
The file was modifiedclang/lib/Parse/ParseOpenMP.cpp
The file was modifiedclang/test/OpenMP/declare_mapper_codegen.cpp
Commit cee52dd02672ecff33d9bd8300aa09a91853a149 by jdenny.ornl
[OpenMP] Implement TR8 `present` motion modifier in runtime (2/2)

This patch implements OpenMP runtime support for the OpenMP TR8
`present` motion modifier for `omp target update` directives.  The
previous patch in this series implements Clang front end support.

Reviewed By: grokos

Differential Revision: https://reviews.llvm.org/D84712
The file was modifiedopenmp/libomptarget/src/omptarget.cpp
The file was addedopenmp/libomptarget/test/mapping/present/target_update.c
Commit 31342eb63e93ae1f453fe61924bd2c1f134dd1c0 by listmail
[Statepoint] When using the tied def lowering, unconditionally use vregs [almost NFC]

This builds on 3da1a96 on the path towards supporting invokes and cross block relocations. The actual change attempts to be NFC, but does fail in one corner-case explained below.

The change itself is fairly mechanical. Rather than remember SDValues - which are inherently block local - immediately produce a virtual register copy and remember that.

Once this lands, we'll update the FunctionLoweringInfo::StatepointSpillMap map to allow register based lowerings, delete VirtRegs from StatepointLowering, and drop the restriction against cross block relocations. I deliberately separate the semantic part into it's own change for easy of understanding and fault isolation.

The corner-case which isn't quite NFC is that the old implementation implicitly CSEd gc.relocates of the same SDValue regardless of type. The new implementation still only relocates once, but it produces distinct vregs for the bitcast and it's source, whereas SelectionDAG's generic CSE was able to remove the bitcast in the old implementation. Note that the final assembly doesn't change (at least in the test), as our MI level optimizations catch the duplication.

I assert that this is an uninteresting corner-case. It's functionally correct, and if we find a case where this influences performance, we should really be canonicalizing types to i8* at the IR level.

Differential Revision: https://reviews.llvm.org/D84692
The file was modifiedllvm/test/CodeGen/X86/statepoint-vreg.ll
The file was modifiedllvm/lib/CodeGen/SelectionDAG/StatepointLowering.cpp
The file was modifiedllvm/lib/CodeGen/SelectionDAG/StatepointLowering.h
Commit 802c043078ad653aca131648a130b59f041df0b5 by shkzhang
[PowerPC] Set v1i128 to expand for SETCC to avoid crash

Summary:
PPC only supports the instruction selection for v16i8, v8i16, v4i32,
v2i64, v4f32 and v2f64 for ISD::SETCC, don't support the v1i128, so
v1i128 for ISD::SETCC will crash.

This patch is to set v1i128 to expand to avoid crash.

Reviewed By: steven.zhang

Differential Revision: https://reviews.llvm.org/D84238
The file was addedllvm/test/CodeGen/PowerPC/setcc-vector.ll
The file was modifiedllvm/lib/Target/PowerPC/PPCISelLowering.cpp
Commit 1d51dc38d89bd33fb8874e242ab87b265b4dec1c by lebedev.ri
[SimplifyCFG][LoopRotate] SimplifyCFG: disable common instruction hoisting by default, enable late in pipeline

I've been looking at missed vectorizations in one codebase.
One particular thing that stands out is that some of the loops
reach vectorizer in a rather mangled form, with weird PHI's,
and some of the loops aren't even in a rotated form.

After taking a more detailed look, that happened because
the loop's headers were too big by then. It is evident that
SimplifyCFG's common code hoisting transform is at fault there,
because the pattern it handles is precisely the unrotated
loop basic block structure.

Surprizingly, `SimplifyCFGOpt::HoistThenElseCodeToIf()` is enabled
by default, and is always run, unlike it's friend, common code sinking
transform, `SinkCommonCodeFromPredecessors()`, which is not enabled
by default and is only run once very late in the pipeline.

I'm proposing to harmonize this, and disable common code hoisting
until //late// in pipeline. Definition of //late// may vary,
here currently i've picked the same one as for code sinking,
but i suppose we could enable it as soon as right after
loop rotation happens.

Experimentation shows that this does indeed unsurprizingly help,
more loops got rotated, although other issues remain elsewhere.

Now, this undoubtedly seriously shakes phase ordering.
This will undoubtedly be a mixed bag in terms of both compile- and
run- time performance, codesize. Since we no longer aggressively
hoist+deduplicate common code, we don't pay the price of said hoisting
(which wasn't big). That may allow more loops to be rotated,
so we pay that price. That, in turn, that may enable all the transforms
that require canonical (rotated) loop form, including but not limited to
vectorization, so we pay that too. And in general, no deduplication means
more [duplicate] instructions going through the optimizations. But there's still
late hoisting, some of them will be caught late.

As per benchmarks i've run {F12360204}, this is mostly within the noise,
there are some small improvements, some small regressions.
One big regression i saw i fixed in rG8d487668d09fb0e4e54f36207f07c1480ffabbfd, but i'm sure
this will expose many more pre-existing missed optimizations, as usual :S

llvm-compile-time-tracker.com thoughts on this:
http://llvm-compile-time-tracker.com/compare.php?from=e40315d2b4ed1e38962a8f33ff151693ed4ada63&to=c8289c0ecbf235da9fb0e3bc052e3c0d6bff5cf9&stat=instructions
* this does regress compile-time by +0.5% geomean (unsurprizingly)
* size impact varies; for ThinLTO it's actually an improvement

The largest fallout appears to be in GVN's load partial redundancy
elimination, it spends *much* more time in
`MemoryDependenceResults::getNonLocalPointerDependency()`.
Non-local `MemoryDependenceResults` is widely-known to be, uh, costly.
There does not appear to be a proper solution to this issue,
other than silencing the compile-time performance regression
by tuning cut-off thresholds in `MemoryDependenceResults`,
at the cost of potentially regressing run-time performance.
D84609 attempts to move in that direction, but the path is unclear
and is going to take some time.

If we look at stats before/after diffs, some excerpts:
* RawSpeed (the target) {F12360200}
  * -14 (-73.68%) loops not rotated due to the header size (yay)
  * -272 (-0.67%) `"Number of live out of a loop variables"` - good for vectorizer
  * -3937 (-64.19%) common instructions hoisted
  * +561 (+0.06%) x86 asm instructions
  * -2 basic blocks
  * +2418 (+0.11%) IR instructions
* vanilla test-suite + RawSpeed + darktable  {F12360201}
  * -36396 (-65.29%) common instructions hoisted
  * +1676 (+0.02%) x86 asm instructions
  * +662 (+0.06%) basic blocks
  * +4395 (+0.04%) IR instructions

It is likely to be sub-optimal for when optimizing for code size,
so one might want to change tune pipeline by enabling sinking/hoisting
when optimizing for size.

Reviewed By: mkazantsev

Differential Revision: https://reviews.llvm.org/D84108
The file was modifiedllvm/test/Transforms/PhaseOrdering/loop-rotation-vs-common-code-hoisting.ll
The file was modifiedllvm/include/llvm/Transforms/Utils/SimplifyCFGOptions.h
The file was modifiedllvm/lib/Transforms/IPO/PassManagerBuilder.cpp
The file was modifiedllvm/lib/Target/Hexagon/HexagonTargetMachine.cpp
The file was modifiedllvm/test/Transforms/PGOProfile/chr.ll
The file was modifiedllvm/test/Transforms/SimplifyCFG/common-code-hoisting.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64TargetMachine.cpp
The file was modifiedllvm/lib/Target/ARM/ARMTargetMachine.cpp
The file was modifiedllvm/lib/Transforms/Scalar/SimplifyCFGPass.cpp
The file was modifiedllvm/lib/Passes/PassBuilder.cpp
Commit fdc902774e7ae0dae0833216500da047c7c4bec6 by llvm-dev
[DAG][AMDGPU][X86] Add SimplifyMultipleUseDemandedBits handling for SIGN/ZERO_EXTEND + SIGN/ZERO_EXTEND_VECTOR_INREG

Peek through multiple use ops like we already do for ANY_EXTEND/ANY_EXTEND_VECTOR_INREG

Differential Revision: https://reviews.llvm.org/D84863
The file was modifiedllvm/test/CodeGen/AMDGPU/idot8u.ll
The file was modifiedllvm/test/CodeGen/X86/vector-fshr-128.ll
The file was modifiedllvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/ssubsat.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/usubsat.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/uaddsat.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/idot8s.ll
The file was modifiedllvm/test/CodeGen/X86/vector-fshl-128.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/fshr.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/bswap.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/saddsat.ll
Commit ee9617e96b05de04b2f189596b86c6149c807764 by spatel
[InstSimplify] try constant folding intrinsics before general simplifications

This matches the behavior of simplify calls for regular opcodes -
rely on ConstantFolding before spending time on folds with variables.

I am not aware of any diffs from this re-ordering currently, but there was
potential for unintended behavior from the min/max intrinsics because that
code is implicitly assuming that only 1 of the input operands is constant.
The file was modifiedllvm/lib/Analysis/InstructionSimplify.cpp
Commit 71d0a2b8a31344ab29d1afd0c54d89873fb3cc9e by aeubanks
[DFSan][NewPM] Port DataFlowSanitizer to NewPM

Reviewed By: ychen, morehouse

Differential Revision: https://reviews.llvm.org/D84707
The file was modifiedllvm/include/llvm/Transforms/Instrumentation.h
The file was modifiedclang/lib/CodeGen/BackendUtil.cpp
The file was modifiedllvm/lib/Passes/PassRegistry.def
The file was modifiedllvm/lib/Transforms/Instrumentation/Instrumentation.cpp
The file was modifiedllvm/include/llvm/InitializePasses.h
The file was addedllvm/include/llvm/Transforms/Instrumentation/DataFlowSanitizer.h
The file was modifiedllvm/lib/Passes/PassBuilder.cpp
The file was modifiedllvm/bindings/go/llvm/InstrumentationBindings.cpp
The file was modifiedllvm/lib/Transforms/Instrumentation/DataFlowSanitizer.cpp
The file was modifiedllvm/test/Instrumentation/DataFlowSanitizer/call.ll
Commit 3efc978baede3ffb4616774e3d1c722fe4128ef5 by craig.topper
[LV] Add abs/smin/smax/umin/umax intrinsics to isTriviallyVectorizable

This patch adds support for vectorizing these intrinsics.

Differential Revision: https://reviews.llvm.org/D84796
The file was modifiedllvm/test/Transforms/LoopVectorize/intrinsic.ll
The file was modifiedllvm/lib/Analysis/VectorUtils.cpp
Commit c4823b24a41b9e3552af7781e05ed1784fb84f46 by craig.topper
[X86] Add custom lowering for llvm.roundeven with sse4.1.

We can use the roundss/sd/ps/pd instructions like we do for
ceil/floor/trunc/rint/nearbyint.

Differential Revision: https://reviews.llvm.org/D84592
The file was modifiedllvm/lib/Target/X86/X86ISelDAGToDAG.cpp
The file was modifiedllvm/test/CodeGen/X86/fp-roundeven.ll
The file was modifiedllvm/test/CodeGen/X86/fp-strict-scalar-round.ll
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
Commit cd890944ad344b1b8cac58332ab11c9eec6b61e9 by yamauchi
[PGO] Remove insignificant function hash values from some tests.

This is to avoid the need to update a bunch of test files when the PGO
instrumentation function hashing changes.

Split off of D84782.

Differential Revision: https://reviews.llvm.org/D84865
The file was modifiedllvm/test/Transforms/PGOProfile/criticaledge.ll
The file was modifiedllvm/test/Transforms/PGOProfile/landingpad.ll
The file was modifiedllvm/test/Transforms/PGOProfile/memop_size_from_strlen.ll
The file was modifiedllvm/test/Transforms/PGOProfile/switch.ll
The file was modifiedllvm/test/Transforms/PGOProfile/PR41279_2.ll
The file was modifiedllvm/test/Transforms/PGOProfile/branch2.ll
The file was modifiedllvm/test/Transforms/PGOProfile/instr_entry_bb.ll
The file was modifiedllvm/test/Transforms/PGOProfile/loop1.ll
The file was modifiedllvm/test/Transforms/PGOProfile/branch1.ll
The file was modifiedllvm/test/Transforms/PGOProfile/loop2.ll
The file was modifiedllvm/test/Transforms/PGOProfile/PR41279.ll
The file was modifiedllvm/test/Transforms/PGOProfile/single_bb.ll
Commit e7196bdf81251a4df97746fd54b7db749ca99097 by aeubanks
[Scudo][CMake] Add -fno-lto to Scudo libraries

-fno-lto is in SANITIZER_COMMON_CFLAGS but not here.
Don't use SANITIZER_COMMON_CFLAGS because of performance issues.
See https://bugs.llvm.org/show_bug.cgi?id=46838.

Fixes
$ ninja TScudoCUnitTest-i386-Test
on an LLVM build with -DLLVM_ENABLE_LTO=Thin.
check-scudo now passes.

Reviewed By: cryptoad

Differential Revision: https://reviews.llvm.org/D84805
The file was modifiedcompiler-rt/lib/scudo/standalone/CMakeLists.txt
Commit 4add853647b358d9bb7f162682e806725888848b by Jonas Devlieghere
[lldb] Improve platform handling in CreateTargetInternal

Currently, `target create` has no --platform option. However,
TargetList::CreateTargetInternal which is called under the hood, will
return an error when either no platform or multiple matching platforms
are found, saying that a platform should be specified with --platform.

This patch adds the platform option, but that doesn't solve either of
these errors.

- If more than one platform matches, specifying the platform isn't
   going to fix that. The current code will only look at the
   architecture instead. I've updated the error message to ask the user
   to specify an architecture.

- If no architecture is found, specifying a new one via platform isn't
   going to change that either because we already try to find one that
   matches the given architecture.

Differential revision: https://reviews.llvm.org/D84809
The file was addedlldb/test/API/commands/target/basic/bogus.yaml
The file was modifiedlldb/test/API/commands/target/basic/TestTargetCommand.py
The file was modifiedlldb/source/Target/TargetList.cpp
The file was modifiedlldb/source/Commands/CommandObjectTarget.cpp
Commit 276f9e8cfaf306d65ac7246e91422004d4bdf54a by aheejin
[WebAssembly] Fix getBottom for loops

When it was first created, CFGSort only made sure BBs in each
`MachineLoop` are sorted together. After we added exception support,
CFGSort now also sorts BBs in each `WebAssemblyException`, which
represents a `catch` block, together, and
`Region` class was introduced to be a thin wrapper for both
`MachineLoop` and `WebAssemblyException`.

But how we compute those loops and exceptions is different.
`MachineLoopInfo` is constructed using the standard loop computation
algorithm in LLVM; the definition of loop is "a set of BBs that are
dominated by a loop header and have a path back to the loop header". So
even if some BBs are semantically contained by a loop in the original
program, or in other words dominated by a loop header, if they don't
have a path back to the loop header, they are not considered a part of
the loop. For example, if a BB is dominated by a loop header but
contains `call abort()` or `rethrow`, it wouldn't have a path back to
the header, so it is not included in the loop.

But `WebAssemblyException` is wasm-specific data structure, and its
algorithm is simple: a `WebAssemblyException` consists of an EH pad and
all BBs dominated by the EH pad. So this scenario is possible: (This is
also the situation in the newly added test in cfg-stackify-eh.ll)

```
Loop L: header, A, ehpad, latch
Exception E: ehpad, latch, B
```
(B contains `abort()`, so it does not have a path back to the loop
header, so it is not included in L.)

And it is sorted in this order:
```
header
A
ehpad
latch
B
```

And when CFGStackify places `end_loop` or `end_try` markers, it
previously used `WebAssembly::getBottom()`, which returns the latest BB
in the sorted order, and placed the marker there. So in this case the
marker placements will be like this:
```
loop
  header
  try
    A
  catch
    ehpad
    latch
end_loop         <-- misplaced!
    B
  end_try
```
in which nesting between the loop and the exception is not correct.
`end_loop` marker has to be placed after `B`, and also after `end_try`.

Maybe the fundamental way to solve this problem is to come up with our
own algorithm for computing loop region too, in which we include all BBs
dominated by a loop header in a loop. But this takes a lot more effort.
The only thing we need to fix is actually, `getBottom()`. If we make it
return the right BB, which means in case of a loop, the latest BB of the
loop itself and all exceptions contained in there, we are good.

This renames `Region` and `RegionInfo` to `SortRegion` and
`SortRegionInfo` and extracts them into their own file. And add
`getBottom` to `SortRegionInfo` class, from which it can access
`WebAssemblyExceptionInfo`, so that it can compute a correct bottom
block for loops.

Reviewed By: dschuff

Differential Revision: https://reviews.llvm.org/D84724
The file was modifiedllvm/lib/Target/WebAssembly/CMakeLists.txt
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyCFGSort.cpp
The file was modifiedllvm/test/CodeGen/WebAssembly/cfg-stackify-eh.ll
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyUtilities.h
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyCFGStackify.cpp
The file was addedllvm/lib/Target/WebAssembly/WebAssemblySortRegion.cpp
The file was addedllvm/lib/Target/WebAssembly/WebAssemblySortRegion.h
Commit 0c4ea2751051493bd71ffdb8dfe5af89a2324c24 by llvmgnsyncbot
[gn build] Port 276f9e8cfaf
The file was modifiedllvm/utils/gn/secondary/llvm/lib/Target/WebAssembly/BUILD.gn
Commit 90b76dac57861e438880a260834afb193e603c5a by Matthew.Arsenault
GloblaISel: Remove unreachable condition

Fixes bug 46882
The file was modifiedllvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
Commit f05308a277b758462c91da7799f23eb4ede30c0c by tpopp
[MLIR][NFC] Move Shape::WitnessType Declaration.

This moves it from ShapeOps.td to ShapeBase.td

Differential Revision: https://reviews.llvm.org/D84845
The file was modifiedmlir/include/mlir/Dialect/Shape/IR/ShapeOps.td
The file was modifiedmlir/include/mlir/Dialect/Shape/IR/ShapeBase.td
Commit 766cb615a3b96025192707f4670cdf171da84034 by Matthew.Arsenault
AMDGPU: Relax restriction on folding immediates into physregs

I never completed the work on the patches referenced by
f8bf7d7f42f28fa18144091022236208e199f331, but this was intended to
avoid folding immediate writes into m0 which the coalescer doesn't
understand very well. Relax this to allow simple SGPR immediates to
fold directly into VGPR copies. This pattern shows up routinely in
current GlobalISel code since nothing is smart enough to emit VGPR
constants yet.
The file was modifiedllvm/test/CodeGen/AMDGPU/fold-imm-copy.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/zextload.ll
The file was modifiedllvm/lib/Target/AMDGPU/SIFoldOperands.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.kernarg.segment.ptr.ll
Commit 7ff9575594d001f0c514f35add36eaf7b6c5e12f by Jessica Paquette
[AArch64][GlobalISel] Select XRO addressing mode with wide immediates

Port the wide immediate case from AArch64DAGToDAGISel::SelectAddrModeXRO.

If we have a wide immediate which can't be represented in an add, we can end up
with code like this:

```
mov  x0, imm
add x1, base, x0
ldr  x2, [x1, 0]
```

If we use the [base, xN] addressing mode instead, we can produce this:

```
mov  x0, imm
ldr  x2, [base, x0]
```

This saves 0.4% code size on 7zip at -O3, and gives a geomean code size
improvement of 0.1% on CTMark.

Differential Revision: https://reviews.llvm.org/D84784
The file was modifiedllvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
The file was addedllvm/test/CodeGen/AArch64/GlobalISel/xro-addressing-mode-constant.mir
Commit 58743040ff50afe18253b51c5ee4a2d0e8324bbf by kcc
Add more debug code for https://github.com/google/sanitizers/issues/1193 (getting desperate, not being able to reproduce it for a few months, but the users are seeing it)

mode debug code

Reviewed By: vitalybuka

Differential Revision: https://reviews.llvm.org/D84819
The file was modifiedcompiler-rt/lib/asan/asan_allocator.cpp
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_allocator_primary64.h
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_allocator_primary32.h
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_allocator_combined.h
Commit 0b7de7966ff0015d4ffb522e994b3c67307f284a by Matthew.Arsenault
GlobalISel: Implement lower for G_EXTRACT_VECTOR_ELT

Use the basic store to stack and reload.
The file was modifiedllvm/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h
The file was modifiedllvm/include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
The file was modifiedllvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-extract-vector-elt.mir
The file was modifiedllvm/lib/CodeGen/GlobalISel/MachineIRBuilder.cpp
Commit b5e896c0493d44c2d9819d584fe2814af7cfd476 by Louis Dionne
[libc++][pstl] Remove c++98 from UNSUPPORTED annotations

c++98 isn't used by the test suite anymore, only c++03 is.
The file was modifiedpstl/test/pstl/header_inclusion_order_numeric_1.pass.cpp
The file was modifiedlibcxx/test/std/numerics/numbers/illformed.verify.cpp
The file was modifiedpstl/test/std/algorithms/alg.nonmodifying/find_if.pass.cpp
The file was modifiedpstl/test/std/utilities/memory/specialized.algorithms/uninitialized_copy_move.pass.cpp
The file was modifiedpstl/test/std/algorithms/alg.sorting/is_sorted.pass.cpp
The file was modifiedpstl/test/std/algorithms/alg.merge/merge.pass.cpp
The file was modifiedpstl/test/std/algorithms/alg.nonmodifying/nth_element.pass.cpp
The file was modifiedpstl/test/std/utilities/memory/specialized.algorithms/uninitialized_construct.pass.cpp
The file was modifiedpstl/test/std/algorithms/alg.sorting/alg.set.operations/includes.pass.cpp
The file was modifiedpstl/test/pstl/header_inclusion_order_algorithm_0.pass.cpp
The file was modifiedpstl/test/std/numerics/numeric.ops/transform_scan.pass.cpp
The file was modifiedpstl/test/std/algorithms/alg.nonmodifying/for_each.pass.cpp
The file was modifiedlibcxx/test/std/numerics/numbers/defined.pass.cpp
The file was modifiedpstl/test/std/algorithms/alg.nonmodifying/equal.pass.cpp
The file was modifiedpstl/test/std/algorithms/alg.nonmodifying/none_of.pass.cpp
The file was modifiedpstl/test/pstl/header_inclusion_order_memory_1.pass.cpp
The file was modifiedpstl/test/std/algorithms/alg.modifying.operations/transform_binary.pass.cpp
The file was modifiedpstl/test/std/utilities/memory/specialized.algorithms/uninitialized_fill_destroy.pass.cpp
The file was modifiedpstl/test/std/numerics/numeric.ops/scan.pass.cpp
The file was modifiedlibcxx/test/std/numerics/numbers/value.pass.cpp
The file was modifiedpstl/test/std/numerics/numeric.ops/scan.fail.cpp
The file was modifiedpstl/test/std/numerics/numeric.ops/adjacent_difference.pass.cpp
The file was modifiedpstl/test/pstl/header_inclusion_order_algorithm_1.pass.cpp
The file was modifiedpstl/test/std/algorithms/alg.modifying.operations/rotate.pass.cpp
The file was modifiedpstl/test/std/numerics/numeric.ops/transform_reduce.pass.cpp
The file was modifiedpstl/test/std/algorithms/alg.nonmodifying/find_first_of.pass.cpp
The file was modifiedpstl/test/pstl/header_inclusion_order_numeric_0.pass.cpp
The file was modifiedpstl/test/std/algorithms/alg.modifying.operations/fill.pass.cpp
The file was modifiedpstl/test/std/algorithms/alg.modifying.operations/alg.reverse/reverse.pass.cpp
The file was modifiedpstl/test/std/algorithms/alg.merge/inplace_merge.pass.cpp
The file was modifiedpstl/test/std/algorithms/alg.nonmodifying/all_of.pass.cpp
The file was modifiedpstl/test/std/algorithms/alg.sorting/alg.min.max/minmax_element.pass.cpp
The file was modifiedpstl/test/std/algorithms/alg.sorting/alg.heap.operations/is_heap.pass.cpp
The file was modifiedpstl/test/std/algorithms/alg.modifying.operations/alg.partitions/partition_copy.pass.cpp
The file was modifiedpstl/test/std/algorithms/alg.modifying.operations/remove.pass.cpp
The file was modifiedpstl/test/std/numerics/numeric.ops/reduce.pass.cpp
The file was modifiedpstl/test/std/algorithms/alg.nonmodifying/any_of.pass.cpp
The file was modifiedpstl/test/std/algorithms/alg.sorting/alg.lex.comparison/lexicographical_compare.pass.cpp
The file was modifiedpstl/test/pstl/header_inclusion_order_memory_0.pass.cpp
The file was modifiedpstl/test/std/algorithms/alg.modifying.operations/copy_move.pass.cpp
The file was modifiedpstl/test/std/algorithms/alg.modifying.operations/transform_unary.pass.cpp
The file was modifiedpstl/test/std/algorithms/alg.modifying.operations/alg.reverse/reverse_copy.pass.cpp
The file was modifiedpstl/test/std/algorithms/alg.modifying.operations/rotate_copy.pass.cpp
The file was modifiedpstl/test/std/algorithms/alg.nonmodifying/adjacent_find.pass.cpp
The file was modifiedpstl/test/std/algorithms/alg.nonmodifying/mismatch.pass.cpp
The file was modifiedpstl/test/std/algorithms/alg.modifying.operations/alg.copy/copy_if.pass.cpp
The file was modifiedpstl/test/std/algorithms/alg.modifying.operations/swap_ranges.pass.cpp
The file was modifiedpstl/test/std/algorithms/alg.nonmodifying/find.pass.cpp
The file was modifiedpstl/test/std/algorithms/alg.sorting/partial_sort_copy.pass.cpp
The file was modifiedpstl/test/std/algorithms/alg.modifying.operations/generate.pass.cpp
The file was modifiedpstl/test/std/algorithms/alg.modifying.operations/alg.partitions/partition.pass.cpp
The file was modifiedpstl/test/std/algorithms/alg.modifying.operations/alg.partitions/is_partitioned.pass.cpp
The file was modifiedpstl/test/std/algorithms/alg.sorting/alg.set.operations/set.pass.cpp
The file was modifiedpstl/test/std/algorithms/alg.sorting/sort.pass.cpp
The file was modifiedpstl/test/std/algorithms/alg.modifying.operations/unique_copy_equal.pass.cpp
The file was modifiedlibcxx/test/std/numerics/numbers/user_type.pass.cpp
The file was modifiedpstl/test/std/algorithms/alg.modifying.operations/remove_copy.pass.cpp
The file was modifiedpstl/test/std/algorithms/alg.modifying.operations/replace.pass.cpp
The file was modifiedpstl/test/std/algorithms/alg.modifying.operations/unique.pass.cpp
The file was modifiedpstl/test/std/algorithms/alg.nonmodifying/search_n.pass.cpp
The file was modifiedpstl/test/std/algorithms/alg.nonmodifying/find_end.pass.cpp
The file was modifiedpstl/test/std/algorithms/alg.nonmodifying/count.pass.cpp
The file was modifiedpstl/test/std/algorithms/alg.sorting/partial_sort.pass.cpp
The file was modifiedlibcxx/test/std/numerics/numbers/specialize.pass.cpp
The file was modifiedpstl/test/std/algorithms/alg.modifying.operations/replace_copy.pass.cpp
Commit 82b6dec0ed1dd5a4fa5484009c42fa25e603a875 by Louis Dionne
[libc++] Remove c++98 from the possible Standards of the test suite

Clang treats C++98 and C++03 as the same anyway, so it's no use having
two different settings for the same standard.
The file was modifiedlibcxx/utils/libcxx/test/params.py
Commit dc2867576886247cbe351e7c63618c09ab6af808 by flo
Revert "[SCEVExpander] Add option to preserve LCSSA directly."

This reverts commit 99166fd4fb422351f131fb1265cb85d5f6c5b8da, because it
breaks the polly builders.

polly/test/Isl/CodeGen/invariant_load_escaping_second_scop.ll fails
because a apparently unnecessary LCSSA phi node is introduced.

Make the bots green again, while I take a closer look.
The file was modifiedllvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
The file was modifiedllvm/include/llvm/Transforms/Utils/ScalarEvolutionExpander.h
The file was modifiedllvm/unittests/Transforms/Utils/ScalarEvolutionExpanderTest.cpp
The file was modifiedllvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
Commit c114352edfe0de69050bbf1cbbc478bcfb524622 by Tatyana Krasnukha
[lldb/test] Put hardware breakpoint tests together, NFC

Create a common base class for them to re-use supports_hw_breakpoints function in decorators.

Differential Revision: https://reviews.llvm.org/D84311
The file was removedlldb/test/API/functionalities/breakpoint/require_hw_breakpoints/Makefile
The file was addedlldb/test/API/functionalities/breakpoint/hardware_breakpoints/require_hw_breakpoints/TestRequireHWBreakpoints.py
The file was addedlldb/test/API/functionalities/breakpoint/hardware_breakpoints/require_hw_breakpoints/main.c
The file was addedlldb/test/API/functionalities/breakpoint/hardware_breakpoints/require_hw_breakpoints/Makefile
The file was addedlldb/test/API/functionalities/breakpoint/hardware_breakpoints/base.py
The file was removedlldb/test/API/functionalities/breakpoint/require_hw_breakpoints/TestRequireHWBreakpoints.py
The file was removedlldb/test/API/functionalities/breakpoint/require_hw_breakpoints/main.c
The file was modifiedlldb/test/API/functionalities/breakpoint/hardware_breakpoints/hardware_breakpoint_on_multiple_threads/TestHWBreakMultiThread.py
Commit 7e946d0c8289ff8cafcae88595b805ec511db6b4 by julian.lettner
[compiler-rt][Darwin] Disable EXC_GUARD exceptions

ASan/TSan use mmap in a way that creates “deallocation gaps” which
triggers EXC_GUARD exceptions on macOS 10.15+ (XNU 19.0+).  Let's
suppress those.
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_mac.cpp
Commit 59fac51ff24e198ff4896be03dea0096fa3ac188 by Matthew.Arsenault
AMDGPU/GlobalISel: Handle llvm.amdgcn.reloc.constant
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.h
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
The file was addedllvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-amdgcn.reloc.constant.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/amdgpu-reloc-const.ll
Commit f7ec3e3be70d10a630ac22c64073a845b168c829 by Tatyana Krasnukha
[lldb] Skip overlapping hardware and external breakpoints when writing memory

This fixes the assertion `assert(intersects);` in the Process::WriteMemory function.

Differential Revision: https://reviews.llvm.org/D84254
The file was modifiedlldb/source/Target/Process.cpp
The file was addedlldb/test/API/functionalities/breakpoint/hardware_breakpoints/write_memory_with_hw_breakpoint/main.cpp
The file was modifiedlldb/source/Breakpoint/BreakpointSite.cpp
The file was addedlldb/test/API/functionalities/breakpoint/hardware_breakpoints/write_memory_with_hw_breakpoint/TestWriteMemoryWithHWBreakpoint.py
The file was addedlldb/test/API/functionalities/breakpoint/hardware_breakpoints/write_memory_with_hw_breakpoint/Makefile
Commit b352e62feadd0aabaa7373b6fb40701f00a6aa91 by Tatyana Krasnukha
[lldb] Make process plugins check whether a hardware breakpoint is required

Remove @skipIfWindows as process should report the error correctly on Windows now.

Differential Revision: https://reviews.llvm.org/D84255
The file was modifiedlldb/test/API/functionalities/breakpoint/hardware_breakpoints/require_hw_breakpoints/TestRequireHWBreakpoints.py
The file was modifiedlldb/source/Plugins/Process/MacOSX-Kernel/ProcessKDP.cpp
The file was modifiedlldb/source/Plugins/Process/FreeBSD/ProcessFreeBSD.cpp
The file was modifiedlldb/source/Plugins/Process/Windows/Common/ProcessWindows.cpp
Commit ebaa8b1c60749883c6449a7c16096f1c40ccf4bc by Tatyana Krasnukha
[lldb] Don't use hardware index to determine whether a breakpoint site is hardware

Most process plugins (if not all) don't set hardware index for breakpoints. They even
are not able to determine this index.

This patch makes StoppointLocation::IsHardware pure virtual and lets BreakpointSite
override it using more accurate BreakpointSite::Type.

It also adds assertions to be sure that a breakpoint site is hardware when this is required.

Differential Revision: https://reviews.llvm.org/D84257
The file was modifiedlldb/source/Breakpoint/BreakpointLocation.cpp
The file was modifiedlldb/include/lldb/Breakpoint/StoppointLocation.h
The file was modifiedlldb/include/lldb/Breakpoint/BreakpointLocation.h
The file was modifiedlldb/include/lldb/Breakpoint/BreakpointSite.h
The file was modifiedlldb/source/Breakpoint/Watchpoint.cpp
The file was modifiedlldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
The file was modifiedlldb/test/API/functionalities/breakpoint/hardware_breakpoints/hardware_breakpoint_on_multiple_threads/TestHWBreakMultiThread.py
Commit d8ba6222097a585bd22e93b2dd343226ae2b9867 by Amara Emerson
[AArch64][GlobalISel] Selection support for vector DUP[X]lane instructions.

In future, we'd like to use the perfect-shuffle mechanism to deal with these
shuffle permutations. For now, this improves performance by avoiding the
super-expensive const-pool load + tbl instruction.

Differential Revision: https://reviews.llvm.org/D84866
The file was modifiedllvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
The file was addedllvm/test/CodeGen/AArch64/GlobalISel/select-shuffle-to-duplane.mir
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/select-shuffle-vector.mir
The file was modifiedllvm/include/llvm/CodeGen/GlobalISel/Utils.h
The file was modifiedllvm/lib/Target/AArch64/GISel/AArch64PostLegalizerCombiner.cpp
The file was modifiedllvm/lib/CodeGen/GlobalISel/Utils.cpp
Commit 8fe2abc190f95226fe48d920b7355d8134d03ed1 by listmail
[Statepoint] Consolidate relocation type tracking [NFC]

Change the way we track how a particular pointer was relocated at a statepoint in selection dag.  Previously, we used an optional<location> for the spill lowering, and a block local Register for the newly introduced vreg lowering.  Combine all three lowerings (norelocate, spill, and vreg) into a single helper class, and keep a single copy of the information.

This is submitted separately as it really does make the code more readible on it's own, but the indirect motivation is to move vreg tracking from StatepointLowering to FunctionLoweringInfo.  This is the last piece needed to support cross block relocations with vregs; that will follow in a separate (non-NFC) patch.
The file was modifiedllvm/lib/CodeGen/SelectionDAG/StatepointLowering.cpp
The file was modifiedllvm/include/llvm/CodeGen/FunctionLoweringInfo.h
The file was modifiedllvm/lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp
The file was modifiedllvm/lib/CodeGen/SelectionDAG/StatepointLowering.h
Commit 0c0e36061a8ebb9e81da9d057ebcd4c3d2a1f416 by Amara Emerson
[GlobalISel] Add G_INTRINSIC_LRINT and translate from llvm.lrint

Differential Revision: https://reviews.llvm.org/D84551
The file was modifiedllvm/include/llvm/Support/TargetOpcodes.def
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/arm64-irtranslator.ll
The file was modifiedllvm/include/llvm/Target/GenericOpcodes.td
The file was modifiedllvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/legalizer-info-validation.mir
Commit d5c1f686e34fdd9ed8ec9b7a195799baf492e854 by Tatyana Krasnukha
[lldb/BreakpointSite] Handle all ways of control flow
The file was modifiedlldb/source/Breakpoint/BreakpointSite.cpp
Commit e2d0b44a7cd261218c9e527d23eb5d13425afe8b by mascasa
[DFSan] Add efficient fast16labels instrumentation mode.

Adds the -fast-16-labels flag, which enables efficient instrumentation
for DFSan when the user needs <=16 labels.  The instrumentation
eliminates most branches and most calls to __dfsan_union or
__dfsan_union_load.

Reviewed By: vitalybuka

Differential Revision: https://reviews.llvm.org/D84371
The file was modifiedcompiler-rt/lib/dfsan/done_abilist.txt
The file was modifiedcompiler-rt/lib/fuzzer/FuzzerDataFlowTrace.cpp
The file was modifiedcompiler-rt/test/fuzzer/only-some-bytes-fork.test
The file was modifiedclang/docs/DataFlowSanitizer.rst
The file was modifiedllvm/lib/Transforms/Instrumentation/DataFlowSanitizer.cpp
The file was modifiedcompiler-rt/test/fuzzer/dataflow.test
The file was modifiedcompiler-rt/lib/dfsan/dfsan_flags.inc
The file was modifiedcompiler-rt/test/fuzzer/only-some-bytes.test
The file was addedllvm/test/Instrumentation/DataFlowSanitizer/fast16labels.ll
The file was modifiedcompiler-rt/lib/dfsan/dfsan.cpp
The file was modifiedcompiler-rt/test/dfsan/fast16labels.c
The file was modifiedcompiler-rt/lib/fuzzer/dataflow/DataFlow.cpp
Commit 7aaa85627b5937364d4c944d8f6828a6a3759785 by lei
[PowerPC] Add options to control paired vector memops support

Adds frontend and backend options to enable and disable the
PowerPC paired vector memory operations added in ISA 3.1.
Instructions using these options will be added in subsequent patches.

Differential Revision: https://reviews.llvm.org/D83722
The file was modifiedclang/include/clang/Driver/Options.td
The file was modifiedclang/test/Driver/ppc-dependent-options.cpp
The file was modifiedllvm/lib/Target/PowerPC/PPCInstrPrefix.td
The file was modifiedllvm/lib/Target/PowerPC/PPC.td
The file was modifiedllvm/test/CodeGen/PowerPC/future-check-features.ll
The file was modifiedllvm/lib/Target/PowerPC/PPCSubtarget.h
The file was modifiedclang/lib/Basic/Targets/PPC.h
The file was modifiedllvm/lib/Target/PowerPC/PPCSubtarget.cpp
The file was modifiedllvm/lib/Target/PowerPC/PPCScheduleP9.td
The file was modifiedclang/lib/Basic/Targets/PPC.cpp
Commit e69138dad5a535c4027a1931f05cabab0f484974 by richard
PR46859: Fix crash if declaring a template in a DeclScope with no DeclContext.

This can happen during error recovery; it could also happen at block
scope if we ever parsed a template declaration at block scope.
The file was modifiedclang/lib/Sema/SemaTemplate.cpp
The file was modifiedclang/test/SemaCXX/extern-c.cpp
Commit da0bba5c9abb161ff824cf450537cf2ccf50d457 by Tatyana Krasnukha
[lldb/Breakpoint] Rename StoppointLocation to StoppointSite and drop its relationship with BreakpointLocation

Both of BreakpointLocation and BreakpointSite were inherited from StoppointLocation. However, the only thing
they shared was hit counting logic. The patch encapsulates those logic into StoppointHitCounter, renames
StoppointLocation to StoppointSite, and stops BreakpointLocation's inheriting from it.

Differential Revision: https://reviews.llvm.org/D84527
The file was addedlldb/source/Breakpoint/StoppointSite.cpp
The file was addedlldb/include/lldb/Breakpoint/StoppointHitCounter.h
The file was modifiedlldb/include/lldb/Breakpoint/Breakpoint.h
The file was removedlldb/include/lldb/Breakpoint/StoppointLocation.h
The file was modifiedlldb/source/Breakpoint/Breakpoint.cpp
The file was modifiedlldb/include/lldb/Breakpoint/BreakpointSite.h
The file was addedlldb/include/lldb/Breakpoint/StoppointSite.h
The file was modifiedlldb/source/Breakpoint/BreakpointLocation.cpp
The file was modifiedlldb/source/Breakpoint/BreakpointSite.cpp
The file was modifiedlldb/include/lldb/lldb-forward.h
The file was modifiedlldb/include/lldb/Breakpoint/BreakpointLocation.h
The file was removedlldb/source/Breakpoint/StoppointLocation.cpp
The file was modifiedlldb/source/Breakpoint/CMakeLists.txt
The file was modifiedlldb/include/lldb/Breakpoint/Watchpoint.h
The file was modifiedlldb/source/Breakpoint/Watchpoint.cpp
Commit bdad24c2cc9f759a974cb63aaa3fff62b978726d by Matthew.Arsenault
GlobalISel: Fix insert point in CSEMIRBuilder unit test

This was using invalid MIR for the test instructions. The test add was
the first instruction in the block, before the trunc inputs or copies
from physical registers which I assume was not intended.
The file was modifiedllvm/unittests/CodeGen/GlobalISel/CSETest.cpp
Commit a5faf3c849298d1106e74068f3ecffa13e1684a6 by Louis Dionne
[libc++] Re-enable tests for C11 math macros in <float.h> and <cfloat>

Fixes http://llvm.org/PR38572.
The file was modifiedlibcxx/test/support/test_macros.h
The file was modifiedlibcxx/test/std/depr/depr.c.headers/float_h.pass.cpp
The file was modifiedlibcxx/test/std/language.support/support.limits/c.limits/cfloat.pass.cpp
Commit 13b63be472233762024ef196dd88612369a51807 by Stanislav.Mekhanoshin
[AMDGPU] prefer non-mfma in post-RA schedule

MFMA instructions shall not be scheduled back to back
to avoid MAI SIMD stall. Tell post-RA schedule we would
prefer some other instruction instead.

Differential Revision: https://reviews.llvm.org/D84883
The file was modifiedllvm/lib/Target/AMDGPU/GCNHazardRecognizer.h
The file was modifiedllvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp
The file was addedllvm/test/CodeGen/AMDGPU/sched-prefer-non-mfma.mir
Commit decfdb8ce3d511739b976d47862a98fe5674e2aa by Stanislav.Mekhanoshin
[AMDGPU] Fixed formatting in GCNHazardRecognizer.cpp. NFC.
The file was modifiedllvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp
Commit 1cbdf932b41eb58ed94fbc240e93b63653d95bd3 by richard
PR46231: Promote diagnostic for 'template<...>;' from ExtWarn to Error.

No other compiler accepts this as an extension, not even in permissive
mode. We're not doing anyone any favors by allowing this, and it's
unlikely to be at all common, even in Clang-only code, in the wild.
The file was modifiedclang/lib/Sema/SemaDecl.cpp
The file was modifiedclang/test/Parser/cxx-template-decl.cpp
The file was modifiedclang/test/SemaCXX/invalid-template-params.cpp
The file was modifiedclang/test/SemaTemplate/template-decl-fail.cpp
The file was modifiedclang/test/SemaCXX/PR16677.cpp
The file was modifiedclang/include/clang/Basic/DiagnosticSemaKinds.td
Commit f75564ad4e4799465cf14b96f761e3fae13f6976 by flo
Reland "[SCEVExpander] Add option to preserve LCSSA directly."

This reverts the revert commit dc2867576886247cbe351e7c63618c09ab6af808.

It includes a fix for Polly, which uses SCEVExpander on IR that is not
in LCSSA form. Set PreserveLCSSA = false in that case, to ensure we do
not introduce LCSSA phis where there were none before.
The file was modifiedpolly/lib/Support/ScopHelper.cpp
The file was modifiedllvm/include/llvm/Transforms/Utils/ScalarEvolutionExpander.h
The file was modifiedllvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
The file was modifiedllvm/unittests/Transforms/Utils/ScalarEvolutionExpanderTest.cpp
The file was modifiedllvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
Commit e980913831c1dfe5ce443a0b4f7a551c992133b8 by listmail
[Tests] Split a file for ease of update
The file was addedllvm/test/CodeGen/X86/statepoint-vreg-details.ll
The file was modifiedllvm/test/CodeGen/X86/statepoint-vreg.ll
Commit a1c9529e602adcc25162f93fd4563fbe3d04ab62 by llvm-dev
[X86][AVX] isHorizontalBinOp - relax no-lane-crossing limit for AVX1-only targets.

Instead of never accepting v8f32/v4f64 FHADD/FHSUB if the input shuffle masks cross lanes, perform the matching and determine if the post shuffle mask simplifies to a 'whole lane shuffle' mask - in which case we are guaranteed to cheaply perform this as a VPERM2F128 shuffle.
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/test/CodeGen/X86/haddsub-4.ll
Commit 8dbea4785c107aa975b6671025a3cea7829b8370 by wei.huang
[PowerPC] Support for R_PPC64_REL24_NOTOC calls where the caller has no TOC and the callee is not DSO local

This patch supports the situation where caller does not have a valid TOC and
calls using the R_PPC64_REL24_NOTOC relocation and the callee is not DSO local.
In this case the call cannot be made directly since the callee may or may not
require a valid TOC pointer. As a result this situation require a PC-relative
plt stub to set up r12.

Reviewed By: sfertile, MaskRay, stefanp

Differential Revision: https://reviews.llvm.org/D83669
The file was addedlld/test/ELF/ppc64-pcrel-call-to-extern.s
The file was modifiedllvm/include/llvm/Object/ELF.h
The file was modifiedlld/ELF/Arch/PPC64.cpp
The file was modifiedlld/ELF/Thunks.cpp
Commit ed7bde0e4b40cbf8a7c833fd8240c957fcda176e by maskray
[ELF][test] Fix ppc64-reloc-pcrel34-overflow.s
The file was modifiedlld/test/ELF/ppc64-reloc-pcrel34-overflow.s
Commit 6ce97eee35463be2ccd82ae659034506ae9b25f1 by richard
Fix invalid attempted explicit instantiation, which Clang now rejects.
The file was modifiedclang-tools-extra/test/clang-tidy/checkers/bugprone-string-integer-assignment.cpp
Commit 77c3b016c42412edd43568b001fe358425a113dd by tobias.gysi
[mlir] fix error handling in rocm runtime wrapper

The patch fixes minor issues in the rocm runtime wrapper due to api differences between CUDA and HIP.

Reviewed By: herhut

Differential Revision: https://reviews.llvm.org/D84861
The file was modifiedmlir/tools/mlir-rocm-runner/rocm-runtime-wrappers.cpp
Commit 897bdca4b81dff200714a5b1cb22b20e9c4c4594 by nikita.ppv
[ConstantRange] Add API for intrinsics (NFC)

This adds a common API for compute constant ranges of intrinsics.
The intention here is that
a) we can reuse the same code across different passes that handle
   constant ranges, i.e. this can be reused in SCCP
b) we only have to add knowledge about supported intrinsics to
   ConstantRange, not any consumers.

Differential Revision: https://reviews.llvm.org/D84587
The file was modifiedllvm/lib/IR/ConstantRange.cpp
The file was modifiedllvm/include/llvm/IR/ConstantRange.h
The file was modifiedllvm/lib/Analysis/LazyValueInfo.cpp
Commit 8723280b68b1e5ed97a699466720b36a32a9e406 by johannes
[OpenMP] Fix D83281 issue on windows by allowing `dso_local` in CHECK
The file was modifiedclang/test/OpenMP/declare_variant_device_isa_codegen_1.c
Commit 4f92ad508fcc543541be18fb766ab428d08e46e3 by ajcbik
[mlir] [VectorOps] [integration_test] Sparse matrix times vector (jagged SAXPY version)

Transposed jagged diagonal storage yields longer vector lengths. Also, in
contrast with naive SAXPY (one gather/scatter), this only performs one gather.

Reviewed By: reidtatge

Differential Revision: https://reviews.llvm.org/D84699
The file was addedmlir/integration_test/Dialect/Vector/CPU/test-sparse-saxpy-jagged-matvec.mlir
Commit 47d2c7cd5db4abe11f44fd540bceb73b8b4372d9 by l.lunak
[lldb] remove somewhat dangerous 'd'(etach) and 'k'(ill) shortcuts

'd' would be much better used for up/down shortcuts, and this also removes
the possibility of ruining the whole debugging session by accidentally
hitting 'd' or 'k'. Also change menu to have both 'detach and resume'
and 'detach suspended' to make it clear which one is which. See
discussion at https://reviews.llvm.org/D68541 .

Differential Revision: https://reviews.llvm.org/D68908
The file was modifiedlldb/source/Core/IOHandlerCursesGUI.cpp
Commit 336c7029ef3b7eff981d6c6990a6a255a4de236e by l.lunak
[lldb] change shortcut for 'step out' from 'o' to 'f'

This makes it consistent with gdb tui, where 'f' is 'finish'.
See the discussion at https://reviews.llvm.org/D68541 .

Differential Revision: https://reviews.llvm.org/D68909
The file was modifiedlldb/source/Core/IOHandlerCursesGUI.cpp
Commit 13978643b678e226500d9d1ae8a003c8ed4b05ef by l.lunak
[lldb] implement 'up' and 'down' shortcuts in lldb gui

Also add a unittest.

Differential Revision: https://reviews.llvm.org/D68541
The file was addedlldb/packages/Python/lldbsuite/test/commands/gui/basicdebug/func.c
The file was addedlldb/packages/Python/lldbsuite/test/commands/gui/basicdebug/TestGuiBasicDebug.py
The file was modifiedlldb/source/Core/IOHandlerCursesGUI.cpp
The file was addedlldb/packages/Python/lldbsuite/test/commands/gui/basicdebug/Makefile
The file was addedlldb/packages/Python/lldbsuite/test/commands/gui/basicdebug/main.c
Commit 755f91f12cf08da9c6553de901135945f2c6083a by listmail
[Statepoint] Enable cross block relocates w/vreg lowering

This change is mechanical, it just removes the restriction and updates tests.  The key building blocks were submitted in 31342eb and 8fe2abc.

Note that this (and preceeding changes) entirely subsumes D83965.  I did includes a couple of it's tests.

From the codegen changes, an interesting observation: this doesn't actual reduce spilling, it just let's the register allocator do it's job.  That results in a slightly different overall result which has both pros and cons over the eager spill lowering.  (i.e. We'll have some perf tuning to do once this is stable.)
The file was modifiedllvm/lib/CodeGen/SelectionDAG/StatepointLowering.cpp
The file was modifiedllvm/test/CodeGen/X86/statepoint-vreg.ll
The file was modifiedllvm/test/CodeGen/X86/statepoint-vreg-details.ll
Commit e14a7ff7627500eb4d4f58041d9f5288d9c78659 by gyurgyikcp
[libc] Adds fuzz test for strstr and alphabetizes string fuzz CMakeList.

Reviewed By: sivachandra

Differential Revision: https://reviews.llvm.org/D84611
The file was addedlibc/fuzzing/string/strstr_fuzz.cpp
The file was modifiedlibc/fuzzing/string/CMakeLists.txt
Commit b08abf4c808e98718b8806dafcae1626328676d4 by johannes
[OpenMP] Fix D83281 issue on windows by allowing `dso_local` in CHECK [2/1]

The problem with 8723280b68b1e5ed97a699466720b36a32a9e406 was that the
`dso_local` is *before* the void not after. Hope this works.
The file was modifiedclang/test/OpenMP/declare_variant_device_isa_codegen_1.c
Commit 01aa14784b0cfc44a977080a2a17d6dbb0c77818 by aeubanks
[NewPM][opt] Revert to legacy PM when any codegen passes are specified

This reduces the number of check-llvm failures by 500.

Ideally we'd have a codegen version of PassRegistry.def, or have all the
codegen passes ported and put into PassRegistry.def. But since that
doesn't exist yet, hardcode the list of codegen IR passes.

There are still codegen passes missing from this list, I'll add them
later as I stumble upon them.

Reviewed By: asbirlea, ychen

Differential Revision: https://reviews.llvm.org/D84872
The file was modifiedllvm/tools/opt/opt.cpp
Commit 120e66b3418b37b95fc1dbbb23e296a602a24fa8 by yamauchi
[PGO] Include the mem ops into the function hash.

To avoid hash collisions when the only difference is in mem ops.

Differential Revision: https://reviews.llvm.org/D84782
The file was modifiedclang/test/Profile/Inputs/gcc-flag-compatibility_IR_entry.proftext
The file was modifiedclang/test/Profile/Inputs/gcc-flag-compatibility_IR.proftext
The file was modifiedcompiler-rt/test/profile/Linux/instrprof-value-merge.c
The file was modifiedllvm/test/Transforms/PGOProfile/Inputs/indirectbr.proftext
The file was modifiedllvm/test/Transforms/PGOProfile/Inputs/remap.proftext
The file was modifiedllvm/test/Transforms/PGOProfile/Inputs/select1.proftext
The file was modifiedllvm/test/Transforms/PGOProfile/Inputs/indirectbr_entry.proftext
The file was modifiedllvm/test/Transforms/PGOProfile/Inputs/PR41279_2.proftext
The file was modifiedllvm/test/Transforms/PGOProfile/Inputs/switch.proftext
The file was modifiedllvm/test/Transforms/PGOProfile/Inputs/branch1_large_count.proftext
The file was modifiedclang/test/CodeGenCXX/Inputs/profile-remap_entry.proftext
The file was modifiedllvm/test/Transforms/PGOProfile/Inputs/thinlto_cs.proftext
The file was modifiedllvm/test/Transforms/PGOProfile/Inputs/branch2_entry.proftext
The file was modifiedclang/test/CodeGen/Inputs/thinlto_expect2.proftext
The file was modifiedllvm/test/Transforms/PGOProfile/Inputs/loop2.proftext
The file was modifiedllvm/test/Transforms/PGOProfile/Inputs/landingpad.proftext
The file was modifiedllvm/test/Transforms/PGOProfile/Inputs/landingpad_entry.proftext
The file was modifiedllvm/test/Transforms/PGOProfile/Inputs/cspgo.proftext
The file was modifiedllvm/test/Transforms/PGOProfile/Inputs/multiple_hash_profile.proftext
The file was modifiedllvm/test/Transforms/PGOProfile/Inputs/PR41279.proftext
The file was modifiedllvm/lib/Transforms/Instrumentation/PGOInstrumentation.cpp
The file was modifiedllvm/test/Transforms/PGOProfile/Inputs/criticaledge_entry.proftext
The file was modifiedllvm/test/Transforms/PGOProfile/Inputs/loop1.proftext
The file was modifiedllvm/test/Transforms/PGOProfile/Inputs/memop_size_annotation.proftext
The file was modifiedllvm/test/Transforms/PGOProfile/Inputs/switch_entry.proftext
The file was modifiedllvm/test/Transforms/PGOProfile/Inputs/select2.proftext
The file was modifiedllvm/test/Transforms/PGOProfile/multiple_hash_profile.ll
The file was modifiedllvm/test/Transforms/PGOProfile/Inputs/diag_no_value_sites.proftext
The file was modifiedllvm/test/Transforms/PGOProfile/Inputs/func_entry.proftext
The file was modifiedllvm/test/Transforms/PGOProfile/Inputs/criticaledge.proftext
The file was modifiedllvm/test/Transforms/PGOProfile/Inputs/loop1_entry.proftext
The file was modifiedllvm/test/Transforms/PGOProfile/Inputs/misexpect-branch.proftext
The file was modifiedllvm/test/Transforms/PGOProfile/Inputs/misexpect-switch-correct_entry.proftext
The file was modifiedllvm/test/Transforms/PGOProfile/Inputs/misexpect-branch-correct.proftext
The file was modifiedllvm/test/Transforms/PGOProfile/Inputs/irreducible.proftext
The file was modifiedllvm/test/Transforms/PGOProfile/Inputs/misexpect-switch_entry.proftext
The file was modifiedllvm/test/Transforms/PGOProfile/Inputs/noreturncall.proftext
The file was modifiedclang/test/CodeGenCXX/Inputs/profile-remap.proftext
The file was modifiedllvm/test/Transforms/PGOProfile/Inputs/suppl-profile.proftext
The file was modifiedclang/test/CodeGen/Inputs/thinlto_expect1.proftext
The file was modifiedllvm/test/Transforms/PGOProfile/Inputs/large_count_remarks.proftext
The file was modifiedllvm/test/Transforms/PGOProfile/Inputs/branch2.proftext
The file was modifiedllvm/test/Transforms/PGOProfile/Inputs/loop2_entry.proftext
The file was modifiedllvm/test/Transforms/PGOProfile/Inputs/branch1.proftext
The file was modifiedllvm/test/Transforms/PGOProfile/Inputs/misexpect-switch.proftext
The file was modifiedllvm/test/Transforms/PGOProfile/Inputs/misexpect-switch-correct.proftext
The file was modifiedllvm/test/Transforms/PGOProfile/Inputs/indirect_call.proftext
The file was modifiedllvm/test/Transforms/PGOProfile/Inputs/misexpect-branch_entry.proftext
The file was modifiedllvm/test/Transforms/PGOProfile/Inputs/fix_entry_count.proftext
The file was modifiedllvm/test/Transforms/PGOProfile/Inputs/irreducible_entry.proftext
Commit d8e8e32d85f1cbde2a6b67af010fba3c3a3c86e9 by Saleem Abdulrasool
build: always add support for assembly targets on Darwin

When attempting to build compiler-rt on a developer transition kit, the
build would fail due to `.S` files not being handled properly by the
Ninja generator.  Rather than conditionalising on Xcode, conditionalise
to Darwin.  Because we know that the system compiler is clang based, it
will always properly handle the pre-processing based on the extension.

Differential Revision: https://reviews.llvm.org/D84333
The file was modifiedcompiler-rt/cmake/Modules/AddCompilerRT.cmake
Commit 5cd695dd7fbd52af0f58ad75cc8d63ad2baa619f by spatel
[InstSimplify] fold min/max with opposite of limit value
The file was modifiedllvm/test/Transforms/InstSimplify/maxmin_intrinsics.ll
The file was modifiedllvm/lib/Analysis/InstructionSimplify.cpp
Commit fef513f5ccb799853a8aed46df2463de1cb4aed9 by spatel
[InstSimplify] fold min/max intrinsic with undef operand
The file was modifiedllvm/test/Transforms/InstSimplify/maxmin_intrinsics.ll
The file was modifiedllvm/lib/Analysis/InstructionSimplify.cpp
Commit 0dcd4a21d57e5b0fd8c4c6f740a71bf9fc8acb06 by aeubanks
[opt][NewPM] Fix typo

From https://reviews.llvm.org/D84872.
The file was modifiedllvm/tools/opt/opt.cpp
Commit b1c1825b9972cf2c77917b8f2fc220946ab70bac by craig.topper
[X86] Remove unused argument from HandleAVX512Operand in the assembly parser.
The file was modifiedllvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
Commit 6700f4b9fe6321ef704efa4890af5bc351a124f0 by shafik
[LLDB] Add checks for ValueObjectSP in Cocoa summary providers

We saw a crash recently (rdar://problem/65276489) that looks related to an invalid ValueObjectSP in a summary providers in Cocoa.cpp e.g. NSBundleSummaryProvider(...).
This adds checks before we use them usually by calling NSStringSummaryProvider.

Differential Revision: https://reviews.llvm.org/D84272
The file was modifiedlldb/source/Plugins/Language/ObjC/Cocoa.cpp
Commit ae7589e1f100b30a4ae13da713c9273733e69fe1 by yamauchi
Revert "[PGO] Include the mem ops into the function hash."

This reverts commit 120e66b3418b37b95fc1dbbb23e296a602a24fa8.

Due to a buildbot failure.
The file was modifiedllvm/test/Transforms/PGOProfile/Inputs/branch2_entry.proftext
The file was modifiedllvm/test/Transforms/PGOProfile/Inputs/loop2_entry.proftext
The file was modifiedllvm/test/Transforms/PGOProfile/Inputs/misexpect-branch-correct.proftext
The file was modifiedllvm/test/Transforms/PGOProfile/Inputs/select2.proftext
The file was modifiedllvm/test/Transforms/PGOProfile/Inputs/switch.proftext
The file was modifiedllvm/test/Transforms/PGOProfile/Inputs/branch2.proftext
The file was modifiedclang/test/Profile/Inputs/gcc-flag-compatibility_IR_entry.proftext
The file was modifiedllvm/test/Transforms/PGOProfile/Inputs/misexpect-branch.proftext
The file was modifiedllvm/test/Transforms/PGOProfile/Inputs/landingpad_entry.proftext
The file was modifiedllvm/test/Transforms/PGOProfile/Inputs/suppl-profile.proftext
The file was modifiedllvm/test/Transforms/PGOProfile/Inputs/misexpect-switch-correct_entry.proftext
The file was modifiedllvm/test/Transforms/PGOProfile/Inputs/remap.proftext
The file was modifiedclang/test/Profile/Inputs/gcc-flag-compatibility_IR.proftext
The file was modifiedllvm/test/Transforms/PGOProfile/Inputs/switch_entry.proftext
The file was modifiedllvm/test/Transforms/PGOProfile/Inputs/irreducible.proftext
The file was modifiedllvm/test/Transforms/PGOProfile/Inputs/thinlto_cs.proftext
The file was modifiedllvm/lib/Transforms/Instrumentation/PGOInstrumentation.cpp
The file was modifiedllvm/test/Transforms/PGOProfile/Inputs/multiple_hash_profile.proftext
The file was modifiedllvm/test/Transforms/PGOProfile/multiple_hash_profile.ll
The file was modifiedllvm/test/Transforms/PGOProfile/Inputs/branch1.proftext
The file was modifiedllvm/test/Transforms/PGOProfile/Inputs/cspgo.proftext
The file was modifiedllvm/test/Transforms/PGOProfile/Inputs/indirectbr_entry.proftext
The file was modifiedllvm/test/Transforms/PGOProfile/Inputs/func_entry.proftext
The file was modifiedllvm/test/Transforms/PGOProfile/Inputs/loop1_entry.proftext
The file was modifiedllvm/test/Transforms/PGOProfile/Inputs/indirectbr.proftext
The file was modifiedllvm/test/Transforms/PGOProfile/Inputs/landingpad.proftext
The file was modifiedllvm/test/Transforms/PGOProfile/Inputs/misexpect-branch_entry.proftext
The file was modifiedcompiler-rt/test/profile/Linux/instrprof-value-merge.c
The file was modifiedllvm/test/Transforms/PGOProfile/Inputs/noreturncall.proftext
The file was modifiedllvm/test/Transforms/PGOProfile/Inputs/memop_size_annotation.proftext
The file was modifiedllvm/test/Transforms/PGOProfile/Inputs/diag_no_value_sites.proftext
The file was modifiedclang/test/CodeGen/Inputs/thinlto_expect2.proftext
The file was modifiedllvm/test/Transforms/PGOProfile/Inputs/PR41279_2.proftext
The file was modifiedllvm/test/Transforms/PGOProfile/Inputs/misexpect-switch-correct.proftext
The file was modifiedllvm/test/Transforms/PGOProfile/Inputs/indirect_call.proftext
The file was modifiedllvm/test/Transforms/PGOProfile/Inputs/irreducible_entry.proftext
The file was modifiedllvm/test/Transforms/PGOProfile/Inputs/large_count_remarks.proftext
The file was modifiedclang/test/CodeGenCXX/Inputs/profile-remap.proftext
The file was modifiedllvm/test/Transforms/PGOProfile/Inputs/criticaledge.proftext
The file was modifiedclang/test/CodeGenCXX/Inputs/profile-remap_entry.proftext
The file was modifiedllvm/test/Transforms/PGOProfile/Inputs/PR41279.proftext
The file was modifiedllvm/test/Transforms/PGOProfile/Inputs/loop2.proftext
The file was modifiedllvm/test/Transforms/PGOProfile/Inputs/misexpect-switch.proftext
The file was modifiedllvm/test/Transforms/PGOProfile/Inputs/select1.proftext
The file was modifiedllvm/test/Transforms/PGOProfile/Inputs/branch1_large_count.proftext
The file was modifiedllvm/test/Transforms/PGOProfile/Inputs/fix_entry_count.proftext
The file was modifiedclang/test/CodeGen/Inputs/thinlto_expect1.proftext
The file was modifiedllvm/test/Transforms/PGOProfile/Inputs/loop1.proftext
The file was modifiedllvm/test/Transforms/PGOProfile/Inputs/misexpect-switch_entry.proftext
The file was modifiedllvm/test/Transforms/PGOProfile/Inputs/criticaledge_entry.proftext
Commit dc22182d1f7489239388f7bdd04170573c0652a3 by Alex Lorenz
[darwin] build and link with a separate compiler-rt builtins library
for device simulators

This change separates out the iOS/tvOS/watchOS simulator slices from the "libclang_rt.<os>.a"
fat archive, by moving them out to their own "libclang_rt.<os>sim.a" static archive.
This allows us to build and to link with an arm64 device simulator slice for the simulators running
on Apple Silicons, and to distribute it in one archive alongside the Intel simulator slices.

Differential Revision: https://reviews.llvm.org/D84564
The file was modifiedclang/test/Driver/darwin-ld.c
The file was modifiedclang/lib/Driver/ToolChains/Darwin.cpp
The file was addedclang/test/Driver/Inputs/resource_dir/lib/darwin/libclang_rt.iossim.a
The file was modifiedcompiler-rt/cmake/Modules/CompilerRTDarwinUtils.cmake
Commit 6587ff77ea7aea508dde4ff68bf89e301756a52c by Jonas Devlieghere
[lldb] Fix llvm-lit in standalone builds

LLVM's make_paths_relative uses Python3_EXECUTABLE which isn't set in
standalone LLDB builds.
The file was modifiedlldb/test/CMakeLists.txt
Commit 926c14798d317a8c60592f420bb79cd80c150285 by francisvm
Revert "build: always add support for assembly targets on Darwin"

This reverts commit d8e8e32d85f1cbde2a6b67af010fba3c3a3c86e9.

This breaks the build on GreenDragon:
http://green.lab.llvm.org/green/job/clang-stage1-RA/13171/console
The file was modifiedcompiler-rt/cmake/Modules/AddCompilerRT.cmake
Commit 005991a3fe21f2e027c248f20e44314f19ce8f0b by mascasa
[DFSan] Remove dfsan_use_fast16labels from abilist.

Its implementation was scrapped in the final fast16labels
instrumentation patch.
The file was modifiedcompiler-rt/lib/dfsan/done_abilist.txt
Commit 71059257bd4b9780ddf8de4248e415535d8dbbfe by mtrofin
[llvm][NFC] TensorSpec abstraction for ML evaluator

Further abstracting the specification of a tensor, to more easily
support different types and shapes of tensor, and also to perform
initialization up-front, at TFModelEvaluator construction time.

Differential Revision: https://reviews.llvm.org/D84685
The file was modifiedllvm/include/llvm/Analysis/Utils/TFUtils.h
The file was modifiedllvm/lib/Analysis/InlineSizeEstimatorAnalysis.cpp
The file was modifiedllvm/unittests/Analysis/TFUtilsTest.cpp
The file was modifiedllvm/lib/Analysis/DevelopmentModeInlineAdvisor.cpp
The file was modifiedllvm/lib/Analysis/TFUtils.cpp
Commit 0da582d9b6cc8a96682628ff90b5e0e5d155358c by arsenm2
GlobalISel: Handle llvm.roundeven

I still think it's highly questionable that we have two intrinsics
with identical behavior and only vary by the name of the libcall used
if it happens to be lowered that way, but try to reduce the feature
delta between SDAG and GlobalISel for recently added intrinsics. I'm
not sure which opcode should be considered the canonical one, but
lower roundeven back to round.
The file was modifiedllvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
The file was addedllvm/test/CodeGen/AMDGPU/GlobalISel/roundeven.ll
The file was modifiedllvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
The file was modifiedllvm/include/llvm/CodeGen/GlobalISel/LegalizerInfo.h
The file was modifiedllvm/lib/Target/X86/X86LegalizerInfo.cpp
The file was modifiedllvm/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h
The file was modifiedllvm/include/llvm/Support/TargetOpcodes.def
The file was addedllvm/test/CodeGen/X86/GlobalISel/roundeven.ll
The file was modifiedllvm/include/llvm/Target/GenericOpcodes.td
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/legalizer-info-validation.mir
Commit 44e7d449973948ddaa5f7c84a56dd79f8bb82e43 by julian.lettner
[Darwin][compiler-rt] kern.osproductversion unavailable pre macOS 10.13

Add a fallback for `sysctl kern.osproductversion` for XNU 17 (macOS
10.13) and below, which do not provide this property.

Unfortunately, this means we have to take the detour via Darwin kernel
version again (at least for the fallback).

Reviewed By: delcypher

Differential Revision: https://reviews.llvm.org/D84892
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_mac.cpp
Commit 618a0c0d3bd364dbab26af6f3a7398d0e9165c9c by Vedant Kumar
[profile] Add InstrProfilingInternal.c.o to Darwin kext builtins

Fixes a build failure in the Darwin kernel. Tested with:

% nm -m ./lib/libclang_rt.cc_kext_x86_64_osx.a | grep lprofSetProfileDumped

rdar://66249602
The file was modifiedcompiler-rt/lib/profile/InstrProfilingWriter.c
The file was modifiedcompiler-rt/lib/profile/InstrProfilingPlatformDarwin.c
The file was modifiedcompiler-rt/lib/profile/InstrProfilingInternal.c
The file was modifiedcompiler-rt/lib/profile/InstrProfiling.c
The file was modifiedcompiler-rt/lib/profile/InstrProfilingBuffer.c
The file was modifiedcompiler-rt/cmake/Modules/CompilerRTDarwinUtils.cmake
Commit 111a02decd4f4ed1cf3995dd0010a6238b542914 by aqjune
[JumpThreading] Fold br(freeze(undef))

This patch makes JumpThreading fold br(freeze(undef)) if the freeze instruction
is only used by the branch.

Reviewed By: efriedma

Differential Revision: https://reviews.llvm.org/D84818
The file was modifiedllvm/lib/Transforms/Scalar/JumpThreading.cpp
The file was modifiedllvm/test/Transforms/JumpThreading/freeze.ll
Commit a64883431369f28f3fac311c496a4dfad480058f by richard
PR46729: Reject explicit and partial specializations with C linkage.
The file was modifiedclang/lib/Sema/SemaDecl.cpp
The file was modifiedclang/test/SemaTemplate/class-template-decl.cpp
The file was addedclang/test/CXX/temp/temp.pre/p6.cpp
The file was modifiedclang/lib/Sema/SemaTemplate.cpp
Commit 9a3dbc972322413045bb5672b0fd3ba8c216c987 by Jonas Devlieghere
[lldb] Move finish_swig logic into a function in the binding dir

Move the finish_swig logic into a function in the bindings directory. By
making this a function I can reuse the logic internally where we ship
two Python versions and therefore need to finish the bindings twice.
The file was modifiedlldb/CMakeLists.txt
The file was modifiedlldb/bindings/CMakeLists.txt
Commit 66c572af5504b1eff32d221291041081af835256 by Matthew.Arsenault
GlobalISel: Handle assorted no-op intrinsics

SelectionDAGBuilder just drops these, so do the same.
The file was modifiedllvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
The file was addedllvm/test/CodeGen/AArch64/GlobalISel/irtranslator-no-op-intrinsics.ll
Commit 7d0b32c268ab4cfbc0630b2836890f2aef128d8b by Matthew.Arsenault
GlobalISel: Use result of find rather than rechecking map
The file was modifiedllvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
Commit 5aa2fd88cfb745659fb36d700326b21fcd148afd by Tony.Tye
[AMDGPU] DWARF proposal changes for expression context

- Clarify what context is used in DWARF expression evaluation.

- Define location descriptions to fully resolve the context and so
  include the context in their result.

- As a consequence of location descriptions being fully resoved,
  change address spaces so only a swizzled and unswizzled private
  address space is defined. The lane is now part of the location
  description context.

- Clarify how call frame information is used to fully resolve
  expressions that specify registers.

Reviewed By: scott.linder

Differential Revision: https://reviews.llvm.org/D70523
The file was modifiedllvm/docs/AMDGPUDwarfProposalForHeterogeneousDebugging.rst
The file was modifiedllvm/docs/AMDGPUUsage.rst
Commit a18953c1c05e520406783acbb5e6b06954f9150d by shkzhang
[PowerPC] Fix RM operands for some instructions

Summary:
Some instructions have set the wrong [RM] flag, this patch is to fix it.

Instructions x(v|s)r(d|s)pi[zmp]? and fri[npzm] use fixed rounding
directions without referencing current rounding mode.

Also, the SETRNDi, SETRND, BCLRn, MTFSFI, MTFSB0, MTFSB1, MTFSFb,
MTFSFI, MTFSFI_rec, MTFSF, MTFSF_rec should also fix the RM flag.

Reviewed By: jsji

Differential Revision: https://reviews.llvm.org/D81360
The file was modifiedllvm/test/CodeGen/PowerPC/setrnd.ll
The file was modifiedllvm/lib/Target/PowerPC/PPCInstrInfo.td
The file was modifiedllvm/lib/Target/PowerPC/PPCISelLowering.cpp
The file was addedllvm/test/CodeGen/PowerPC/rounding-rm-flag.ll
The file was modifiedllvm/lib/Target/PowerPC/PPCInstrVSX.td
Commit eee7cc95d65e29d2493eea41559935b33e39b57e by Yuanfang Chen
[llvm-readobj] NFC. Add -help description of --hex-dump and
--string-dump
The file was modifiedllvm/tools/llvm-readobj/llvm-readobj.cpp
Commit ec932939423bdea77c46cf79be4198266ea83e9f by Yuanfang Chen
NFC. Fix comments
The file was modifiedllvm/include/llvm/IR/PassManager.h
Commit 8224c5047e9cef2db4b0e31427cdf90a2568a341 by Yuanfang Chen
For some tests targeting SystemZ, -march=z13 ---> -mcpu=z13

z13 is not a target. It is a CPU.
The file was modifiedllvm/test/Analysis/MemorySSA/pr40509.ll
The file was modifiedllvm/test/Instrumentation/MemorySanitizer/SystemZ/vararg.ll
The file was modifiedllvm/test/Transforms/LoopSimplifyCFG/pr39783.ll
The file was modifiedllvm/test/Instrumentation/MemorySanitizer/SystemZ/vararg-kernel.ll
The file was modifiedllvm/test/Transforms/LICM/pr40317.ll
Commit f71deb43abea588901c083d3e6d6d25371b486ae by akhuang
[DebugInfo] Fix to ctor homing to ignore classes with trivial ctors.

Previously ctor homing was omitting debug info for classes if they
have both trival and nontrivial constructors, but we should only omit debug
info if the class doesn't have any trivial constructors.

retained types list.

bug: https://bugs.llvm.org/show_bug.cgi?id=46537

Differential Revision: https://reviews.llvm.org/D84870
The file was modifiedclang/test/CodeGenCXX/debug-info-limited-ctor.cpp
The file was modifiedclang/lib/CodeGen/CGDebugInfo.cpp
Commit 9611ee5f40ea0b0878725dd06657e55363b4065f by craig.topper
[X86] Teach the assembler parser to handle a '*' between segment register and base/index/displacement part of an address

A '*' after the segment is equivalent to a '*' before the segment register. To make the AsmMatcher table work we need to place the '*' token into the operand vector before the full memory operand. To accomplish this I've modified some portions of operand parsing to expose the operand vector to ParseATTOperand so that the token can be pushed to the vector after parsing the segment register and before creating the memory operand using that segment register.

Fixes PR46879

Reviewed By: MaskRay

Differential Revision: https://reviews.llvm.org/D84895
The file was modifiedllvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
The file was modifiedllvm/test/MC/X86/x86-32.s
The file was modifiedllvm/test/MC/X86/x86-64.s
Commit e24f5f314914cff02958b023f2ecfc3cb413372e by Tony.Tye
[AMDGPU] DWARF proposal changes

- Clarify that these are extensions to DWARF 5 and not as yet a
  proposal.

Reviewed By: scott.linder

Differential Revision: https://reviews.llvm.org/D70523
The file was removedllvm/docs/AMDGPUDwarfProposalForHeterogeneousDebugging.rst
The file was addedllvm/docs/AMDGPUDwarfExtensionsForHeterogeneousDebugging.rst
The file was modifiedllvm/docs/AMDGPUUsage.rst
Commit 629467eb981ac5d6bccebd524a166e02bef1820f by Tony.Tye
[AMDGPU] Fix DWARF extensions User Guide table of contents
The file was modifiedllvm/docs/UserGuides.rst
Commit b22b97b3d0c08485d478073d6a2a6e769af7a2af by 1.int32
[Analyzer] Use of BugType in DereferenceChecker (NFC).

Use of BuiltinBug is replaced by BugType.
Class BuiltinBug seems to have no benefits and is confusing.

Reviewed By: Szelethus, martong, NoQ, vsavchenko

Differential Revision: https://reviews.llvm.org/D84494
The file was modifiedclang/lib/StaticAnalyzer/Checkers/DereferenceChecker.cpp
Commit 3678ad88a6a1cbc8f5171519666b10e8997289dc by mkazantsev
[NFC] Remove unused variable
The file was modifiedllvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp
Commit 032ed39defc7403b94c367fa43432606c418e946 by sepavloff
[Support] Class to facilitate file locking

This change define RAII class `FileLocker` and methods `lock` and
`tryLockFor` of the class `raw_fd_stream` to facilitate using file locks.

Differential Revision: https://reviews.llvm.org/D79066
The file was modifiedllvm/include/llvm/Support/FileSystem.h
The file was modifiedllvm/unittests/Support/Path.cpp
The file was modifiedllvm/lib/Support/raw_ostream.cpp
The file was modifiedllvm/include/llvm/Support/raw_ostream.h
Commit 17597442db159829dd167abb638b198ad0afc309 by craig.topper
[X86] Don't pass some many parameters to ParseMemOperand by reference.

Pointers and SMLocs are cheap to copy. Even though the function
modifies some of these the caller doesn't use them after the call.
The file was modifiedllvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
Commit 07bb8240a0b2f4262764efb828b09650f24a03c5 by craig.topper
[X86] Pass the OperandVector to ParseMemOperand instead of returning the operand. NFCI

Continue the change made to ParseATTOperand to take the vector by
reference. Let ParseMemOperand add its memory operand to the
vector and just return true/false to indicate error.
The file was modifiedllvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
Commit cd4e8d7f6f5ef108919f9f53db35ac73d1edea3d by hokein.wu
[clangd] Fix an assertion failure in TargetFinder's heuristic resolution of dependent type.

The assertion is not true anymore after D82739, this patch just removes
it, and rename related functions.

And also fixes a missing cases.

Differential Revision: https://reviews.llvm.org/D84837
The file was modifiedclang-tools-extra/clangd/unittests/FindTargetTests.cpp
The file was modifiedclang-tools-extra/clangd/FindTarget.cpp
Commit 647e9a54c758a6fdd85a569f019f00a653b2bc40 by georgemitenk0v
[MLIR][SPIRVToLLVM] Conversion patterns for GLSL ops

This is the first patch that adds support for GLSL extended
instruction set ops. These are direct conversions, apart from `spv.Tan`
that is lowered to `sin() / cos()`.

Reviewed By: antiagainst

Differential Revision: https://reviews.llvm.org/D84627
The file was modifiedmlir/lib/Conversion/SPIRVToLLVM/ConvertSPIRVToLLVM.cpp
The file was addedmlir/test/Conversion/SPIRVToLLVM/glsl-ops-to-llvm.mlir
Commit 73c12bd8ff1a9cd8375a357ea06f171e127ec1b8 by hokein.wu
[Concepts] Fix a deserialization crash.

`TemplateTypeParmDecl::hasTypeConstraint` is not a safe guard for
checking `TemplateTypeParmDecl::getTypeConstraint()` result is null.

in somecases (e.g. implicit deduction guide templates synthesized from the
constructor, immediately-declared constraint is not formed because of an error),
hasTypeConstraint returns false, and getTypeConstraint returns a nullptr.

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

Differential Revision: https://reviews.llvm.org/D84455
The file was addedclang/test/PCH/cxx2a-constraints-crash.cpp
The file was modifiedclang/lib/Serialization/ASTReaderDecl.cpp
Commit 23ad660b5d34930b2b5362f1bba63daee78f6aa4 by david.sherwood
[SVE][CodeGen] At -O0 fallback to DAG ISel when translating alloca with scalable types

When building code at -O0 We weren't falling back to DAG ISel correctly
when encountering alloca instructions with scalable vector types. This
is because the alloca has no operands that are scalable. I've fixed this by
adding a check in AArch64ISelLowering::fallBackToDAGISel for alloca
instructions with scalable types.

Differential Revision: https://reviews.llvm.org/D84746
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/arm64-fallback.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.cpp
Commit 1745ba41b196d80d8a6739dffcbb6f613d371f29 by 1.int32
[Analyzer] Remove inclusion of uniqueing decl from diagnostic profile.

The uniqueing decl in PathDiagnostic is the declaration with the
uniqueing loc, as stated by documentation comments.
It is enough to include the uniqueing loc in the profile. It is possible
to have objects with different uniqueing decl but same location, at
least with templates. These belong to the same class and should have
same profile.

Reviewed By: vsavchenko, NoQ

Differential Revision: https://reviews.llvm.org/D84843
The file was addedclang/test/Analysis/report-uniqueing.cpp
The file was modifiedclang/lib/Analysis/PathDiagnostic.cpp
Commit 3aab320557e7441bc2ce0b51fd6d82838fd0d484 by georgemitenk0v
[MLIR][SPIRVToLLVM] Conversion for inverse sqrt and tanh

This is a second patch on conversion of GLSL ops to LLVM dialect.
It introduces patterns to convert `spv.InverseSqrt` and `spv.Tanh`.

Reviewed By: antiagainst

Differential Revision: https://reviews.llvm.org/D84633
The file was modifiedmlir/lib/Conversion/SPIRVToLLVM/ConvertSPIRVToLLVM.cpp
The file was modifiedmlir/test/Conversion/SPIRVToLLVM/glsl-ops-to-llvm.mlir
Commit 0037a5f894345eef5552d6620548cc8ad5900b41 by shkzhang
[PHIElimination] Fix the killed flag for LowerPHINode()

Summary:
In the phi-node-elimination pass, we set the killed flag incorrectly.
When we eliminate the PHI node, we replace the PHI with a copy for the
incoming value.

Before this patch, we will set incoming value as killed(PHICopy). And
we will remove the killed flag from last using incoming value(OldKill).
This is correct, only if the new PHICopy is after the OldKill.

Reviewed By: bjope

Differential Revision: https://reviews.llvm.org/D80886
The file was modifiedllvm/lib/CodeGen/PHIElimination.cpp
The file was addedllvm/test/CodeGen/PowerPC/phi-eliminate.mir
Commit 18805320365314ecbbebc65279c142a12ae9c0c2 by georgemitenk0v
[MLIR][SPIRVToLLVM] Conversion of GLSL ops to LLVM intrinsics

This patch introduces new intrinsics in LLVM dialect:
-  `llvm.intr.floor`
-  `llvm.intr.maxnum`
-  `llvm.intr.minnum`
-  `llvm.intr.smax`
-  `llvm.intr.smin`
These intrinsics correspond to SPIR-V ops from GLSL
extended instruction set (`spv.GLSL.Floor`, `spv.GLSL.FMax`,
`spv.GLSL.FMin`,  `spv.GLSL.SMax` and `spv.GLSL.SMin`
respectively). Also conversion patterns for them were added.

Reviewed By: antiagainst

Differential Revision: https://reviews.llvm.org/D84661
The file was modifiedmlir/lib/Conversion/SPIRVToLLVM/ConvertSPIRVToLLVM.cpp
The file was modifiedmlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
The file was modifiedmlir/test/Conversion/SPIRVToLLVM/glsl-ops-to-llvm.mlir
The file was modifiedmlir/test/Target/llvmir-intrinsics.mlir
Commit bbe509920721cf5d42990339e4daf43e27073ec4 by ro
[compiler-rt][cmake] Simplify COMPILER_RT_HAS_VERSION_SCRIPT tests

As requested in the review, this patch removes the additional conditions in
the `COMPILER_RT_HAS_VERSION_SCRIPT` tests.

Tested on `amd64-pc-solaris2.11` and `x86_64-pc-linux-gnu`.

Differential Revision: https://reviews.llvm.org/D84559
The file was modifiedcompiler-rt/lib/asan/CMakeLists.txt
The file was modifiedcompiler-rt/lib/ubsan/CMakeLists.txt
Commit 1ac72a0774b5e6d770bb65d2debccca561bc1c31 by flo
[IPConstProp] Regenerate check lines.

Preparation for D84447.
The file was modifiedllvm/test/Transforms/IPConstantProp/comdat-ipo.ll
The file was modifiedllvm/test/Transforms/IPConstantProp/multiple_callbacks.ll
The file was modifiedllvm/test/Transforms/IPConstantProp/return-constant.ll
The file was modifiedllvm/test/Transforms/IPConstantProp/return-argument.ll
The file was modifiedllvm/test/Transforms/IPConstantProp/deadarg.ll
The file was modifiedllvm/test/Transforms/IPConstantProp/return-constants.ll
The file was modifiedllvm/test/Transforms/IPConstantProp/naked-return.ll
The file was modifiedllvm/test/Transforms/IPConstantProp/pthreads.ll
The file was modifiedllvm/test/Transforms/IPConstantProp/openmp_parallel_for.ll
The file was modifiedllvm/test/Transforms/IPConstantProp/thread_local_acs.ll
The file was modifiedllvm/test/Transforms/IPConstantProp/arg-count-mismatch.ll
The file was modifiedllvm/test/Transforms/IPConstantProp/2008-06-09-WeakProp.ll
The file was modifiedllvm/test/Transforms/IPConstantProp/recursion.ll
Commit 332170356e35ea9cdc2c1d612b61a50ec5ea322e by david.truby
[flang] Fix multi-config generator builds.

Summary:
Currently the binaries are output directly into the bin subdirectory of the
build directory. This doesn't work correctly with multi-config generators which
should output the binaries into <CONFIG_NAME>/bin instead.

Reviewers: sscalpone, richard.barton.arm

Subscribers: mgorny, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D84022
The file was modifiedflang/test/lit.site.cfg.py.in
The file was modifiedflang/test/lit.cfg.py
The file was modifiedflang/tools/f18/CMakeLists.txt
The file was modifiedflang/CMakeLists.txt
Commit 45a720a864320bbbeb596abe412786fa91858980 by n.james93
[clang-tidy] Use StringMap for ClangTidyOptions::OptionsMap

Ordering of options isn't important so an `llvm::StringMap` is a much better container for this purpose.

Reviewed By: gribozavr2

Differential Revision: https://reviews.llvm.org/D84868
The file was modifiedclang-tools-extra/clang-tidy/ClangTidyOptions.h
The file was modifiedclang-tools-extra/clang-tidy/ClangTidy.cpp
The file was modifiedclang-tools-extra/test/clang-tidy/infrastructure/config-files.cpp
The file was modifiedclang-tools-extra/test/clang-tidy/checkers/google-module.cpp
The file was modifiedclang-tools-extra/clang-tidy/ClangTidyCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/ClangTidyOptions.cpp
Commit 276ed5f7e4ee82e02abaa37ffc2dfa090ea6167e by samuel.tebbs
[DAGCombiner] Fold sext_inreg of a masked load into a sign extended masked load

This patch adds a DAG combine fold for a sext(masked_load) into a sign extended masked load.

Differential Revision: https://reviews.llvm.org/D84332
The file was addedllvm/test/CodeGen/Thumb2/mve-sext-masked-load.ll
The file was modifiedllvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Commit 006f6f8ac6fe920e978f65d92bb44825833f2933 by Xing
[DWARFYAML] Make the 'AddressSize', 'SegmentSelectorSize' fields optional.

This patch makes the 'AddressSize' and 'SegmentSelectorSize' fields of
address range table optional.

Reviewed By: jhenderson

Differential Revision: https://reviews.llvm.org/D84907
The file was modifiedllvm/include/llvm/ObjectYAML/DWARFYAML.h
The file was modifiedllvm/lib/ObjectYAML/DWARFEmitter.cpp
The file was modifiedllvm/lib/ObjectYAML/DWARFYAML.cpp
The file was modifiedllvm/test/ObjectYAML/MachO/DWARF-debug_aranges.yaml
The file was modifiedllvm/test/tools/yaml2obj/ELF/DWARF/debug-aranges.yaml
Commit 3da6a974db86ba7d1f9a17a1e229daeade52a038 by Xing
[DWARFYAML] Make the 'Length' field of the address range table optional.

This patch makes the 'Length' field of the address range table optional.

Reviewed By: jhenderson

Differential Revision: https://reviews.llvm.org/D84911
The file was modifiedllvm/include/llvm/ObjectYAML/DWARFYAML.h
The file was modifiedllvm/test/tools/yaml2obj/ELF/DWARF/debug-aranges.yaml
The file was modifiedllvm/lib/ObjectYAML/DWARFYAML.cpp
The file was modifiedllvm/lib/ObjectYAML/DWARFEmitter.cpp
Commit 05b173466142596b3297ab02e423574cb74b3799 by platonov.aleksandr
[clangd] findNearbyIdentifier(): fix the word search in the token stream.

Without this patch the word occurrence search always returns the first token of the file.
Despite of that, `findNeardyIdentifier()` returns the correct result (but inefficently) until there are several matched tokens with the same value `floor(log2(<token line> - <word line>))` (e.g. several matched tokens on the same line).

Reviewed By: kadircet

Differential Revision: https://reviews.llvm.org/D84912
The file was modifiedclang-tools-extra/clangd/XRefs.cpp
The file was modifiedclang-tools-extra/clangd/unittests/XRefsTests.cpp
Commit 141b64a340a42ef59fe42f54faa91059ede44980 by esme.yi
[NFC] Failed cases for some patterns defined in DAGCombiner.cpp
The file was addedllvm/test/CodeGen/PowerPC/combine_ext_trunc.ll
Commit a4a0844248d4a68a866b9c4e18ae89fa49a83ec0 by Raphael Isemann
[lldb] Don't use static locals for return value storage in some *AsCString functions

Let's just return a std::string to make this safe. formatv seemed overkill for formatting
the return values as they all just append an integer value to a constant string.

Reviewed By: labath

Differential Revision: https://reviews.llvm.org/D84505
The file was modifiedlldb/source/Plugins/Process/MacOSX-Kernel/CommunicationKDP.cpp
The file was modifiedlldb/source/Core/Communication.cpp
The file was modifiedlldb/source/Target/ThreadPlanStepOverBreakpoint.cpp
The file was modifiedlldb/include/lldb/Core/Communication.h
The file was modifiedlldb/source/Target/ThreadPlanCallFunction.cpp
The file was modifiedlldb/include/lldb/Target/Thread.h
The file was modifiedlldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.cpp
The file was modifiedlldb/source/Target/Thread.cpp
Commit 44a4ba859d8b0247e631f84645b37b433bdefc7a by flo
[AArch64] Add machine-combiner tests with instruction level FMFs.
The file was addedllvm/test/CodeGen/AArch64/machine-combiner-instr-fmf.mir
Commit a262f0fea46ce08008f3462c336c3d7107e98b27 by kbobyrev
[clangd] Implement Relations request for remote index

This is the last missing bit in the core remote index implementation. The only
remaining bits are some API refactorings (replacing Optional with Expected and
being better at reporting errors).

Reviewed By: kadircet

Differential Revision: https://reviews.llvm.org/D84894
The file was modifiedclang-tools-extra/clangd/index/remote/Client.cpp
The file was modifiedclang-tools-extra/clangd/index/remote/server/Server.cpp
The file was modifiedclang-tools-extra/clangd/index/remote/marshalling/Marshalling.h
The file was modifiedclang-tools-extra/clangd/index/remote/marshalling/Marshalling.cpp
The file was modifiedclang-tools-extra/clangd/unittests/remote/MarshallingTests.cpp
The file was modifiedclang-tools-extra/clangd/index/remote/Index.proto
Commit 2dec72ba5cd271f619a10d5cc230e384d3d86d1d by llvm-dev
[X86][SSE] combineExtractWithShuffle - extend extract(truncate(x),0) for any source vector size

As long as we can extract the lowest 128-bit subvector from the pre-truncated source vector, then we don't care what size it is.

The next stage will be to support non-zero extraction indices, as long as its still coming from the lowest 128-bit subvector.
The file was modifiedllvm/test/CodeGen/X86/vector-reduce-mul.ll
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
Commit cc529285fd621c6f4f5de77c8de10ac0bb7ce190 by llvm-dev
VectorUtils.h - reduce unnecessary includes. NFC.

Replace TargetLibraryInfo.h include with forward declaration and fix implicit dependencies.

Reduce SmallSet.h include to SmallVector.h include.
The file was modifiedllvm/lib/Target/PowerPC/PPCTargetTransformInfo.cpp
The file was modifiedllvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
The file was modifiedllvm/include/llvm/Analysis/VectorUtils.h
Commit e77624a3be942c7abba48942b3a8da3462070a3f by flo
[IPConstProp] Remove and move tests to SCCP.

As far as I know, ipconstprop has not been used in years and ipsccp has
been used instead. This has the potential for confusion and sometimes
leads people to spend time finding & reporting bugs as well as
updating it to work with the latest API changes.

This patch moves the tests over to SCCP. There's one functional difference
I am aware of: ipconstprop propagates for each call-site individually, so
for functions that are called with different constant arguments it can sometimes
produce better results than ipsccp (at much higher compile-time cost).But
IPSCCP can be thought to do so as well for internal functions and as mentioned
earlier, the pass seems unused in practice (and there are no plans on working
towards enabling it anytime).

Also discussed on llvm-dev:
http://lists.llvm.org/pipermail/llvm-dev/2020-July/143773.html

Reviewed By: jdoerfert

Differential Revision: https://reviews.llvm.org/D84447
The file was addedllvm/test/Transforms/SCCP/arg-type-mismatch.ll
The file was removedllvm/test/Transforms/IPConstantProp/deadarg.ll
The file was modifiedllvm/include/llvm/Transforms/IPO.h
The file was removedllvm/test/Transforms/IPConstantProp/comdat-ipo.ll
The file was removedllvm/test/Transforms/IPConstantProp/arg-type-mismatch.ll
The file was modifiedllvm/include/llvm/InitializePasses.h
The file was modifiedllvm/lib/Transforms/IPO/CMakeLists.txt
The file was modifiedllvm/include/llvm-c/Transforms/IPO.h
The file was removedllvm/test/Transforms/IPConstantProp/arg-count-mismatch.ll
The file was modifiedllvm/lib/Transforms/IPO/IPO.cpp
The file was removedllvm/test/Transforms/IPConstantProp/2008-06-09-WeakProp.ll
The file was addedllvm/test/Transforms/SCCP/return-constant.ll
The file was removedllvm/test/Transforms/IPConstantProp/return-constants.ll
The file was addedllvm/test/Transforms/SCCP/deadarg.ll
The file was removedllvm/test/Transforms/IPConstantProp/return-constant.ll
The file was removedllvm/test/Transforms/IPConstantProp/return-argument.ll
The file was addedllvm/test/Transforms/SCCP/thread_local_acs.ll
The file was addedllvm/test/Transforms/SCCP/return-constants.ll
The file was modifiedllvm/docs/Passes.rst
The file was removedllvm/test/Transforms/IPConstantProp/openmp_parallel_for.ll
The file was modifiedllvm/bindings/ocaml/transforms/ipo/ipo_ocaml.c
The file was removedllvm/test/Transforms/IPConstantProp/multiple_callbacks.ll
The file was modifiedllvm/bindings/go/llvm/transforms_ipo.go
The file was addedllvm/test/Transforms/SCCP/arg-count-mismatch.ll
The file was modifiedllvm/utils/findoptdiff
The file was addedllvm/test/Transforms/SCCP/2008-06-09-WeakProp.ll
The file was addedllvm/test/Transforms/SCCP/return-argument.ll
The file was modifiedllvm/bindings/ocaml/transforms/ipo/llvm_ipo.mli
The file was addedllvm/test/Transforms/SCCP/openmp_parallel_for.ll
The file was removedllvm/test/Transforms/IPConstantProp/pthreads.ll
The file was addedllvm/test/Transforms/SCCP/naked-return.ll
The file was removedllvm/test/Transforms/IPConstantProp/thread_local_acs.ll
The file was removedllvm/test/Transforms/IPConstantProp/PR43857.ll
The file was removedllvm/test/Transforms/IPConstantProp/naked-return.ll
The file was addedllvm/test/Transforms/SCCP/multiple_callbacks.ll
The file was addedllvm/test/Transforms/SCCP/recursion.ll
The file was addedllvm/test/Transforms/SCCP/pthreads.ll
The file was modifiedllvm/utils/gn/secondary/llvm/lib/Transforms/IPO/BUILD.gn
The file was modifiedllvm/test/Transforms/SCCP/comdat-ipo.ll
The file was addedllvm/test/Transforms/SCCP/PR43857.ll
The file was removedllvm/lib/Transforms/IPO/IPConstantPropagation.cpp
The file was removedllvm/test/Transforms/IPConstantProp/recursion.ll
The file was modifiedllvm/include/llvm/LinkAllPasses.h
Commit a97940d4e0ed0507eb9beba7f22e34d62449a58f by frgossen
[MLIR][Shape] Limit `shape.rank` lowering to its extent tensor variant

When lowering to the standard dialect, we currently support only the extent
tensor variant of the shape.rank operation. This change lets the conversion
pattern fail in a well-defined manner.

Differential Revision: https://reviews.llvm.org/D84852
The file was modifiedmlir/test/Conversion/ShapeToStandard/shape-to-standard.mlir
The file was modifiedmlir/lib/Conversion/ShapeToStandard/ShapeToStandard.cpp
Commit 59d6e814ce0e7b40b7cc3ab136b9af2ffab9c6f8 by flo
Revert "[IPConstProp] Remove and move tests to SCCP."

This reverts commit e77624a3be942c7abba48942b3a8da3462070a3f.

Looks like some clang tests manually invoke -ipconstprop via opt.....
The file was addedllvm/test/Transforms/IPConstantProp/PR43857.ll
The file was addedllvm/test/Transforms/IPConstantProp/pthreads.ll
The file was removedllvm/test/Transforms/SCCP/return-argument.ll
The file was addedllvm/test/Transforms/IPConstantProp/thread_local_acs.ll
The file was removedllvm/test/Transforms/SCCP/pthreads.ll
The file was modifiedllvm/utils/findoptdiff
The file was modifiedllvm/include/llvm/InitializePasses.h
The file was addedllvm/lib/Transforms/IPO/IPConstantPropagation.cpp
The file was removedllvm/test/Transforms/SCCP/2008-06-09-WeakProp.ll
The file was removedllvm/test/Transforms/SCCP/arg-type-mismatch.ll
The file was removedllvm/test/Transforms/SCCP/multiple_callbacks.ll
The file was addedllvm/test/Transforms/IPConstantProp/return-argument.ll
The file was modifiedllvm/bindings/go/llvm/transforms_ipo.go
The file was modifiedllvm/include/llvm/Transforms/IPO.h
The file was addedllvm/test/Transforms/IPConstantProp/return-constant.ll
The file was addedllvm/test/Transforms/IPConstantProp/2008-06-09-WeakProp.ll
The file was addedllvm/test/Transforms/IPConstantProp/deadarg.ll
The file was modifiedllvm/lib/Transforms/IPO/IPO.cpp
The file was removedllvm/test/Transforms/SCCP/naked-return.ll
The file was removedllvm/test/Transforms/SCCP/thread_local_acs.ll
The file was modifiedllvm/include/llvm/LinkAllPasses.h
The file was addedllvm/test/Transforms/IPConstantProp/naked-return.ll
The file was addedllvm/test/Transforms/IPConstantProp/return-constants.ll
The file was addedllvm/test/Transforms/IPConstantProp/recursion.ll
The file was modifiedllvm/utils/gn/secondary/llvm/lib/Transforms/IPO/BUILD.gn
The file was modifiedllvm/lib/Transforms/IPO/CMakeLists.txt
The file was removedllvm/test/Transforms/SCCP/arg-count-mismatch.ll
The file was modifiedllvm/bindings/ocaml/transforms/ipo/llvm_ipo.mli
The file was removedllvm/test/Transforms/SCCP/deadarg.ll
The file was addedllvm/test/Transforms/IPConstantProp/openmp_parallel_for.ll
The file was addedllvm/test/Transforms/IPConstantProp/arg-type-mismatch.ll
The file was removedllvm/test/Transforms/SCCP/openmp_parallel_for.ll
The file was removedllvm/test/Transforms/SCCP/return-constants.ll
The file was addedllvm/test/Transforms/IPConstantProp/arg-count-mismatch.ll
The file was modifiedllvm/bindings/ocaml/transforms/ipo/ipo_ocaml.c
The file was removedllvm/test/Transforms/SCCP/recursion.ll
The file was addedllvm/test/Transforms/IPConstantProp/comdat-ipo.ll
The file was removedllvm/test/Transforms/SCCP/PR43857.ll
The file was modifiedllvm/test/Transforms/SCCP/comdat-ipo.ll
The file was modifiedllvm/docs/Passes.rst
The file was addedllvm/test/Transforms/IPConstantProp/multiple_callbacks.ll
The file was modifiedllvm/include/llvm-c/Transforms/IPO.h
The file was removedllvm/test/Transforms/SCCP/return-constant.ll
Commit 67e41df4e03e934b2990cd7f0b7f5d4e0a58e14f by jperier
[flang] Expose specific to generic intrinsic name mapping

The intrinsic lowering facility is based on the generic intrinsic names to avoid
duplicating implementations. Specific intrinsics call are re-written to call to
the generic versions by the front-end but this cannot be done when specific intrinsics
are passed as arguments (the rewrite would give illegal/ambiguous unparsed Fortran).
Solve the issue by making the specific to generic name mapping accessible to lowering
and can be later used to generate the unrestricted intrinsic functions.

Reviewed By: schweitz

Differential Revision: https://reviews.llvm.org/D84842
The file was modifiedflang/unittests/Evaluate/intrinsics.cpp
The file was modifiedflang/include/flang/Evaluate/intrinsics.h
The file was modifiedflang/lib/Evaluate/intrinsics.cpp
Commit e12db3ed997de473b2b7189781dbec7a239a3994 by herhut
[mlir] Allow index as element type of memref

Differential Revision: https://reviews.llvm.org/D84934
The file was modifiedmlir/docs/Rationale/Rationale.md
The file was modifiedmlir/test/Conversion/StandardToLLVM/convert-to-llvmir.mlir
The file was modifiedmlir/lib/Parser/TypeParser.cpp
The file was modifiedmlir/lib/IR/StandardTypes.cpp
The file was modifiedmlir/test/IR/invalid.mlir
The file was modifiedmlir/test/IR/parser.mlir
Commit 76d07503f0c69f6632e6d8d4736e2a4cb4055a92 by uday
[MLIR] Introduce inter-procedural memref layout normalization

-- Introduces a pass that normalizes the affine layout maps to the identity layout map both within and across functions by rewriting function arguments and call operands where necessary.
-- Memref normalization is now implemented entirely in the module pass '-normalize-memrefs' and the limited intra-procedural version has been removed from '-simplify-affine-structures'.
-- Run using -normalize-memrefs.
-- Return ops are not handled and would be handled in the subsequent revisions.

Signed-off-by: Abhishek Varma <abhishek.varma@polymagelabs.com>

Differential Revision: https://reviews.llvm.org/D84490
The file was modifiedmlir/include/mlir/Transforms/Passes.td
The file was modifiedmlir/lib/Dialect/Affine/Transforms/SimplifyAffineStructures.cpp
The file was modifiedmlir/lib/Transforms/Utils/Utils.cpp
The file was addedmlir/lib/Transforms/NormalizeMemRefs.cpp
The file was modifiedmlir/include/mlir/Transforms/Passes.h
The file was modifiedmlir/include/mlir/Transforms/Utils.h
The file was removedmlir/test/Transforms/memref-normalize.mlir
The file was addedmlir/test/Transforms/normalize-memrefs.mlir
The file was modifiedmlir/lib/Transforms/CMakeLists.txt
Commit 13a3d88666e2162a91dfcae3824198c9ba74cc7b by csigg
[MLIR] Don't pass separate LowerToLLVMOptions when we already pass a LLVMTypeConverter which contains those options already.

This also prevents passing inconsistent options.

Reviewed By: ftynse

Differential Revision: https://reviews.llvm.org/D84915
The file was modifiedmlir/lib/Conversion/StandardToLLVM/StandardToLLVM.cpp
The file was modifiedmlir/include/mlir/Conversion/StandardToLLVM/ConvertStandardToLLVMPass.h
The file was modifiedmlir/include/mlir/Conversion/StandardToLLVM/ConvertStandardToLLVM.h
Commit 85defd23aa09f2fa8bf48fed7a04ed4a5851cd0c by herhut
[mlir][shape] Use memref of index in shape lowering

Now that we can have a memref of index type, we no longer need to materialize shapes in i64 and then index_cast.

Differential Revision: https://reviews.llvm.org/D84938
The file was modifiedmlir/lib/Conversion/ShapeToSCF/ShapeToSCF.cpp
The file was modifiedmlir/test/Conversion/ShapeToSCF/shape-to-scf.mlir
Commit 9be1bdc24075b8a99f251cee5416615574afa295 by Louis Dionne
[libc++] Add XFAIL for <float.h> and <cfloat> tests on older Clangs
The file was modifiedlibcxx/test/std/depr/depr.c.headers/float_h.pass.cpp
The file was modifiedlibcxx/test/std/language.support/support.limits/c.limits/cfloat.pass.cpp
Commit 1da0c47fa2e6e3316294e146ce7065dd49b2d5a2 by david.green
[LoopVectorizer] Don't create unused block masks for reductions. NFC

This removes some unneeded block masks when we don't have any
reductions. It should not have any effect on codegen as the values
created are dead anyway.

Differential Revision: https://reviews.llvm.org/D81415
The file was modifiedllvm/test/Transforms/LoopVectorize/icmp-uniforms.ll
The file was modifiedllvm/lib/Transforms/Vectorize/LoopVectorize.cpp
The file was modifiedllvm/test/Transforms/LoopVectorize/tail-folding-vectorization-factor-1.ll
Commit f7237ee74fa629a4e79abf4bd3bc2e4d2b5d8a0a by spatel
[ConstantFolding] add tests for abs intrinsic; NFC
The file was addedllvm/test/Analysis/ConstantFolding/abs.ll
Commit 04dc9691ebef740cc8dc85e9a5d7a3e1ed595765 by jasonliu
[XCOFF][AIX] Enable -ffunction-sections

Summary:
This patch implements -ffunction-sections on AIX.
This patch focuses on assembly generation.
Follow-on patch needs to handle:
1. -ffunction-sections implication for jump table.
2. Object file generation path and associated testing.

Differential Revision: https://reviews.llvm.org/D83875
The file was modifiedllvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
The file was modifiedllvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
The file was addedllvm/test/CodeGen/PowerPC/aix-xcoff-funcsect.ll
Commit 142d0d3ed8e07aca2476bc4ecc1a12d15577a84a by a.bataev
[OPENMP]Fix PR46824: Global declare target pointer cannot be accessed in target region.

Need to map the base pointer for all directives, not only target
data-based ones.
The base pointer is mapped for array sections, array subscript, array
shaping and other array-like constructs with the base pointer. Also,
codegen for use_device_ptr clause was modified to correctly handle
mapping combination of array like constructs + use_device_ptr clause.
The data for use_device_ptr clause is emitted as the last records in the
data mapping array.
It applies only for global pointers.

Differential Revision: https://reviews.llvm.org/D84767
The file was modifiedclang/test/OpenMP/target_update_codegen.cpp
The file was modifiedopenmp/libomptarget/src/omptarget.cpp
The file was addedopenmp/libomptarget/test/env/base_ptr_ref_count.c
The file was modifiedclang/test/OpenMP/target_map_codegen.cpp
The file was modifiedclang/lib/CodeGen/CGOpenMPRuntime.cpp
The file was modifiedclang/test/OpenMP/target_data_codegen.cpp
The file was modifiedclang/test/OpenMP/target_data_use_device_ptr_codegen.cpp
Commit 38272f45fed3f2233d54ff1495a4433f87215667 by tkeith
[flang] Create HostAssoc symbols for uplevel references

To make it easier for lowering to identify which symbols from the host
are captured by internal subprograms, create HostAssocDetails for them.

In particular, if a symbol is referenced and it is contained in a
subprogram or main program that is not the same as the containing
program unit of the reference, a HostAssocDetails symbol is created
in the current scope.

Differential Revision: https://reviews.llvm.org/D84889
The file was modifiedflang/test/Semantics/symbol03.f90
The file was modifiedflang/test/Semantics/symbol05.f90
The file was modifiedflang/lib/Semantics/tools.cpp
The file was modifiedflang/lib/Semantics/resolve-names.cpp
The file was modifiedflang/test/Semantics/symbol02.f90
Commit b7292f2db02d37c9291afc0613a3fbce0a4ad4e8 by hans
Speculative GCC 5 build fix

It's complaining about specializing the template in a different namespace.
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblySortRegion.cpp
Commit dab8d6104bd743b8caa29cf232ddde051c2d404b by Jinsong Ji
[PowerPC][AIX] Move the testcase to proper dir
The file was removedtest/CodeGen/PowerPC/aix-complex.ll
The file was addedllvm/test/CodeGen/PowerPC/aix-complex.ll
Commit 6316b0023ec081159843e5ca9609c6f35198a4c4 by llvm-dev
Attributor.h - remove unnecessary includes. NFCI.

Fix implicit cpp include dependencies.
The file was modifiedllvm/unittests/Transforms/IPO/AttributorTestBase.h
The file was modifiedllvm/include/llvm/Transforms/IPO/Attributor.h
The file was modifiedllvm/lib/Transforms/IPO/AttributorAttributes.cpp
The file was modifiedllvm/lib/Transforms/IPO/Attributor.cpp
Commit b8c8d1b30986a25ef392c786daf178beff230f6d by Matthew.Arsenault
AMDGPU: Convert some tests to use new buffer intrinsics

The legacy not struct or raw buffer intrinsics should now all be
consolidated into the tests specifically for those intrinsics.
The file was modifiedllvm/test/CodeGen/AMDGPU/amdgcn-load-offset-from-reg.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/merge-store-usedef.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/scheduler-subrange-crash.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/fix-wwm-vgpr-copy.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/si-triv-disjoint-mem-access.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/merge-store-crash.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/mubuf.ll
Commit ef4e66543541603a426bdc5c170e9ab65e65c42e by momchil.velikov
[AArch64] Fix operand definitions of XPACI/XPACD

The operand to these instructions is both input and output.

These are not yet emitted by the compiler and the assembler already
works fine, so can't test in this patch.  But D75044 will use XPACI
and provide test coverage for this patch as well.

Differential Revision: https://reviews.llvm.org/D84298
The file was modifiedllvm/lib/Target/AArch64/AArch64InstrInfo.td
The file was modifiedllvm/lib/Target/AArch64/AArch64InstrFormats.td
Commit 4e6176fd912a68de0764fff43a129a73f5cab800 by Xiangling.Liao
[AIX] Temporarily disable IncrementalProcessingTest partially

Temporarily disable IncrementalProcessingTest partially until the static
initialization implementation on AIX is recovered.

Differential Revision: https://reviews.llvm.org/D84880
The file was modifiedclang/unittests/CodeGen/IncrementalProcessingTest.cpp
Commit b69357c2f4f2aa0c4999d6827a40fe748641fdb1 by a.bataev
Revert "[OPENMP]Fix PR46824: Global declare target pointer cannot be accessed in target region."

This reverts commit 142d0d3ed8e07aca2476bc4ecc1a12d15577a84a to
investigate undefined behavior revealed by buildbots.
The file was modifiedclang/lib/CodeGen/CGOpenMPRuntime.cpp
The file was modifiedclang/test/OpenMP/target_map_codegen.cpp
The file was modifiedclang/test/OpenMP/target_data_use_device_ptr_codegen.cpp
The file was modifiedopenmp/libomptarget/src/omptarget.cpp
The file was removedopenmp/libomptarget/test/env/base_ptr_ref_count.c
The file was modifiedclang/test/OpenMP/target_data_codegen.cpp
The file was modifiedclang/test/OpenMP/target_update_codegen.cpp
Commit c4b7bfdff65e5883bfe64248ac244b9fadf531ee by kbobyrev
[clangd] NFC: Spell out types in index callback arguments
The file was modifiedclang-tools-extra/clangd/index/remote/server/Server.cpp
Commit 622e46156d9a91206c877a604d069bb3e2dbf294 by a.bataev
[OPENMP]Fix PR46824: Global declare target pointer cannot be accessed in target region.

Need to map the base pointer for all directives, not only target
data-based ones.
The base pointer is mapped for array sections, array subscript, array
shaping and other array-like constructs with the base pointer. Also,
codegen for use_device_ptr clause was modified to correctly handle
mapping combination of array like constructs + use_device_ptr clause.
The data for use_device_ptr clause is emitted as the last records in the
data mapping array.

Reviewed By: ye-luo

Differential Revision: https://reviews.llvm.org/D84767
The file was addedopenmp/libomptarget/test/env/base_ptr_ref_count.c
The file was modifiedclang/test/OpenMP/target_map_codegen.cpp
The file was modifiedopenmp/libomptarget/src/omptarget.cpp
The file was modifiedclang/test/OpenMP/target_data_use_device_ptr_codegen.cpp
The file was modifiedclang/test/OpenMP/target_update_codegen.cpp
The file was modifiedclang/test/OpenMP/target_data_codegen.cpp
The file was modifiedclang/lib/CodeGen/CGOpenMPRuntime.cpp
Commit 19756ef53a498b7aa1fbac9e3a7cd3aa8e110fad by johannes
[OpenMP][IRBuilder] Support allocas in nested parallel regions

We need to keep track of the alloca insertion point (which we already
communicate via the callback to the user) as we place allocas as well.

Reviewed By: fghanim, SouraVX

Differential Revision: https://reviews.llvm.org/D82470
The file was modifiedllvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
The file was modifiedllvm/unittests/Frontend/OpenMPIRBuilderTest.cpp
The file was modifiedllvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
The file was modifiedclang/lib/CodeGen/CGStmtOpenMP.cpp
Commit ebad64dfe133e64d1df6b82e6ef2fb031d635b08 by johannes
[OpenMP][FIX] Consistently use OpenMPIRBuilder if requested

When we use the OpenMPIRBuilder for the parallel region we need to also
use it to get the thread ID (among other things) in the body. This is
because CGOpenMPRuntime::getThreadID() and
CGOpenMPRuntime::emitUpdateLocation implicitly assumes that if they are
called from within a parallel region there is a certain structure to the
code and certain members of the OMPRegionInfo are initialized. It might
make sense to initialize them even if we use the OpenMPIRBuilder but we
would preferably get rid of such state instead.

Bug reported by Anchu Rajendran Sudhakumari.

Depends on D82470.

Reviewed By: anchu-rajendran

Differential Revision: https://reviews.llvm.org/D82822
The file was modifiedclang/test/OpenMP/cancel_codegen.cpp
The file was modifiedclang/test/OpenMP/task_codegen.cpp
The file was addedclang/test/OpenMP/irbuilder_nested_parallel_for.c
The file was modifiedclang/lib/CodeGen/CGOpenMPRuntime.cpp
Commit d2c22487225b05159c1d7d0da7fac7cae3d2049b by maskray
[X86] Parse and ignore .arch directives

We parse .arch so that some `.arch i386; .code32` code can assemble. It seems
that X86AsmParser does not do a good job tracking what features are needed to
assemble instructions. GNU as's x86 port supports a very wide range of .arch
operands. Ignore the operand for now.

Reviewed By: craig.topper

Differential Revision: https://reviews.llvm.org/D84900
The file was addedllvm/test/MC/X86/directive-arch.s
The file was modifiedllvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
Commit 7b114446c320de542c50c4c02f566e5d18adee33 by kparzysz
Align store conditional address

In cases where the alignment of the datatype is smaller than
expected by the instruction, the address is aligned. The aligned
address is used for the load, but wasn't used for the store
conditional, which resulted in a run-time alignment exception.
The file was modifiedllvm/lib/CodeGen/AtomicExpandPass.cpp
The file was addedllvm/test/CodeGen/Hexagon/atomic-store-byte.ll
Commit b6635b5b15cb1c160776493a982302a854df332e by Jonas Devlieghere
[lldb] Add SBCommandInterpreterRunOptions to LLDB.h
The file was modifiedlldb/include/lldb/API/LLDB.h
Commit 6a043ecc0cf4d257d06c4fe0c3d5e1d9a8c7ea94 by Artem Dergachev
[clang-tidy] Fix ODR violation in unittests.

Both tests define clang::tidy::test::TestCheck::registerMatchers().
This is UB and causes linker to sometimes choose the wrong overload.

Put classes into anonymous namespaces to avoid the problem.

Differential Revision: https://reviews.llvm.org/D84902
The file was modifiedclang-tools-extra/unittests/clang-tidy/ClangTidyDiagnosticConsumerTest.cpp
The file was modifiedclang-tools-extra/unittests/clang-tidy/ClangTidyOptionsTest.cpp
Commit 0a00a7d57791e2bf2a5c86c09dbfb52aac57862d by Louis Dionne
[libc++] Use generator expression in Linker script generation

This is an alternative to the workaround in 34a3b24a90c6.

Differential Revision: https://reviews.llvm.org/D68880
The file was modifiedlibcxx/cmake/Modules/DefineLinkerScript.cmake
Commit 1260a155c37f567111902e532f32d7facdb0f087 by Kuba Mracek
[tsan] Fix the open and open64 interceptors to have correct declarations (variadic functions)

Not matching the (real) variadic declaration makes the interceptor take garbage inputs on Darwin/AArch64.

Differential Revision: https://reviews.llvm.org/D84570
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp
The file was addedcompiler-rt/test/tsan/variadic-open.cpp
Commit 33fd4a18e7d373344c8af0012dd97c1c739f2916 by mahesha.comp
[AMDGPU/MemOpsCluster] Clean-up fixme's around mem ops clustering logic

Get rid of all fixmes and base heuristic on `num-clustered-dwords`. The main intuition behind this is as
follows. The existing heuristic roughly summarizes as below:

* Assume, all the mem ops instructions participating in the clustering process,  loads/stores same num bytes
* If num bytes loaded by each mem op is 4 bytes, then cluster at max 5 mem ops, that is at max 20 bytes
* If num bytes loaded by each mem op is 8 bytes, then cluster at max 3 mem ops, that is at max 24 bytes
* If num bytes loaded by each mem op is 16 bytes, then cluster at max 2 mem ops, that is at max 32 bytes

So, we need to make sure that the new heuristic do not completey deviate away from the above one, and it
properly handles both the sub-word loads and the wide loads.

Reviewed By: arsenm, rampitec

Differential Revision: https://reviews.llvm.org/D84354
The file was modifiedllvm/test/CodeGen/AMDGPU/promote-constOffset-to-imm.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/udivrem.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/indirect-addressing-si.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/cttz_zero_undef.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/llvm.round.f64.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/load-constant.96.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/fshr.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/store-weird-sizes.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/cvt_f32_ubyte.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/token-factor-inline-limit-test.ll
The file was modifiedllvm/lib/Target/AMDGPU/SIInstrInfo.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.ubfe.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/amdhsa-trap-num-sgprs.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/merge-stores.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/kernel-args.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/call-argument-types.ll
Commit 3d06fc0049c6bb94e6efd77388453206037f43ad by jdenny.ornl
[OpenMP][Docs] Mark `present` motion modifier as done
The file was modifiedclang/docs/OpenMPSupport.rst
Commit 3d6f53018f845e893ad34f64ff2851a2e5c3ba1d by yamauchi
[PGO] Include the mem ops into the function hash.

To avoid hash collisions when the only difference is in mem ops.
The file was modifiedclang/test/CodeGenCXX/Inputs/profile-remap_entry.proftext
The file was modifiedclang/test/CodeGenCXX/Inputs/profile-remap.proftext
The file was modifiedllvm/test/Transforms/PGOProfile/Inputs/loop2_entry.proftext
The file was modifiedllvm/test/Transforms/PGOProfile/Inputs/indirectbr.proftext
The file was modifiedllvm/test/Transforms/PGOProfile/Inputs/misexpect-branch-correct.proftext
The file was modifiedllvm/test/Transforms/PGOProfile/Inputs/noreturncall.proftext
The file was modifiedllvm/test/Transforms/PGOProfile/Inputs/diag_no_value_sites.proftext
The file was modifiedllvm/test/Transforms/PGOProfile/Inputs/irreducible_entry.proftext
The file was modifiedclang/test/Profile/Inputs/gcc-flag-compatibility_IR.proftext
The file was modifiedllvm/test/Transforms/PGOProfile/multiple_hash_profile.ll
The file was modifiedllvm/test/Transforms/PGOProfile/Inputs/indirectbr_entry.proftext
The file was modifiedllvm/test/Transforms/PGOProfile/Inputs/branch1_large_count.proftext
The file was modifiedllvm/test/Transforms/PGOProfile/Inputs/PR41279_2.proftext
The file was modifiedllvm/test/Transforms/PGOProfile/Inputs/PR41279.proftext
The file was modifiedllvm/test/Transforms/PGOProfile/Inputs/misexpect-switch-correct.proftext
The file was modifiedllvm/lib/Transforms/Instrumentation/PGOInstrumentation.cpp
The file was modifiedllvm/test/Transforms/PGOProfile/Inputs/fix_entry_count.proftext
The file was modifiedclang/test/CodeGen/Inputs/thinlto_expect1.proftext
The file was modifiedllvm/test/Transforms/PGOProfile/Inputs/criticaledge.proftext
The file was modifiedllvm/test/Transforms/PGOProfile/Inputs/landingpad_entry.proftext
The file was modifiedllvm/test/Transforms/PGOProfile/Inputs/switch.proftext
The file was modifiedllvm/test/Transforms/PGOProfile/Inputs/suppl-profile.proftext
The file was modifiedllvm/test/Transforms/PGOProfile/Inputs/irreducible.proftext
The file was modifiedllvm/test/Transforms/PGOProfile/Inputs/misexpect-switch-correct_entry.proftext
The file was modifiedclang/test/CodeGen/Inputs/thinlto_expect2.proftext
The file was modifiedllvm/test/Transforms/PGOProfile/Inputs/misexpect-switch.proftext
The file was modifiedllvm/test/Transforms/PGOProfile/Inputs/remap.proftext
The file was modifiedllvm/test/Transforms/PGOProfile/Inputs/branch2_entry.proftext
The file was modifiedllvm/test/Transforms/PGOProfile/Inputs/func_entry.proftext
The file was modifiedcompiler-rt/test/profile/Linux/instrprof-value-merge.c
The file was modifiedllvm/test/Transforms/PGOProfile/Inputs/criticaledge_entry.proftext
The file was modifiedllvm/test/Transforms/PGOProfile/Inputs/indirect_call.proftext
The file was modifiedllvm/test/Transforms/PGOProfile/Inputs/multiple_hash_profile.proftext
The file was modifiedclang/test/Profile/Inputs/gcc-flag-compatibility_IR_entry.proftext
The file was modifiedllvm/test/Transforms/PGOProfile/Inputs/misexpect-switch_entry.proftext
The file was modifiedllvm/test/Transforms/PGOProfile/Inputs/thinlto_cs.proftext
The file was modifiedllvm/test/Transforms/PGOProfile/Inputs/misexpect-branch_entry.proftext
The file was modifiedllvm/test/Transforms/PGOProfile/Inputs/branch1.proftext
The file was modifiedllvm/test/Transforms/PGOProfile/Inputs/branch2.proftext
The file was modifiedllvm/test/Transforms/PGOProfile/Inputs/switch_entry.proftext
The file was modifiedllvm/test/Transforms/PGOProfile/Inputs/landingpad.proftext
The file was modifiedllvm/test/Transforms/PGOProfile/Inputs/select2.proftext
The file was modifiedllvm/test/Transforms/PGOProfile/Inputs/select1.proftext
The file was modifiedllvm/test/Transforms/PGOProfile/Inputs/large_count_remarks.proftext
The file was modifiedllvm/test/Transforms/PGOProfile/Inputs/loop1_entry.proftext
The file was modifiedllvm/test/Transforms/PGOProfile/Inputs/misexpect-branch.proftext
The file was modifiedllvm/test/Transforms/PGOProfile/Inputs/cspgo.proftext
The file was modifiedllvm/test/Transforms/PGOProfile/Inputs/loop2.proftext
The file was modifiedllvm/test/Transforms/PGOProfile/Inputs/loop1.proftext
The file was modifiedllvm/test/Transforms/PGOProfile/Inputs/memop_size_annotation.proftext
Commit 1e8a9c3e026f4523eb9745d3a3f4c13f934dcbec by Kuba Mracek
[tsan] Fixup for 1260a155: Move variadic-open.cpp test into Darwin/ directory
The file was addedcompiler-rt/test/tsan/Darwin/variadic-open.cpp
The file was removedcompiler-rt/test/tsan/variadic-open.cpp
Commit e263dcc3efeae419b691730da5e37977e1a681f6 by gyurgyikcp
[libc] Implements isdigit and isalnum. Adds a utility header to inline
functions to avoid overhead of function calls.

Reviewed By: sivachandra

Differential Revision: https://reviews.llvm.org/D84893
The file was modifiedlibc/src/ctype/isalpha.cpp
The file was addedlibc/src/ctype/isalnum.h
The file was modifiedlibc/config/linux/x86_64/entrypoints.txt
The file was addedlibc/src/ctype/isdigit.cpp
The file was addedlibc/src/ctype/isdigit.h
The file was addedlibc/test/src/ctype/isdigit_test.cpp
The file was modifiedlibc/config/linux/aarch64/entrypoints.txt
The file was addedlibc/src/ctype/isalnum.cpp
The file was modifiedlibc/spec/stdc.td
The file was modifiedlibc/config/linux/api.td
The file was addedlibc/src/ctype/ctype_utils.h
The file was modifiedlibc/test/src/ctype/CMakeLists.txt
The file was addedlibc/test/src/ctype/isalnum_test.cpp
The file was modifiedlibc/src/ctype/CMakeLists.txt
Commit 09cb6f233d3d18cb17ba00188cbc32a414ec0c82 by rupprecht
[lldb][NFC][test] Fix comment referring to FileCheck instead of yaml2obj
The file was modifiedlldb/packages/Python/lldbsuite/test/lldbtest.py
Commit 4d83aa4771d84940626d86c883193af390812281 by johannes
[MLIR][OpenMP] Fix OpenMPIRBuilder usage after D82470
The file was modifiedmlir/lib/Target/LLVMIR/ModuleTranslation.cpp
Commit 3632f765dc6a95a903864585056d1caa9185bd00 by craig.topper
[WebAssembly] Fix GCC 5 build.

Hans' speculative fix in b7292f2db02d37c9291afc0613a3fbce0a4ad4e8
didn't work for me. This seems to.
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblySortRegion.cpp
Commit 555cf42f380d86f35e761c3a2179c761356ab152 by Yuanfang Chen
[NewPM][PassInstrument] Add PrintPass callback to StandardInstrumentations

Problem:
Right now, our "Running pass" is not accurate when passes are wrapped in adaptor because adaptor is never skipped and a pass could be skipped. The other problem is that "Running pass" for a adaptor is before any "Running pass" of passes/analyses it depends on. (for example, FunctionToLoopPassAdaptor). So the order of printing is not the actual order.

Solution:
Doing things like PassManager::Debuglogging is very intrusive because we need to specify Debuglogging whenever adaptor is created. (Actually, right now we're not specifying Debuglogging for some sub-PassManagers. Check PassBuilder)

This patch move debug logging for pass as a PassInstrument callback. We could be sure that all running passes are logged and in the correct order.

This could also be used to implement hierarchy pass logging in legacy PM. We could also move logging of pass manager to this if we want.

The test fixes looks messy. It includes changes:
- Remove PassInstrumentationAnalysis
- Remove PassAdaptor
- If a PassAdaptor is for a real pass, the pass is added
- Pass reorder (to the correct order), related to PassAdaptor
- Add missing passes (due to Debuglogging not passed down)

Reviewed By: asbirlea, aeubanks

Differential Revision: https://reviews.llvm.org/D84774
The file was modifiedllvm/test/Other/loop-pm-invalidation.ll
The file was modifiedllvm/test/Other/new-pm-pgo.ll
The file was modifiedllvm/test/Transforms/LoopRotate/pr35210.ll
The file was modifiedllvm/test/Transforms/LoopUnroll/unroll-loop-invalidation.ll
The file was modifiedllvm/test/Other/new-pm-thinlto-prelink-pgo-defaults.ll
The file was modifiedclang/test/CodeGen/thinlto-distributed-newpm.ll
The file was modifiedllvm/lib/Passes/StandardInstrumentations.cpp
The file was modifiedllvm/include/llvm/IR/PassInstrumentation.h
The file was modifiedllvm/test/Other/new-pm-thinlto-defaults.ll
The file was modifiedllvm/test/Other/pass-pipeline-parsing.ll
The file was modifiedllvm/test/Other/new-pm-thinlto-postlink-pgo-defaults.ll
The file was modifiedllvm/lib/Analysis/CGSCCPassManager.cpp
The file was modifiedllvm/test/Other/new-pm-defaults.ll
The file was modifiedllvm/test/Other/new-pass-manager.ll
The file was modifiedllvm/lib/IR/PassTimingInfo.cpp
The file was modifiedllvm/include/llvm/IR/PassManager.h
The file was modifiedllvm/test/Transforms/SCCP/ipsccp-preserve-analysis.ll
The file was modifiedllvm/test/Other/new-pm-lto-defaults.ll
The file was modifiedllvm/lib/IR/PassInstrumentation.cpp
The file was modifiedllvm/lib/Transforms/Scalar/LoopPassManager.cpp
The file was modifiedllvm/test/Other/new-pm-thinlto-prelink-samplepgo-defaults.ll
The file was modifiedllvm/test/Transforms/LoopUnroll/revisit.ll
The file was modifiedllvm/include/llvm/IR/PassManagerImpl.h
The file was modifiedllvm/include/llvm/Passes/StandardInstrumentations.h
The file was modifiedllvm/test/Other/new-pm-thinlto-postlink-samplepgo-defaults.ll
Commit 4a161bd8b3c2c31da788072b9641e1dcde62ce08 by llvm-dev
LoopUnroll.cpp - pass std::vector by const reference to needToInsertPhisForLCSSA helper. NFCI.

Avoid an unnecessary pass by value.
The file was modifiedllvm/lib/Transforms/Utils/LoopUnroll.cpp
Commit be198e03ebba264baadfd2ed383b1725633c43ea by rupprecht
[lldb][test] Move registers-target-xml-reading target to the correct test location.

This test was added in D74217 (and the `.categories` file later added in ccf1c30cde6e1e763e7c9cdd48a609a805166699) around the same time I moved the test tree from `lldb/packages/Python/lldbsuite/test` to `lldb/test/API` (D71151). Since this got lost in the move, it isn't running. (I introduced an intentional syntax error, and `ninja check-lldb` passes).

I moved it to the correct location, and now it runs and passes -- locally, at least -- as `ninja check-lldb-api-tools-lldb-server-registers-target-xml-reading`.
The file was addedlldb/test/API/tools/lldb-server/registers-target-xml-reading/TestGdbRemoteTargetXmlPacket.py
The file was removedlldb/packages/Python/lldbsuite/test/tools/lldb-server/.categories
The file was addedlldb/test/API/tools/lldb-server/.categories
The file was addedlldb/test/API/tools/lldb-server/registers-target-xml-reading/Makefile
The file was removedlldb/packages/Python/lldbsuite/test/tools/lldb-server/registers-target-xml-reading/Makefile
The file was removedlldb/packages/Python/lldbsuite/test/tools/lldb-server/registers-target-xml-reading/main.cpp
The file was removedlldb/packages/Python/lldbsuite/test/tools/lldb-server/registers-target-xml-reading/TestGdbRemoteTargetXmlPacket.py
The file was addedlldb/test/API/tools/lldb-server/registers-target-xml-reading/main.cpp
Commit 41909e96824b73162431e84cbba071b1ff4f6341 by Jonas Devlieghere
[lldb] Add copy ctor/assignment operator to SBCommandInterpreterRunOptions
The file was modifiedlldb/include/lldb/API/SBCommandInterpreterRunOptions.h
The file was modifiedlldb/source/API/SBCommandInterpreterRunOptions.cpp
Commit 5b32518f96ca79d3b3c1d60940c3a6764e500c1e by Stanislav.Mekhanoshin
[AMDGPU] Do not use undef on indirect source

We are using undef on the indirect move source subreg and then
using implicit super-reg. This creates a problem in RA when
Greedy decides to split the register. It reassigns the implicit
super-reg but does not bother to change undef source because
it is really does not matter. The fix is to stop lying to RA and
drop undef flag.

This has also hit a problem in SIFoldOperands as it can fold
immediate into an indirect move since there is no undef flag
anymore. That results in multiple test failures, so added the
check for this case.

Differential Revision: https://reviews.llvm.org/D84899
The file was modifiedllvm/lib/Target/AMDGPU/SIISelLowering.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
The file was modifiedllvm/lib/Target/AMDGPU/SIFoldOperands.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-extract-vector-elt.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/indirect-addressing-term.ll
Commit ce1eb7af9dc1fb1c4167fa21824bda7dcf92bbce by aardappel
[WebAssembly] Fixed 64-bit indices in br_table

LLVM selection dag assumes "switch" indices are pointer sized, which causes problems for our 32-bit br_table. The new function ensures 32-bit operands don't get unnecessarily extended, and 64-bit operands get truncated.

Note that the changes to the existing test test exactly that: the addition of -NEXT in 2 places ensures no extension is inserted (which the test previously ignored) and that the wrap is present (previously omitted in wasm64 mode).

Differential Revision: https://reviews.llvm.org/D84705
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyFixBrTableDefaults.cpp
The file was modifiedllvm/test/CodeGen/WebAssembly/switch.ll
Commit 36a4f1037628683f2a10c0f3a84904f0463432ff by etiotto
Fix computeHostNumPhysicalCores() for Linux on POWER and Linux on Z

ThinLTO is run using a single thread on Linux on Power. The
compute_thread_count() routine calls getHostNumPhysicalCores which
returns -1 by default, and so `MaxThreadCount is set to 1.

unsigned llvm::ThreadPoolStrategy::compute_thread_count() const {
    int MaxThreadCount = UseHyperThreads
          ? computeHostNumHardwareThreads()
          : sys::getHostNumPhysicalCores();
     if (MaxThreadCount <= 0)
        MaxThreadCount = 1;
   …
}
Fix: provide custom implementation of getHostNumPhysicalCores for
Linux on Power and Linux on Z.

Reviewed By: Kai, uweigand

Differential Revision: https://reviews.llvm.org/D84764
The file was modifiedllvm/unittests/Support/Host.cpp
The file was modifiedllvm/lib/Support/Host.cpp
Commit 7551fd5ef8fdc450483b987d6cd44b76b0671ad9 by spatel
[InstCombine] update test checks; NFC
The file was modifiedllvm/test/Transforms/InstCombine/distribute.ll
Commit 6b8c641d8ea2b1a0294f556450941199e06e65a5 by pifon
[mlir] NFC: Expose `getElementPtrType` and `getSizes` methods of AllocOpLowering.

Differential Revision: https://reviews.llvm.org/D84917
The file was modifiedmlir/include/mlir/Conversion/StandardToLLVM/ConvertStandardToLLVM.h
The file was modifiedmlir/lib/Conversion/StandardToLLVM/StandardToLLVM.cpp
The file was modifiedmlir/test/Conversion/StandardToLLVM/convert-static-memref-ops.mlir
The file was modifiedmlir/test/Conversion/StandardToLLVM/convert-dynamic-memref-ops.mlir
Commit 2062b3707c1ef698deaa9abc571b937fdd077168 by flo
[LAA] Avoid adding pointers to the checks if they are not needed.

Currently we skip alias sets with only reads or a single write and no
reads, but still add the pointers to the list of pointers in RtCheck.

This can lead to cases where we try to access a pointer that does not
exist when grouping checks.  In most cases, the way we access
PositionMap masked that, as the value would default to index 0.

But in the example in PR46854 it causes a crash.

This patch updates the logic to avoid adding pointers for alias sets
that do not need any checks. It makes things slightly more verbose, by
first checking the numbers of reads/writes and bailing out early if we don't
need checks for the alias set.

I think this makes the logic a bit simpler to follow.

Reviewed By: anemet

Differential Revision: https://reviews.llvm.org/D84608
The file was modifiedllvm/lib/Analysis/LoopAccessAnalysis.cpp
The file was addedllvm/test/Transforms/LoopLoadElim/pr46854-adress-spaces.ll
Commit 3bb48898bc8af58884d4aa6279d4281938c07e76 by Jonas Devlieghere
[lldb/Test] Use self.assertIn in TestGdbRemoteTargetXmlPacket

On the ARM buildbot the returned architecture is `armv8l` while
getArchitecture() just returns `arm`.
The file was modifiedlldb/test/API/tools/lldb-server/registers-target-xml-reading/TestGdbRemoteTargetXmlPacket.py
Commit 4c16eafe12a5f0c82303511d9d3d7acb5ffe84e4 by nikita.ppv
[SCCP] Remove dead switch cases based on range information

Determine whether switch edges are feasible based on range information,
and remove non-feasible edges lateron.

This does not try to determine whether the default edge is dead,
as we'd have to determine that the range is fully covered by the
cases for that.

Another limitation here is that we don't remove dead cases that
have the same successor as a live case. I'm not handling this
because I wanted to keep the edge removal based on feasible edges
only, rather than inspecting ranges again there -- this does not
seem like a particularly useful case to handle.

Differential Revision: https://reviews.llvm.org/D84270
The file was modifiedllvm/lib/Transforms/Scalar/SCCP.cpp
The file was modifiedllvm/test/Transforms/SCCP/switch.ll
Commit b4c7657ba602acde1c2ea5391c973949b9c3ce09 by phosek
[ELF] Add --dependency-file option

Clang and GCC have a feature (-MD flag) to create a dependency file
in a format that build systems such as Make or Ninja can read, which
specifies all the additional inputs such .h files.

This change introduces the same functionality to lld bringing it to
feature parity with ld and gold which gained this feature recently.
See https://sourceware.org/bugzilla/show_bug.cgi?id=22843 for more
details and discussion.

The implementation corresponds to -MD -MP compiler flag where the
generated dependency file also includes phony targets which works
around the errors where the dependency is removed. This matches the
format used by ld and gold.

Fixes PR42806

Differential Revision: https://reviews.llvm.org/D82437
The file was modifiedlld/ELF/Options.td
The file was modifiedlld/ELF/Config.h
The file was modifiedlld/ELF/Driver.cpp
The file was addedlld/test/ELF/dependency-file.s
The file was modifiedlld/ELF/InputFiles.cpp
Commit fac84536bcb9fbca2b3517ca83d382329d0e6c55 by psteinfeld
[flang] Fix an assert on duplicate initializations

When declaring the same variable twice with an initialization, we were failing
an internal check.  I fixed this by checking to see if the associated symbol
already had an error.

I added tests for pointer and non-pointer initialization of duplicate names.

Differential Revision: https://reviews.llvm.org/D84969
The file was modifiedflang/test/Semantics/resolve91.f90
The file was modifiedflang/lib/Semantics/resolve-names.cpp
Commit 3ff7dcded213844bcb0c1d55a1a66ad8fd9b483b by phosek
[CMake][Fuchsia] Include additional tools in the toolchain

These are needed on Windows.

Differential Revision: https://reviews.llvm.org/D83999
The file was modifiedclang/cmake/caches/Fuchsia-stage2.cmake
Commit 95d1e668ed502af481edabb64d3a2093a57329ad by nikita.ppv
[CVP] Add tests for min/max/abs intrinsic comparisons (NFC)
The file was addedllvm/test/Transforms/CorrelatedValuePropagation/minmaxabs.ll
Commit d8a98a9c351be0a535ce5c3b9b200a76e9b16d3a by nikita.ppv
[ConstantRange][CVP] Compute min/max/abs intrinsic ranges

Wire up ConstantRange::intrinsic() to the existing primitives for
min, max and abs.

The poison flag on abs is not yet taken into account.
The file was modifiedllvm/lib/IR/ConstantRange.cpp
The file was modifiedllvm/test/Transforms/CorrelatedValuePropagation/minmaxabs.ll
Commit da324f9904634855a0a3549284758cb079723cdf by martin
[LLD] [Mingw] Don't export symbols from profile generate

Differential Revision: https://reviews.llvm.org/D84756
The file was modifiedlld/COFF/MinGW.cpp
Commit 14c1b4017422cbf374086ea4c4fa74e16fb56779 by martin
[compiler-rt] [profile] fix profile generate for mingw x86_64

Differential Revision: https://reviews.llvm.org/D84757
The file was modifiedcompiler-rt/lib/profile/CMakeLists.txt
The file was modifiedcompiler-rt/lib/profile/InstrProfilingPort.h
Commit 8c1a31d83313e4d43509177193f1de14cf897c05 by Jonas Devlieghere
[lldb/Docs] Add lldb-arm-ubuntu to the list of bots
The file was modifiedlldb/docs/resources/bots.rst
Commit 94f8120cb9d368602df5aefa32211e001338e296 by nikita.ppv
[ConstantRange] Support abs with poison flag

This just adds the ConstantRange support, including exhaustive
testing. It's not wired up to the IR intrinsic flag yet.
The file was modifiedllvm/include/llvm/IR/ConstantRange.h
The file was modifiedllvm/unittests/IR/ConstantRangeTest.cpp
The file was modifiedllvm/lib/IR/ConstantRange.cpp
Commit 02c1bba67009041a999220f370e81376883d7a65 by Jonas Devlieghere
[lldb/Docs] Remove stale bot on GreenDragon and add reproducer one

- Remove the link to the Python 3 job which no longer exists.
- Add a link to the reproducer job.
The file was modifiedlldb/docs/resources/bots.rst
Commit afae6d97fa55984003321245ec6ceb5af9cc5856 by jonathan_roelofs
[SelectionDAG] Fix lowering of vector geps

This fixes an assertion failure that was being triggered in
SelectionDAG::getZeroExtendInReg(), where it was trying to extend the <2xi32>
to i64 (which should have been <2xi64>).

Fixes: rdar://66016901

Differential Revision: https://reviews.llvm.org/D84884
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
The file was addedllvm/test/CodeGen/AArch64/vector-gep.ll
Commit 9ebeac678855a1bc2492a9630f0300518e2755dc by nikita.ppv
[ConstantRange][CVP] Make use of abs poison flag

Pass the abs poison flag to the underlying ConstantRange
implementation, allowing CVP to simplify based on it.

Importantly, this recognizes that abs with poison flag is actually
non-negative...
The file was modifiedllvm/lib/IR/ConstantRange.cpp
The file was modifiedllvm/test/Transforms/CorrelatedValuePropagation/minmaxabs.ll
Commit 3587de22819869a2925994d8bd75fa1386464660 by jezng
[lld-macho] Support __dso_handle for C++

The C++ ABI requires dylibs to pass a pointer to __cxa_atexit which does
e.g. cleanup of static global variables. The C++ spec says that the pointer
can point to any address in one of the dylib's segments, but in practice
ld64 seems to set it to point to the header, so that's what's implemented
here.

Reviewed By: #lld-macho, smeenai

Differential Revision: https://reviews.llvm.org/D83603
The file was modifiedlld/MachO/SyntheticSections.h
The file was modifiedlld/MachO/SymbolTable.cpp
The file was addedlld/test/MachO/dso-handle.s
The file was addedlld/test/MachO/invalid/dso-handle-duplicate.s
The file was modifiedlld/MachO/Symbols.h
The file was modifiedlld/MachO/Symbols.cpp
The file was modifiedlld/MachO/Driver.cpp
The file was modifiedlld/MachO/SymbolTable.h
The file was modifiedlld/MachO/Writer.cpp
Commit 22e6648a1834aa6680064eaf83e1e051a7248e17 by jezng
[lld-macho] Implement -headerpad

Tools like `install_name_tool` and `codesign` may modify the Mach-O
header and increase its size. The linker has to provide padding to make this
possible. This diff does that, plus sets its default value to 32 bytes (which
is what ld64 does).

Unlike ld64, however, we lay out our sections *exactly* `-headerpad` bytes from
the header, whereas ld64 just treats the padding requirement as a lower bound.
ld64 actually starts laying out the non-header sections in the __TEXT segment
from the end of the (page-aligned) segment rather than the front, so its
binaries typically have more than `-headerpad` bytes of actual padding.
We should consider implementing the same alignment behavior.

Reviewed By: #lld-macho, compnerd

Differential Revision: https://reviews.llvm.org/D84714
The file was modifiedlld/include/lld/Common/Args.h
The file was modifiedlld/Common/Args.cpp
The file was modifiedlld/MachO/Config.h
The file was modifiedlld/MachO/SyntheticSections.cpp
The file was addedlld/test/MachO/headerpad.s
The file was modifiedlld/test/MachO/local-got.s
The file was modifiedlld/MachO/Driver.cpp
The file was modifiedlld/test/MachO/relocations.s
The file was modifiedlld/MachO/Options.td
Commit 98210796e108b59bad56fed9df98e920359afc6b by jezng
[lld-macho] Make __LINKEDIT sections contiguous

codesign (or more specifically libstuff) checks that each section in
__LINKEDIT ends where the next one starts -- no gaps are permitted. This
diff achieves it by aligning every section's start and end points to
WordSize.

Remarks: ld64 appears to satisfy the constraint by adding padding bytes
when generating the __LINKEDIT data, e.g. by emitting BIND_OPCODE_DONE
(which is a 0x0 byte) repeatedly. I think the approach this diff takes
is a bit more elegant, but I'm not sure if it's too restrictive. In
particular, it assumes padding always uses the zero byte. But we can
revisit this later.

Reviewed By: #lld-macho, compnerd

Differential Revision: https://reviews.llvm.org/D84718
The file was modifiedlld/MachO/SyntheticSections.cpp
The file was modifiedlld/MachO/Writer.cpp
The file was modifiedlld/MachO/SyntheticSections.h
The file was addedlld/test/MachO/linkedit-contiguity.s
Commit 243376cdc7b719d443f42c8c4667e5d96af53dcc by changpeng.fang
AMDGPU: Put inexpensive ops first in AMDGPUAnnotateUniformValues::visitLoadInst

Summary:
  This is in response to the review of https://reviews.llvm.org/D84873:
The expensive check should be reordered last

Reviewers:
  arsenm

Differential Revision:
  https://reviews.llvm.org/D84890
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUAnnotateUniformValues.cpp
Commit c89e46e767e25c426628f6365c577a3248634f1f by jezng
[lld-macho] Add comment for literal argument
The file was modifiedlld/MachO/Driver.cpp
Commit 1e7f026c3b59bea22491819f86d8388d0c3e0c07 by richard
PR46908: Emit undef destroying_delete_t as an aggregate RValue.

We previously used a non-aggregate RValue to represent the passed value,
which violated the assumptions of call arg lowering in some cases, in
particular on 32-bit Windows, where we'd end up producing an FCA store
with TBAA metadata, that the IR verifier would reject.
The file was modifiedclang/test/CodeGenCXX/cxx2a-destroying-delete.cpp
The file was modifiedclang/lib/CodeGen/CGExprCXX.cpp
Commit c23ae3f18ee3ff11671f4c62ffc66d150b1bcdc2 by n.james93
[clang-tidy][NFC] Use StringMap for ClangTidyCheckFactories::FacoryMap

Reviewed By: gribozavr2

Differential Revision: https://reviews.llvm.org/D84926
The file was modifiedclang-tools-extra/clang-tidy/ClangTidyModule.cpp
The file was modifiedclang-tools-extra/clang-tidy/ClangTidyModule.h
The file was modifiedclang-tools-extra/clang-tidy/ClangTidy.cpp
Commit 59156bad03ffe37558b95fca62b5df4394de280c by thomasraoux
[mlir][spirv] Add support for converting memref of vector to SPIR-V

This allow declaring buffers and alloc of vectors so that we can support vector
load/store.

Differential Revision: https://reviews.llvm.org/D84982
The file was modifiedmlir/lib/Conversion/StandardToSPIRV/ConvertStandardToSPIRV.cpp
The file was modifiedmlir/test/Conversion/StandardToSPIRV/std-types-to-spirv.mlir
The file was modifiedmlir/lib/Dialect/SPIRV/SPIRVLowering.cpp
The file was modifiedmlir/test/Conversion/StandardToSPIRV/alloc.mlir
Commit e56e9022bc54c575ad8ecc3934e9cf84b8542e62 by Matthew.Arsenault
AMDGPU: Fix liveness errors when copying AGPR tuples

Avoid recursively calling copyPhysReg for AGPR handling. This was
dropping the necessary super register implicit defs to avoid liveness
verifier errors.
The file was modifiedllvm/test/CodeGen/AMDGPU/accvgpr-copy.mir
The file was modifiedllvm/lib/Target/AMDGPU/SIInstrInfo.cpp
Commit a34a8d52605a203cfde7d9a8600e1e3e0ee63df7 by jurahul
[MLIR][NFC] Add SymbolUse::UseRange::empty()

Differential Revision: https://reviews.llvm.org/D84984
The file was modifiedmlir/include/mlir/IR/SymbolTable.h
Commit 763671f387fdd00329c5b715d3ec6c62680f3f8e by zequanwu
[COFF] Port CallGraphSort to COFF from ELF
The file was addedlld/test/COFF/cgprofile-txt.s
The file was modifiedlld/COFF/Writer.cpp
The file was addedlld/COFF/CallGraphSort.h
The file was addedlld/test/COFF/cgprofile-print.s
The file was modifiedlld/COFF/Config.h
The file was modifiedlld/COFF/Options.td
The file was addedlld/test/COFF/cgprofile-err.s
The file was modifiedlld/COFF/Driver.cpp
The file was modifiedlld/COFF/InputFiles.cpp
The file was addedlld/test/COFF/cgprofile-bad-clusters.s
The file was addedlld/test/COFF/cgprofile-icf.s
The file was modifiedlld/COFF/InputFiles.h
The file was addedlld/test/COFF/cgprofile-obj.s
The file was modifiedlld/COFF/CMakeLists.txt
The file was addedlld/COFF/CallGraphSort.cpp
The file was modifiedlld/ELF/CallGraphSort.cpp
Commit 9f1dcdca71c4109354ec916ad27c24caf269c705 by Lang Hames
[JITLink] Allow JITLinkContext::notifyResolved to return an Error.

This allows clients to detect invalid transformations applied by JITLink passes
(e.g. inserting or removing symbols in unexpected ways) and terminate linking
with an error.

This change is used to simplify the error propagation logic in
ObjectLinkingLayer.
The file was modifiedllvm/lib/ExecutionEngine/JITLink/JITLinkGeneric.cpp
The file was modifiedllvm/lib/ExecutionEngine/Orc/ObjectLinkingLayer.cpp
The file was modifiedllvm/include/llvm/ExecutionEngine/JITLink/JITLink.h
Commit 8ce8cee1e1d44d480ea87f1ac47eddcf07c433d1 by Lang Hames
[llvm-jitlink] Add -harness option to llvm-jitlink.

The -harness option enables new testing use-cases for llvm-jitlink. It takes a
list of objects to treat as a test harness for any regular objects passed to
llvm-jitlink.

If any files are passed using the -harness option then the following
transformations are applied to all other files:

  (1) Symbols definitions that are referenced by the harness files are promoted
      to default scope. (This enables access to statics from test harness).

  (2) Symbols definitions that clash with definitions in the harness files are
      deleted. (This enables interposition by test harness).

  (3) All other definitions in regular files are demoted to local scope.
      (This causes untested code to be dead stripped, reducing memory cost and
      eliminating spurious unresolved symbol errors from untested code).

These transformations allow the harness files to reference and interpose
symbols in the regular object files, which can be used to support execution
tests (including fuzz tests) of functions in relocatable objects produced by a
build.
The file was modifiedllvm/lib/ExecutionEngine/JITLink/JITLinkGeneric.cpp
The file was modifiedllvm/tools/llvm-jitlink/llvm-jitlink.h
The file was modifiedllvm/tools/llvm-jitlink/llvm-jitlink.cpp
The file was addedllvm/test/ExecutionEngine/JITLink/X86/MachO_test_harness_harness.s
The file was addedllvm/test/ExecutionEngine/JITLink/X86/Inputs/MachO_test_harness_test.s
The file was modifiedllvm/include/llvm/ExecutionEngine/JITLink/JITLink.h
Commit b811736f8bbf6ec9596c191a6e9406f9df9523ae by llvmgnsyncbot
[gn build] Port 763671f387f
The file was modifiedllvm/utils/gn/secondary/lld/COFF/BUILD.gn
Commit 8dfb5d767e70dd862096c8872fd3e3bead99741d by efriedma
[clang codegen][AArch64] Use llvm.aarch64.neon.fcvtzs/u where it's necessary

fptosi/fptoui have similar, but not identical, semantics.  In
particular, the behavior on overflow is different.

Fixes https://bugs.llvm.org/show_bug.cgi?id=46844 for 64-bit.  (The
corresponding patch for 32-bit is more involved because the equivalent
intrinsics don't exist, as far as I can tell.)

Differential Revision: https://reviews.llvm.org/D84703
The file was modifiedclang/test/CodeGen/aarch64-neon-intrinsics.c
The file was modifiedclang/lib/CodeGen/CGBuiltin.cpp
The file was modifiedclang/test/CodeGen/aarch64-v8.2a-neon-intrinsics.c
The file was modifiedclang/test/CodeGen/aarch64-neon-fcvt-intrinsics.c
The file was modifiedclang/test/CodeGen/aarch64-neon-misc.c
The file was modifiedclang/test/CodeGen/aarch64-v8.2a-fp16-intrinsics.c
Commit a32af8252fde237a3936c4f2f5bee1dfb0cf5ea8 by sivachandra
[libc] Add a tool called WrapperGen.

This tool will be used to generate C wrappers for the C++ LLVM libc
implementations. This change does not hook this tool up to anything yet.
However, it can be useful for cases where one does not want to run the
objcopy step (to insert the C symbol in the object file) but can make use
of LTO to eliminate the cost of the additional wrapper call. This can be
relevant for certain downstream platforms. If this tool can benefit other
libc platforms in general, then it can be integrated into the build system
with options to use or not use the wrappers. An example of such a
platform is CUDA.

Reviewed By: abrachet

Differential Revision: https://reviews.llvm.org/D84848
The file was addedlibc/utils/tools/CMakeLists.txt
The file was modifiedlibc/utils/CMakeLists.txt
The file was modifiedlibc/utils/LibcTableGenUtil/APIIndexer.cpp
The file was addedlibc/utils/tools/WrapperGen/CMakeLists.txt
The file was modifiedlibc/utils/LibcTableGenUtil/APIIndexer.h
The file was addedlibc/utils/tools/WrapperGen/Main.cpp
Commit abb812823701cbbb615fea0d6fe731725eb4162f by mtrofin
[doc] Describe the header guard style

clang-tidy's llvm-header-guard rule references the LLVM style - where it's
missing.

Differential Revision: https://reviews.llvm.org/D84989
The file was modifiedllvm/docs/CodingStandards.rst
Commit 09f9f7dd1bfe3ec2625fec4de36f4d9c63593bf7 by Amara Emerson
[AArch64][GlobalISel] Add legalization & selection support for G_INTRINSIC_LRINT.

Differential Revision: https://reviews.llvm.org/D84552
The file was modifiedllvm/test/CodeGen/AArch64/lrint-conv.ll
The file was addedllvm/test/CodeGen/AArch64/GlobalISel/legalize-lrint.mir
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/legalizer-info-validation.mir
The file was modifiedllvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
The file was modifiedllvm/include/llvm/Target/GlobalISel/SelectionDAGCompat.td
Commit 7e88efa7c5313aab5d840021085f3924d00609bf by efriedma
[LegalizeTypes][SVE] Support widen/split legalization for SPLAT_VECTOR

Just the obvious implementation that rewrites the result type. Also fix
warning from EXTRACT_SUBVECTOR legalization that triggers on the test.

Differential Revision: https://reviews.llvm.org/D84706
The file was modifiedllvm/test/CodeGen/AArch64/sve-vector-splat.ll
The file was modifiedllvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
The file was modifiedllvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
Commit 57605758b5de3726eec1d6e587de1003af1ab5b7 by dccitaliano
[debugserver/Apple Silicon] Handoff connections when attaching to translated processes

When we detect a process that the native debugserver cannot handle,
handoff the connection fd to the translated debugserver.
The file was modifiedlldb/tools/debugserver/source/DNB.cpp
The file was modifiedlldb/tools/debugserver/source/debugserver.cpp
Commit 896f797b8bb7683f7e52c6dc94979f3c449bc37d by Vedant Kumar
[profile] Remove dependence on getpagesize from InstrProfilingBuffer.c.o

InstrProfilingBuffer.c.o is generic code that must support compilation
into freestanding projects. This gets rid of its dependence on the
_getpagesize symbol from libc, shifting it to InstrProfilingFile.c.o.

This fixes a build failure seen in a firmware project.

rdar://66249701
The file was modifiedcompiler-rt/test/profile/instrprof-without-libc.c
The file was modifiedcompiler-rt/lib/profile/InstrProfilingFile.c
The file was modifiedcompiler-rt/lib/profile/InstrProfiling.h
The file was modifiedcompiler-rt/lib/profile/InstrProfilingBuffer.c
Commit 24f5235d936537148fbfea0a6583ad7f2f775402 by craig.topper
[ValueTracking] Add basic computeKnownBits support for llvm.abs intrinsic

This includes basic support for computeKnownBits on abs. I've left FIXMEs for more complicated things we could do.

Differential Revision: https://reviews.llvm.org/D84963
The file was modifiedllvm/lib/Analysis/ValueTracking.cpp
The file was addedllvm/test/Transforms/InstCombine/abs-intrinsic.ll
Commit 49def10e02e35e56d1249405a650b161245f87b0 by kuterdinel
[Attributor] Add time trace support.

This patch addes time trace functionality to have a better understanding
of the analysis times.

Reviewed By: jdoerfert

Differential Revision: https://reviews.llvm.org/D84980
The file was modifiedllvm/include/llvm/Transforms/IPO/Attributor.h
The file was modifiedllvm/lib/Transforms/IPO/Attributor.cpp
Commit 3ad09fd03c51823aeb0bcbd7898aada33e9228d6 by craig.topper
[X86] Separate CPU Feature lists in X86.td between architecture features and tuning features

After the recent change to the tuning settings for pentium4 to improve our default 32-bit behavior, I've decided to see about implementing -mtune support. This way we could have a default architecture CPU of "pentium4" or "x86-64" and a default tuning cpu of "generic". And we could change our "pentium4" tuning settings back to what they were before.

As a step to supporting this, this patch separates all of the features lists for the CPUs into 2 lists. I'm using the Proc class and a new ProcModel class to concat the 2 lists before passing to the target independent ProcessorModel. Future work to truly support mtune would change ProcessorModel to take 2 lists separately. I've diffed the X86GenSubtargetInfo.inc file before and after this patch to ensure that the final feature list for the CPUs isn't changed.

Differential Revision: https://reviews.llvm.org/D84879
The file was modifiedllvm/lib/Target/X86/X86.td
Commit ec1445c5afda7f145a414f11c9103c87a4c1823f by craig.topper
[X86] Fix for ballooning compile times due to Load Value Injection (LVI) mitigations

Fix for the issue raised in https://github.com/rust-lang/rust/issues/74632.

The current heuristic for inserting LFENCEs uses a quadratic-time algorithm. This can apparently cause substantial compilation slowdowns for building Rust projects, where functions > 5000 LoC are apparently common.

The updated heuristic in this patch implements a linear-time algorithm. On a set of benchmarks, the slowdown factor for the generated code was comparable (2.55x geo mean for the quadratic-time heuristic, vs. 2.58x for the linear-time heuristic). Both heuristics offer the same security properties, namely, mitigating LVI.

This patch also includes some formatting fixes.

Differential Revision: https://reviews.llvm.org/D84471
The file was modifiedllvm/lib/Target/X86/X86LoadValueInjectionLoadHardening.cpp
Commit aa77232a63e3f7ca2f0077434d46e0f269499eae by dfukalov
[NFC][AMDGPU] Improve fused fmul+fadd tests.

Reviewed By: rampitec

Differential Revision: https://reviews.llvm.org/D84903
The file was modifiedllvm/test/CodeGen/AMDGPU/fmuladd.v2f16.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/fmuladd.f16.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/fmuladd.f64.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/fmuladd.f32.ll
Commit 8218eee269c382472b9809cb3cce7a98eed7a31b by tianshilei1992
[OpenMP] Refactored the function `target`

Refactored the function `target` to make preparation for fixing the
issue of ahead-of-time device memory deallocation.

Reviewed By: ye-luo

Differential Revision: https://reviews.llvm.org/D84816
The file was modifiedopenmp/libomptarget/src/omptarget.cpp
Commit 61cab352e377d5a37d47555bc56e11f052d7eb8b by Vitaly Buka
[NFC] Move findAllocaForValue into ValueTracking.h

Differential Revision: https://reviews.llvm.org/D84616
The file was modifiedllvm/lib/Analysis/ValueTracking.cpp
The file was modifiedllvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
The file was modifiedllvm/include/llvm/Transforms/Utils/Local.h
The file was modifiedllvm/lib/Transforms/Utils/Local.cpp
The file was modifiedllvm/include/llvm/Analysis/ValueTracking.h
Commit 0f1016562648e0c5ab0618823d5d6b7280ca86ba by tianshilei1992
[OpenMP] Refactored the function `targetDataEnd`

Refactored the function `targetDataEnd` to make preparation of fixing
the issue of ahead-of-time target memory deallocation. This patch only
renamed `targetDataEnd` related variables and functions to conform
with LLVM code standard.

Reviewed By: ye-luo

Differential Revision: https://reviews.llvm.org/D84991
The file was modifiedopenmp/libomptarget/src/device.cpp
The file was modifiedopenmp/libomptarget/src/omptarget.cpp
The file was modifiedopenmp/libomptarget/src/device.h
The file was modifiedopenmp/libomptarget/src/private.h
The file was modifiedopenmp/libomptarget/src/api.cpp
Commit b256cb88a716dfd270745af1bb98b49c22521a99 by Vitaly Buka
[ValueTracking] Remove AllocaForValue parameter

findAllocaForValue uses AllocaForValue to cache resolved values.
The function is used only to resolve arguments of lifetime
intrinsic which usually are not fare for allocas. So result reuse
is likely unnoticeable.

In followup patches I'd like to replace the function with
GetUnderlyingObjects.

Depends on D84616.

Differential Revision: https://reviews.llvm.org/D84617
The file was modifiedllvm/include/llvm/Analysis/ValueTracking.h
The file was modifiedllvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
The file was modifiedllvm/lib/Target/AArch64/AArch64StackTagging.cpp
The file was modifiedllvm/lib/Analysis/ValueTracking.cpp
The file was modifiedllvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
Commit 2cf52504bb076d24c23f161e92340828052b69f7 by psteinfeld
[flang] Fixes for RESHAPE()

I fixed an assert caused by passing an empty array as the source= argument to
RESHAPE().  In the process, I noticed that there were no tests for RESHAPE(),
so I wrote a test that covers all the description in 16.9.163.  In the process,
I made the error messages more consistent and descriptive.  I also changed the
test to see if a reference to an intrinsic function was a constant to say that
it is a constant if it's a refererence to an invalid intrinsic.  This avoids
emitting multiple messages for the same erroneous source.

Differential Revision: https://reviews.llvm.org/D84904
The file was modifiedflang/lib/Evaluate/fold-implementation.h
The file was modifiedflang/lib/Evaluate/intrinsics.cpp
The file was modifiedflang/include/flang/Evaluate/constant.h
The file was addedflang/test/Semantics/reshape.f90
The file was modifiedflang/lib/Evaluate/check-expression.cpp
The file was modifiedflang/lib/Evaluate/constant.cpp
The file was modifiedflang/include/flang/Evaluate/intrinsics.h
Commit b36c39260edcded47436f344e48f78cfbedac494 by aeubanks
[NewPM] Don't print 'Invalidating all non-preserved analyses'

If an analysis is actually invalidated, there's already a log statement
for that: 'Invalidating analysis: FooAnalysis'.
Otherwise the statement is not very useful.

Reviewed By: asbirlea, ychen

Differential Revision: https://reviews.llvm.org/D84981
The file was modifiedllvm/test/Transforms/LoopRotate/pr35210.ll
The file was modifiedllvm/test/Transforms/LoopUnroll/unroll-loop-invalidation.ll
The file was modifiedllvm/test/Transforms/Inline/cgscc-incremental-invalidate.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/novect-lcssa-cfg-invalidation.ll
The file was modifiedllvm/test/Other/new-pm-thinlto-prelink-pgo-defaults.ll
The file was modifiedllvm/test/Other/loop-pm-invalidation.ll
The file was modifiedllvm/test/Other/new-pass-manager.ll
The file was modifiedllvm/test/Transforms/SCCP/ipsccp-preserve-analysis.ll
The file was modifiedllvm/test/Transforms/SROA/dead-inst.ll
The file was modifiedllvm/include/llvm/IR/PassManagerImpl.h
Commit 47acbcf09aa60ff13845740b1c02c7ca017e46d0 by aeubanks
[tbaa] Rename type-based-aa -> tbaa

For consistency with legacy pass name.
Helps with 37 instances of "unknown pass name 'tbaa'" in check-llvm under NPM.

Reviewed By: ychen

Differential Revision: https://reviews.llvm.org/D84967
The file was modifiedllvm/test/Transforms/LICM/promote-tls.ll
The file was modifiedllvm/lib/Passes/PassRegistry.def
The file was modifiedllvm/test/Analysis/DependenceAnalysis/AA.ll
The file was modifiedllvm/test/Transforms/LICM/scalar-promote.ll
The file was modifiedllvm/test/Analysis/TypeBasedAliasAnalysis/placement-tbaa.ll
The file was modifiedllvm/test/Transforms/LoopUnrollAndJam/pragma-explicit.ll
The file was modifiedllvm/test/Transforms/LoopUnrollAndJam/unroll-and-jam.ll
The file was modifiedllvm/test/Transforms/LICM/promote-order.ll
The file was modifiedllvm/test/Transforms/LICM/scalar-promote-memmodel.ll
Commit 916d9e18774a10c837e50bb4f1b207e80f0db6e3 by craig.topper
[X86] Pass the OperandVector by reference to ParseIntelOperand and ParseRoundingMode. NFCI

Similar to what was recently done to ParseATTOperand. Make
ParseIntelOperand directly responsible for adding to the operand
vector instead of returning the operand. Return a bool for error.

Remove ErrorOperand since it is no longer used.
The file was modifiedllvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
Commit c03d3aca7d00db61eece554b7c4a9d921c1aff05 by aeubanks
[test] Fix thinlto-distributed-newpm.ll

Broken by https://reviews.llvm.org/D84981.
The file was modifiedclang/test/CodeGen/thinlto-distributed-newpm.ll
Commit 9f0225894254c4706519c85d6fc06c5382903fef by wolfgang_pieb
Make a test case more flexible on Windows wrt the number of backslashes.
The file was modifiedlld/test/ELF/dependency-file.s
Commit 89051ebacea72733ff7088cf09a760b1be707acf by Vitaly Buka
[NFC] GetUnderlyingObject -> getUnderlyingObject

I am going to touch them in the next patch anyway
The file was modifiedllvm/lib/Target/AMDGPU/SIInstrInfo.cpp
The file was modifiedllvm/lib/Analysis/AliasAnalysis.cpp
The file was modifiedllvm/lib/Analysis/LoopAccessAnalysis.cpp
The file was modifiedllvm/lib/Target/Mips/MipsDelaySlotFiller.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
The file was modifiedllvm/lib/Analysis/MemoryDependenceAnalysis.cpp
The file was modifiedllvm/lib/Analysis/ValueTracking.cpp
The file was modifiedllvm/lib/Target/AMDGPU/R600Instructions.td
The file was modifiedllvm/lib/Analysis/ConstantFolding.cpp
The file was modifiedllvm/lib/Analysis/Lint.cpp
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
The file was modifiedllvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
The file was modifiedllvm/lib/Transforms/IPO/AttributorAttributes.cpp
The file was modifiedllvm/lib/Transforms/Utils/InlineFunction.cpp
The file was modifiedllvm/lib/Analysis/InstructionSimplify.cpp
The file was modifiedllvm/lib/Transforms/Utils/LoopUtils.cpp
The file was modifiedllvm/lib/Transforms/Utils/VNCoercion.cpp
The file was modifiedllvm/lib/Transforms/Utils/AssumeBundleBuilder.cpp
The file was modifiedllvm/lib/Analysis/GlobalsModRef.cpp
The file was modifiedllvm/lib/Transforms/Vectorize/LoadStoreVectorizer.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUPromoteAlloca.cpp
The file was modifiedllvm/lib/Transforms/Instrumentation/DataFlowSanitizer.cpp
The file was modifiedllvm/lib/Transforms/Scalar/LICM.cpp
The file was modifiedllvm/lib/Transforms/Scalar/LoopIdiomRecognize.cpp
The file was modifiedllvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp
The file was modifiedllvm/lib/Target/NVPTX/NVPTXLowerArgs.cpp
The file was modifiedllvm/include/llvm/Analysis/ValueTracking.h
The file was modifiedllvm/lib/Analysis/BasicAliasAnalysis.cpp
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
The file was modifiedllvm/lib/Transforms/Scalar/LowerMatrixIntrinsics.cpp
The file was modifiedllvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/promote-alloca-to-lds-phi.ll
The file was modifiedllvm/lib/CodeGen/MachinePipeliner.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUAliasAnalysis.cpp
The file was modifiedllvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
The file was modifiedllvm/include/llvm/Analysis/ObjCARCAnalysisUtils.h
The file was modifiedllvm/test/Transforms/SLPVectorizer/AMDGPU/address-space-ptr-sze-gep-index-assert.ll
The file was modifiedllvm/lib/Analysis/CaptureTracking.cpp
The file was modifiedllvm/test/Analysis/LoopAccessAnalysis/nullptr.ll
The file was modifiedllvm/lib/Transforms/Instrumentation/ThreadSanitizer.cpp
The file was modifiedllvm/lib/Analysis/LazyValueInfo.cpp
The file was modifiedllvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUInline.cpp
The file was modifiedllvm/lib/Analysis/DependenceAnalysis.cpp
Commit abf546dd4f8326b821244b67eaa79ada7757d877 by Jason Molenda
debguserver's type sniffer to only treat .app things that end in .app

On an iOS device, if debugserver is left to figure out how to launch
the binary provided, it looks at the filename to see if it contains
".app" and asks FrontBoard to launch it.  However, if this is actually
a command line app with the characters ".app" in the name, it would
end up trying to launch that via the FrontBoard calls even though it
needed to be launched via posix_spawn.  For instance, a command line
program called com.application.tester.

Jim suggested this patch where we only send binaries that end in ".app"
to FrontBoard.

Often debugsever is invoked with a --launch command line argument to
specify the launch method, and none of this code is hit in that
instance.

<rdar://problem/65297100>
The file was modifiedlldb/tools/debugserver/source/debugserver.cpp
Commit 836991d3676fda06d0f07c816ba855c8a0c3e0aa by wmi
Fix a crash when the sample profile uses md5 and -sample-profile-merge-inlinee
is enabled.

When -sample-profile-merge-inlinee is enabled, new FunctionSamples may be
created during profile merge without GUIDToFuncNameMap being initialized.
That will occasionally cause compiler crash. The patch fixes it.

Differential Revision: https://reviews.llvm.org/D84994
The file was addedllvm/test/Transforms/SampleProfile/Inputs/inline-mergeprof.md5.prof
The file was modifiedllvm/include/llvm/ProfileData/SampleProf.h
The file was modifiedllvm/test/Transforms/SampleProfile/inline-mergeprof.ll
The file was modifiedllvm/lib/Transforms/IPO/SampleProfile.cpp
Commit d889e17eca8e8c43c6e4a2439fae5a1a40823623 by mkazantsev
[SimpleLoopUnswitch] Drop make.implicit metadata in case of non-trivial unswitching

Non-trivial unswitching simply moves terminator being unswitch from the loop
up to the switch block. It also preserves all metadata that was there. It might not
be a correct thing to do for `make.implicit` metadata. Consider case:
```
for (...) {
  cond = // computed in loop
  if (cond) return X;
  if (p == null) throw_npe(); !make implicit
}
```
Before the unswitching, if `p` is null and we reach this check, we are guaranteed
to go to `throw_npe()` block. Now we unswitch on `p == null` condition:
```
if (p == null) !make implicit {
  for (...) {
    if (cond) return X;
    throw_npe()
  }
} else {
  for (...) {
    if (cond) return X;
  }
}
```
Now, following `true` branch of `p == null` does not always lead us to
`throw_npe()` because the loop has side exit. Now, if we run ImplicitNullCheck
pass on this code, it may end up making the unswitch condition implicit. This may
lead us to turning normal path to `return X` into signal-throwing path, which is
not efficient.

Note that this does not happen during trivial unswitch: it guarantees that we do not
have side exits before condition being unswitched.

This patch fixes this situation by unconditional dropping of `make.implicit` metadata
when we perform non-trivial unswitch. We could preserve it if we could prove that the
condition always executes. This can be done as a follow-up.

Differential Revision: https://reviews.llvm.org/D84916
Reviewed By: asbirlea
The file was modifiedllvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp
The file was addedllvm/test/Transforms/SimpleLoopUnswitch/implicit-null-checks.ll
Commit 8aaeee5fb6d7c513d065e55b4bc2ad39bd6e760a by mkazantsev
[SimpleLoopUnswitch] Preserve make.implicit in non-trivial unswitch if legal

We can preserve make.implicit metadata in the split block if it is
guaranteed that after following the branch we always reach the block
where processing of null case happens, which is equivalent to
"initial condition must execute if the loop is entered".

Differential Revision: https://reviews.llvm.org/D84925
Reviewed By: asbirlea
The file was modifiedllvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp
The file was modifiedllvm/test/Transforms/SimpleLoopUnswitch/implicit-null-checks.ll
Commit 30a0dbb70d9e0c94a9bdc3d28e7c1c57d9891912 by craig.topper
[X86] Remove x86_sse42_crc32_64_64 from X86TTIImpl::simplifyDemandedUseBitsIntrinsic

It doesn't do any simplifying. It just computes known bits. We
can just let InstCombine call computeKnownBits which will handle
this just as well.
The file was modifiedllvm/lib/Target/X86/X86InstCombineIntrinsic.cpp
Commit c8fef0cc54faf51b769db3270c8fdbe6c65ef13d by Lang Hames
[JITLink] Use correct Addressable constructor.

Calling createAddressable(false) generates an absolute symbol. We want
createAddressable(0, false), which generates an external symbol.
The file was modifiedllvm/include/llvm/ExecutionEngine/JITLink/JITLink.h
Commit f561713d7513110b6e791959734cca9e0bf7fe33 by aqjune
[JumpThreading] Add a test for D84944 ; NFC
The file was addedllvm/test/Transforms/JumpThreading/pre-load.ll
Commit 1cc210383b281e9c78ff82c129d01efb598eee15 by maskray
[MC] Support infix operator !

Disabled for Darwin mode.

Also disabled for ARM which has compatible aliases (implied 'sp' operand
in 'srs*' instructions like 'srsda #31!').
The file was modifiedllvm/lib/MC/MCParser/MasmParser.cpp
The file was modifiedllvm/lib/MC/MCExpr.cpp
The file was modifiedllvm/include/llvm/MC/MCExpr.h
The file was modifiedllvm/lib/MC/MCParser/AsmParser.cpp
The file was addedllvm/test/MC/AsmParser/exprs-gnu.s
Commit ad48367722b23dd373e612c1c53b16290ae10194 by aqjune
[JumpThreading] Let SimplifyPartiallyRedundantLoad look into freeze

This patch allows SimplifyPartiallyRedundantLoad work when
the branch condition was frozen.

Reviewed By: efriedma

Differential Revision: https://reviews.llvm.org/D84944
The file was modifiedllvm/lib/Transforms/Scalar/JumpThreading.cpp
The file was modifiedllvm/test/Transforms/JumpThreading/pre-load.ll
Commit fcf8ada18f9cfb1261262e4b0399ae9ab40451f8 by maskray
[Driver] Render -e for Gnu.cpp
The file was modifiedclang/test/Driver/Xlinker-args.c
The file was modifiedclang/include/clang/Driver/Options.td
Commit c06e22fe07aa5eb8a9f8ce824cbab1bfe5a96581 by maskray
[Driver] Exclude options::LinkerInput for GCC linking

options::LinkerInput options may get duplicated after 6a75496836ea14bcfd2f4b59d35a1cad4ac58cee..
The file was modifiedclang/lib/Driver/ToolChains/Gnu.cpp
The file was modifiedclang/test/Driver/gcc_forward.c
Commit 9b04fec0021112d913058e81bf864e4f33c33dcc by qshanz
[PowerPC] Retrieve the offset from load/store if it stores to stack slots

Scheduler will try to retrieve the offset and base addr to determine if two
loads/stores are disjoint memory access. PowerPC failed to handle this for
frame index which will bring extra memory dependency for loads/stores.

Reviewed By: jji

Differential Revision: https://reviews.llvm.org/D84308
The file was modifiedllvm/test/CodeGen/PowerPC/aix32-cc-abi-vaarg.ll
The file was modifiedllvm/lib/Target/PowerPC/PPCInstrInfo.cpp
The file was modifiedllvm/test/CodeGen/PowerPC/aix-cc-byval.ll
The file was modifiedllvm/test/CodeGen/PowerPC/aix-cc-byval-split.ll
The file was modifiedllvm/test/CodeGen/PowerPC/aix64-cc-abi-vaarg.ll
Commit 0bd918c828feb599b278c1876a33caa9c295be6a by phosek
Revert "[ELF] Add --dependency-file option"

This reverts commit b4c7657ba602acde1c2ea5391c973949b9c3ce09 which
seems to be breaking certain bots with assertion error.
The file was modifiedlld/ELF/Options.td
The file was modifiedlld/ELF/Config.h
The file was modifiedlld/ELF/InputFiles.cpp
The file was removedlld/test/ELF/dependency-file.s
The file was modifiedlld/ELF/Driver.cpp
Commit a50cec71ecea5680c15752d211db16d49d5b1f12 by jperier
[flang] Fix CMPLX folding with complex arguments

CMPLX folding was expecting only one arguments in case X argument
is complex. This is wrong since there is also the optional KIND
argument.

Reviewed By: schweitz

Differential Revision: https://reviews.llvm.org/D84936
The file was modifiedflang/lib/Evaluate/fold-complex.cpp
The file was modifiedflang/test/Evaluate/folding01.f90
Commit 63d3aeb529a7b0fb95c2092ca38ad21c1f5cfd74 by benicsbalazs
[analyzer] Fix out-of-tree only clang build by not relaying on private header

It turned out that the D78704 included a private LLVM header, which is excluded
from the LLVM install target.
I'm substituting that `#include` with the public one by moving the necessary
`#define` into that. There was a discussion about this at D78704 and on the
cfe-dev mailing list.

I'm also placing a note to remind others of this pitfall.

Reviewed By: mgorny

Differential Revision: https://reviews.llvm.org/D84929
The file was modifiedllvm/include/llvm/Config/llvm-config.h.cmake
The file was modifiedllvm/include/llvm/Config/config.h.cmake
The file was modifiedclang/unittests/StaticAnalyzer/FalsePositiveRefutationBRVisitorTest.cpp
Commit 4d6eec8e70fbf4f68fbaab5a5f80f28ddaaf586f by pifon
[mlir] Add TFFramework dialect to DialectSymbolRegistry.

Differential Revision: https://reviews.llvm.org/D84918
The file was modifiedmlir/include/mlir/IR/DialectSymbolRegistry.def
Commit b0eb40ca3998c73b7e24b02e89ab3581f2daf647 by Vitaly Buka
[NFC] Remove unused GetUnderlyingObject paramenter

Depends on D84617.

Differential Revision: https://reviews.llvm.org/D84621
The file was modifiedllvm/lib/CodeGen/StackColoring.cpp
The file was modifiedllvm/lib/Analysis/MemoryDependenceAnalysis.cpp
The file was modifiedllvm/lib/Transforms/ObjCARC/DependencyAnalysis.cpp
The file was modifiedllvm/lib/Transforms/ObjCARC/ProvenanceAnalysis.cpp
The file was modifiedllvm/lib/Analysis/LazyValueInfo.cpp
The file was modifiedllvm/include/llvm/Analysis/ValueTracking.h
The file was modifiedllvm/lib/Transforms/IPO/AttributorAttributes.cpp
The file was modifiedllvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
The file was modifiedllvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
The file was modifiedllvm/lib/Analysis/ConstantFolding.cpp
The file was modifiedllvm/lib/Analysis/ValueTracking.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUAliasAnalysis.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUInline.cpp
The file was modifiedllvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
The file was modifiedllvm/lib/Transforms/Instrumentation/ThreadSanitizer.cpp
The file was modifiedllvm/lib/Transforms/Scalar/LICM.cpp
The file was modifiedllvm/lib/Transforms/Instrumentation/DataFlowSanitizer.cpp
The file was modifiedllvm/lib/Transforms/Scalar/LowerMatrixIntrinsics.cpp
The file was modifiedllvm/lib/Analysis/InstructionSimplify.cpp
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
The file was modifiedllvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
The file was modifiedllvm/lib/Target/AMDGPU/SIInstrInfo.cpp
The file was modifiedllvm/lib/Analysis/BasicAliasAnalysis.cpp
The file was modifiedllvm/lib/Analysis/GlobalsModRef.cpp
The file was modifiedllvm/lib/Transforms/Utils/AssumeBundleBuilder.cpp
The file was modifiedllvm/include/llvm/Analysis/ObjCARCAnalysisUtils.h
The file was modifiedllvm/lib/Target/AMDGPU/R600Instructions.td
The file was modifiedllvm/lib/CodeGen/ScheduleDAGInstrs.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUPromoteAlloca.cpp
The file was modifiedllvm/lib/Transforms/Utils/InlineFunction.cpp
The file was modifiedllvm/lib/Analysis/DependenceAnalysis.cpp
The file was modifiedllvm/lib/CodeGen/MachinePipeliner.cpp
The file was modifiedllvm/lib/Transforms/Utils/VNCoercion.cpp
The file was modifiedllvm/lib/Transforms/Vectorize/LoadStoreVectorizer.cpp
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
The file was modifiedllvm/lib/Target/Mips/MipsDelaySlotFiller.cpp
The file was modifiedllvm/lib/Analysis/LoopAccessAnalysis.cpp
The file was modifiedllvm/lib/Target/NVPTX/NVPTXLowerArgs.cpp
The file was modifiedllvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
The file was modifiedllvm/lib/Transforms/Scalar/LoopIdiomRecognize.cpp
The file was modifiedllvm/lib/Analysis/AliasAnalysis.cpp
The file was modifiedllvm/lib/Analysis/Lint.cpp
The file was modifiedllvm/lib/Analysis/ObjCARCAliasAnalysis.cpp
Commit fb5588b0ad59522031d037b0d1a3fdcf8ada8a79 by kbobyrev
[clangd] Propagate remote index errors via Expected

This is a refactoring: errors should be logged only on the highest level.
Switch from Optional to Expected in the serialization code.

Reviewed By: kadircet

Differential Revision: https://reviews.llvm.org/D84939
The file was modifiedclang-tools-extra/clangd/index/remote/marshalling/Marshalling.cpp
The file was modifiedclang-tools-extra/clangd/index/remote/server/Server.cpp
The file was modifiedclang-tools-extra/clangd/index/remote/marshalling/Marshalling.h
The file was modifiedclang-tools-extra/clangd/unittests/remote/MarshallingTests.cpp
The file was modifiedclang-tools-extra/clangd/index/remote/Client.cpp
Commit 161882816540fc011554e4a820ab896278491b6a by kadircet
[clang][Syntax] syntax::Arena doesnt own TokenBuffer

Currently an Arena can only be built while consuming a TokenBuffer,
some users (like clangd) might want to share a TokenBuffer with multiple
compenents. This patch changes Arena's TokenBuffer member to be a reference so
that it can be created with read-only token buffers.

Differential Revision: https://reviews.llvm.org/D84973
The file was modifiedclang/include/clang/Tooling/Syntax/Tree.h
The file was modifiedclang/lib/Tooling/Syntax/Tree.cpp
The file was modifiedclang/unittests/Tooling/Syntax/TreeTest.cpp
Commit 03116a9f8c2fc98577e153083aaf9b6a701ab8f9 by protze
[OpenMP] Use weak attribute in interface only for static library

This is to address the issue reported at:
https://bugs.llvm.org/show_bug.cgi?id=46863

Since weak is meaningless for a shared library interface function, this patch
disables the attribute, when the OpenMP library is built as shared library.

ompt_start_tool is not an interface function, but a internally called function
possibly implemented by an OMPT tool.
This function needs to be weak if possible to allow overwriting ompt_start_tool
with a function implementation built into the application.

Differential Revision: https://reviews.llvm.org/D84871
The file was modifiedopenmp/runtime/src/kmp_os.h
The file was modifiedopenmp/runtime/src/kmp_ftn_entry.h
The file was modifiedopenmp/runtime/src/ompt-specific.cpp
Commit eef1bfb2d219191cee16ee24efbf2d204488696c by zinenko
[mlir][Linalg] Conv {1,2,3}D ops defined with TC syntax

Replaced definition of named ND ConvOps with tensor comprehension
syntax which reduces boilerplate code significantly. Furthermore,
new ops to support TF convolutions added (without strides and dilations).

Reviewed By: nicolasvasilache

Differential Revision: https://reviews.llvm.org/D84628
The file was modifiedmlir/lib/Conversion/LinalgToStandard/LinalgToStandard.cpp
The file was modifiedmlir/test/Dialect/Linalg/invalid.mlir
The file was modifiedmlir/test/Dialect/Linalg/loops.mlir
The file was modifiedmlir/include/mlir/Dialect/Linalg/IR/LinalgStructuredOps.td
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Loops.cpp
The file was modifiedmlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
The file was modifiedmlir/include/mlir/Dialect/Linalg/IR/LinalgOps.h
The file was modifiedmlir/include/mlir/Dialect/Linalg/IR/LinalgNamedStructuredOpsSpec.tc
Commit acb3b8dce1cd7ed25a137c718678449dd2d77f79 by nemanja.i.ibm
[Sanitizers] Fix lint failure with Python 3.6

There are some files in compiler-rt that use UTF-8 characters in some of the
comments. This causes lint failures with some versions of Python. This patch
just makes the encoding explicit in the call to open.
The file was modifiedcompiler-rt/lib/sanitizer_common/scripts/litlint.py
Commit 2978b10aa164f692d48041327e27b2811649a233 by kbobyrev
[clangd] Fix remote index build on macOS

macOS builds suddenly started failing:

https://github.com/kirillbobyrev/indexing-tools/runs/925090879

This patch makes use of imported libraries and fixes builds for macOS.

Landing this without a review since the patch is quite straightforward
and I've been testing it on my local macOS machine for a while.

Differential Revision: https://reviews.llvm.org/D84928
The file was modifiedllvm/cmake/modules/FindGRPC.cmake
Commit cbf5bf513b93cc5bfa360f4be8a57e50988e22f1 by Xing
[DWARFYAML] Add emitDebug[GNU]Pub[names/types] functions. NFC.

In this patch, emitDebugPubnames(), emitDebugPubtypes(),
emitDebugGNUPubnames(), emitDebugGNUPubtypes() are added.

Reviewed By: jhenderson

Differential Revision: https://reviews.llvm.org/D85003
The file was modifiedllvm/lib/ObjectYAML/DWARFEmitter.cpp
The file was modifiedllvm/lib/ObjectYAML/MachOEmitter.cpp
The file was modifiedllvm/include/llvm/ObjectYAML/DWARFEmitter.h
The file was modifiedllvm/lib/ObjectYAML/ELFEmitter.cpp
Commit 760e4f22027ca1d609d21d220a28661ab091eb29 by Xing
[DWARFYAML] Add helper function getDWARFEmitterByName(). NFC.

In this patch, we add a helper function getDWARFEmitterByName(). This
function returns the proper DWARF section emitting method by the name.

Reviewed By: jhenderson

Differential Revision: https://reviews.llvm.org/D84952
The file was modifiedllvm/lib/ObjectYAML/DWARFEmitter.cpp
The file was modifiedllvm/include/llvm/ObjectYAML/DWARFEmitter.h
The file was modifiedllvm/lib/ObjectYAML/ELFEmitter.cpp
Commit 74b02d73e34278e081dcb4946d66b9562f0986fe by Xing
[DWARFYAML] Make the debug_aranges entry optional.

This patch makes the 'debug_aranges' entry optional. If the entry is
empty, yaml2obj will only emit the header for it.

Reviewed By: jhenderson

Differential Revision: https://reviews.llvm.org/D84921
The file was modifiedllvm/lib/ObjectYAML/DWARFEmitter.cpp
The file was modifiedllvm/lib/ObjectYAML/DWARFYAML.cpp
The file was modifiedllvm/test/tools/yaml2obj/ELF/DWARF/debug-aranges.yaml
The file was modifiedllvm/test/ObjectYAML/MachO/DWARF-debug_aranges.yaml
The file was modifiedllvm/include/llvm/ObjectYAML/DWARFYAML.h
The file was modifiedllvm/tools/obj2yaml/dwarf2yaml.cpp
The file was modifiedllvm/lib/ObjectYAML/MachOEmitter.cpp
Commit 0d25d3b7e3e3acb86d93acb2291c1d26e056746b by bjorn.a.pettersson
[clang-tidy] Fix build problem after commit 45a720a864320bbbeb596a

When building with LLVM8.0 on RHEL7.8 I got failures like this
after commit 45a720a864320bbbe:

/app/llvm/8.0/bin/../lib/gcc/x86_64-unknown-linux-gnu/
5.4.0/../../../../include/c++/5.4.0/ext/new_allocator.h:120:23:
error: no matching constructor for initialization of
'std::pair<std::__cxx11::basic_string<char>,
std::__cxx11::basic_string<char> >'
{ ::new((void *)__p) _Up(std::forward<_Args>(__args)...); }

...

../../clang-tools-extra/clang-tidy/ClangTidyOptions.cpp:73:15:
note: in instantiation of function template specialization
'std::vector<std::pair<std::__cxx11::basic_string<char>,
std::__cxx11::basic_string<char> >,
std::allocator<std::pair<std::__cxx11::basic_string<char>,
std::__cxx11::basic_string<char> > > >::emplace_back<llvm::StringRef,
const std::__cxx11::basic_string<char> &>' requested here
Options.emplace_back(KeyValue.getKey(), KeyValue.getValue().Value);

This is an attempt to avoid such build problems.
The file was modifiedclang-tools-extra/clang-tidy/ClangTidyOptions.cpp
Commit 638f0cf565f2121151c32d7eb52a1de0e333d5f6 by hokein.wu
[clangd] Be more explicit on testing the optional DefLoc in LocatedSymbol.

And also fix a bug where we may return a meaningless location.

Differential Revision: https://reviews.llvm.org/D84919
The file was modifiedclang-tools-extra/clangd/XRefs.cpp
The file was modifiedclang-tools-extra/clangd/unittests/XRefsTests.cpp
Commit e704aa4f254a26505d4bb9dc38bdee0ff4efa4ba by erich.keane
DR2303: Prefer 'nearer' base classes during template deduction.

DR2303 fixes the case where the derived-base match for template
deduction is ambiguous if a base-of-base ALSO matches. The canonical
example (as shown in the test) is just like the MSVC implementation of
std::tuple.

This fixes a fairly sizable issue, where if a user inherits from
std::tuple on Windows (with the MS STL), they cannot use that type to
call a function that takes std::tuple.

Differential Revision: https://reviews.llvm.org/D84048
The file was modifiedclang/test/CXX/drs/dr23xx.cpp
The file was modifiedclang/www/cxx_dr_status.html
The file was modifiedclang/lib/Sema/SemaTemplateDeduction.cpp
Commit 793c29a267ca85da84403e3bb032ea49eed9e5f7 by SourabhSingh.Tomar
[MLIR,OpenMP][NFCI] Removed loop for accessing regions of ParallelOp

`ParallelOp` has only one region associated with it.

Reviewed By: kiranchandramohan, ftynse

Differential Revision: https://reviews.llvm.org/D85008
The file was modifiedmlir/lib/Target/LLVMIR/ModuleTranslation.cpp
Commit 2da9b44415ce7958d09da53746ad46be631dcf1f by thakis
[gn build] (manually) merge 63d3aeb529
The file was modifiedllvm/utils/gn/secondary/llvm/include/llvm/Config/BUILD.gn
Commit 6983cf3a57aa6d8619eb39e1625eed5340ba05c7 by frgossen
[MLIR][Shape] Allow unsafe `shape.broadcast`

In a context in which `shape.broadcast` is known not to produce an error value,
we want it to operate solely on extent tensors. The operation's behavior is
then undefined in the error case as the result type cannot hold this value.

Differential Revision: https://reviews.llvm.org/D84933
The file was modifiedmlir/test/Dialect/Shape/canonicalize.mlir
The file was modifiedmlir/include/mlir/Dialect/Shape/IR/ShapeOps.td
The file was modifiedmlir/test/Dialect/Shape/invalid.mlir
Commit 57bd64ff8434aa55aeb1c7a1035f4b5b7468b809 by arsenm2
Support addrspacecast initializers with isNoopAddrSpaceCast

Moves isNoopAddrSpaceCast to the TargetMachine. It logically belongs
with the DataLayout.
The file was modifiedllvm/lib/Target/AArch64/AArch64TargetMachine.h
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
The file was modifiedllvm/lib/Target/Mips/MipsISelLowering.h
The file was modifiedllvm/include/llvm/Target/TargetMachine.h
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was addedllvm/test/CodeGen/AMDGPU/addrspacecast-initializer-unsupported.ll
The file was modifiedllvm/lib/Target/PowerPC/PPCISelLowering.h
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.h
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPU.h
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.h
The file was modifiedllvm/lib/Target/Mips/MipsTargetMachine.h
The file was modifiedllvm/lib/CodeGen/TargetLoweringBase.cpp
The file was modifiedllvm/lib/Target/PowerPC/PPCTargetMachine.h
The file was modifiedllvm/lib/Target/ARM/ARMISelLowering.h
The file was modifiedllvm/lib/Target/AMDGPU/SIISelLowering.h
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
The file was modifiedllvm/include/llvm/CodeGen/TargetLowering.h
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUTargetMachine.h
The file was modifiedllvm/lib/Target/X86/X86TargetMachine.h
The file was modifiedllvm/lib/CodeGen/CodeGenPrepare.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
The file was modifiedllvm/lib/Target/ARM/ARMTargetMachine.h
The file was modifiedllvm/lib/Target/X86/X86TargetMachine.cpp
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
The file was modifiedllvm/lib/Target/AMDGPU/SIISelLowering.cpp
The file was modifiedllvm/include/llvm/CodeGen/BasicTTIImpl.h
The file was modifiedllvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
The file was addedllvm/test/CodeGen/AMDGPU/addrspacecast-initializer.ll
Commit dd5ea5674b86bade4904fab4c66a1156b3df033e by richard.barton
[flang] Make interactive behaviour more obvious

When flang is invoked with no files it waits for input on stdin. Make it
print a message saying this to prevent the user being surprised.

Differential Revision: https://reviews.llvm.org/D84855
The file was addedflang/test/Driver/Inputs/hello.f90
The file was modifiedflang/tools/f18/f18.cpp
The file was addedflang/test/Driver/no_files.f90
Commit b068d19a151d9d3a73b0265df27836d9fd0ad1e3 by richard.barton
[flang] Add details to --help screen on default behaviour

Add a usage string and a defaults section that clarifies:
* If no input files are given, f18 reads from stdin
* If no input files are given, f18 dumps the parse tree.
* The default behaviour is to exec F18_FC.
* The fefault F18_FC setting is 'gfortran'

Adds a simple regression test which tests the top and tail of the help
screen and the exit status.

Depends on D84855

Differential Revision: https://reviews.llvm.org/D84856
The file was addedflang/test/Driver/help.f90
The file was modifiedflang/tools/f18/f18.cpp
Commit 30e45f339eb0841dc7fe27fad119cc5db0c052f3 by richard.barton
[flang] Add -h as a synonym for help

As expected by user in http://lists.llvm.org/pipermail/flang-dev/2020-June/000404.html

Depends on D84856

Differential Revision: https://reviews.llvm.org/D84857
The file was modifiedflang/tools/f18/f18.cpp
The file was modifiedflang/test/Driver/help.f90
Commit cfb955ac370cb724c51423a05694aaf5b70903a4 by thomasraoux
[mlir][spirv] Relax restriction on pointer type for CooperativeMatrix load/store

This change allow CooperativeMatrix Load/Store operations to use pointer type
that may not match the matrix element type. This allow us to declare buffer
with a larger type size than the matrix element type. This follows SPIR-V spec
and this is needed to be able to use cooperative matrix in combination with
shared local memory efficiently.

Differential Revision: https://reviews.llvm.org/D84993
The file was modifiedmlir/test/Dialect/SPIRV/cooperative-matrix.mlir
The file was modifiedmlir/lib/Dialect/SPIRV/SPIRVOps.cpp
The file was modifiedmlir/test/Dialect/SPIRV/Serialization/cooperative-matrix.mlir
The file was modifiedmlir/include/mlir/Dialect/SPIRV/SPIRVCooperativeMatrixOps.td
Commit d275da17e4f0a17615b24c352aab0d34f647bfa7 by Louis Dionne
[libc++] Fix eager generator expression in DefineLinkerScript

As explained in https://gitlab.kitware.com/cmake/cmake/-/issues/21045,
both branches of an $<IF> generator expression are evaluated eagerly
by CMake. As a result, if the non-selected branch contains an invalid
generator expression (such as getting the OUTPUT_NAME property of a
non-existent target), a hard error will occur.

This failed builds using the cxxrt ABI library, which doesn't create
a CMake target currently.
The file was modifiedlibcxx/cmake/Modules/DefineLinkerScript.cmake
Commit 9853786ce39b9510eeb2688baaef7a364d58e113 by hans
Add flang to export.sh to it gets source tarballs in releases
The file was modifiedllvm/utils/release/export.sh
Commit c6f08b14d4895928232fac38d266bb53aafa6b29 by benny.kra
Hide some internal symbols. NFC.
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
The file was modifiedllvm/lib/Target/ARM/MVEGatherScatterLowering.cpp
The file was modifiedllvm/lib/Transforms/Instrumentation/DataFlowSanitizer.cpp
Commit 7ad6ea520fe49e9320bd15a4daf88e36259efedc by Xing
[DWARFYAML][debug_aranges] Use yaml::Hex64 rather than uint64_t as length. NFC.

It's better to use yaml::Hex64 as length in the tuples of the address
range table.
The file was modifiedllvm/test/ObjectYAML/MachO/DWARF-debug_aranges.yaml
The file was modifiedllvm/include/llvm/ObjectYAML/DWARFYAML.h
Commit c4e574323210feda1a3988e85fdd93b90a63d1b1 by amy.kwan1
[PowerPC] Implement low-order Vector Modulus Builtins, and add Vector Multiply/Divide/Modulus Builtins Tests

Power10 introduces new instructions for vector multiply, divide and modulus.
These instructions can be exploited by the builtin functions: vec_mul, vec_div,
and vec_mod, respectively.

This patch aims adds the function prototype, vec_mod, as vec_mul and vec_div
been previously implemented in altivec.h.

This patch also adds the following front end tests:
vec_mul for v2i64
vec_div for v4i32 and v2i64
vec_mod for v4i32 and v2i64

Differential Revision: https://reviews.llvm.org/D82576
The file was modifiedclang/test/CodeGen/builtins-ppc-p10vector.c
The file was modifiedclang/lib/Headers/altivec.h
Commit df69492cdfa82ff6453c887cd45b3a5903b79afb by sameerarora101
[llvm-libtool-darwin] Refactor Slice and writeUniversalBinary

Refactoring `Slice` class and function `createUniversalBinary` from
`llvm-lipo` into  MachOUniversalWriter. This refactoring is necessary so
as to use the refactored code for creating universal binaries under
llvm-libtool-darwin.

Reviewed by alexshap, smeenai

Differential Revision: https://reviews.llvm.org/D84662
The file was modifiedllvm/lib/Object/CMakeLists.txt
The file was addedllvm/lib/Object/MachOUniversalWriter.cpp
The file was modifiedllvm/tools/llvm-lipo/llvm-lipo.cpp
The file was addedllvm/include/llvm/Object/MachOUniversalWriter.h
Commit c75c7d51968d397e5521c8b6c1e906bde1245af6 by llvmgnsyncbot
[gn build] Port df69492cdfa
The file was modifiedllvm/utils/gn/secondary/llvm/lib/Object/BUILD.gn
Commit d23c1d6a8dddf0e1b9b9fa64726941e402ede8af by hoy
[AutoFDO] Avoid merging inlinee samples multiple times

A function call can be replicated by optimizations like loop unroll and jump threading and the replicates end up sharing the sample nested callee profile. Therefore when it comes to merging samples for uninlined callees in the sample profile inliner, a callee profile can be merged multiple times which will cause an assert to fire.

This change avoids merging same callee profile for duplicate callsites by filtering out callee profiles with a non-zero head sample count.

Reviewed By: wenlei, wmi

Differential Revision: https://reviews.llvm.org/D84997
The file was addedllvm/test/Transforms/SampleProfile/inline-mergeprof-dup.ll
The file was modifiedllvm/lib/Transforms/IPO/SampleProfile.cpp
Commit dcdc77619e1af61181e7214d292b7e5b59946186 by yamauchi
[PGO][test] Add test to check memops changes function hash

Following up D84782.

Differential Revision: https://reviews.llvm.org/D84953
The file was addedllvm/test/Transforms/PGOProfile/memop_hash.ll
Commit 86609b7af79fc9c71371ca255b271105f546c9c4 by llvm-dev
[X86][SSE] Cleanup bitwise reduction check prefixes. NFC

Add AVX512BW/AVX512BWVL prefixes for a future patch
The file was modifiedllvm/test/CodeGen/X86/vector-reduce-and-cmp.ll
The file was modifiedllvm/test/CodeGen/X86/vector-reduce-or.ll
The file was modifiedllvm/test/CodeGen/X86/vector-reduce-xor.ll
The file was modifiedllvm/test/CodeGen/X86/vector-reduce-and.ll
Commit 6c75db8b4bc59eace18143ce086419d37da24746 by khr
Disable getauxval for Go

We want the Go build to not use getauxval, as we must support glibc < 2.16 platforms.

Reviewed By: dvyukov

Differential Revision: https://reviews.llvm.org/D84859
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_getauxval.h
Commit 2144a3bdbba40f0a78d30921088e2c8407ff9dd2 by aditya_nandakumar
[GISel] Add combiners for G_INTTOPTR and G_PTRTOINT

https://reviews.llvm.org/D84909

Patch adds two new GICombinerRules, one for G_INTTOPTR and one for
G_PTRTOINT. The G_INTTOPTR elides ptr2int(int2ptr(x)) to a copy of x, if
the cast is within the same address space. The G_PTRTOINT elides
int2ptr(ptr2int(x)) to a copy of x. Patch additionally adds new combiner
tests for the AArch64 target to test these new combiner rules.

Patch by mkitzan
The file was addedllvm/test/CodeGen/AArch64/GlobalISel/combine-ptrtoint.mir
The file was modifiedllvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
The file was modifiedllvm/include/llvm/Target/GlobalISel/Combine.td
The file was addedllvm/test/CodeGen/AArch64/GlobalISel/combine-inttoptr-ptrtoint.mir
The file was modifiedllvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
Commit 3b0d30ffd30a704d09a34031d8797e22b708caab by flo
[SCEVExpander] Name temporary instructions for LCSSA insertion (NFC).