FailedChanges

Summary

  1. zorg/jenkins: Update clang ci dependency versions (details)
Commit 26fab8ff789d7386ca0944bbb367f04715386d71 by Azharuddin Mohammed
zorg/jenkins: Update clang ci dependency versions

Match latest updates to Green Dragon nodes.
The file was modifiedzorg/jenkins/clang_build_dependencies.dep (diff)

Summary

  1. [NFC] Adding the align attribute on Atomic{CmpXchg|RMW}Inst (details)
  2. Hand Allocator and IdentifierTable into FormatTokenLexer. (details)
  3. [SVE][CodeGen] Legalisation of unpredicated load instructions (details)
  4. [llvm-readobj] - Allow dumping partially corrupted SHT_LLVM_CALL_GRAPH_PROFILE sections. (details)
  5. [llvm-readobj] - Refactor ELFDumper<ELFT>::getStaticSymbolName. (details)
  6. [SVE][CodeGen] Legalisation of unpredicated store instructions (details)
  7. [llvm-readobj] - Split the printHashSymbols. NFCI. (details)
  8. [llvm-readobj] - Refine the error reporting in LLVMStyle<ELFT>::printELFLinkerOptions. (details)
  9. [clang-tidy] Fix an unused-raii check crash on objective-c++. (details)
  10. [llvm-readobj] - Add prepending # to mips-got.test and mips-plt.test. NFC. (details)
  11. [lldb] Make TestIOHandlerResizeNoEditline pass with Python 2 (details)
  12. [LV] Vectorize without versioning-for-unit-stride under -Os/-Oz (details)
  13. [mlir][spirv] Introduce OwningSPIRVModuleRef for ownership (details)
  14. [mlir][VectorOps] Lower vector.outerproduct of int vectors (details)
  15. [clangd] Store index in '.cache/clangd/index' instead of '.clangd/index' (details)
  16. [llvm-readobj] - Don't abort when dumping dynamic relocations when an object has both REL and RELA. (details)
  17. [llvm-readobj] - Fix indentation in broken-dynamic-reloc.test. NFC. (details)
  18. [NFC] Use hasAnyName matcher in place of anyOf(hasName()...) (details)
  19. [llvm-readobj] - Refactor the MipsGOTParser<ELFT> to stop using report_fatal_error(). (details)
  20. [OpenMP][NFC] Remove hard-coded line numbers from more tests (details)
  21. [X86] Fix a bug that when lowering byval argument (details)
  22. [Scalarizer] When gathering scattered scalar, don't replace it with itself (details)
  23. [lldb/test] Fix lldbutil.run_to_***_breakpoint for shared libraries (details)
  24. [DEBUGINFO]Add dwarf versions to the test, NFC. (details)
  25. [OpenMP] Use primary context in CUDA plugin (details)
  26. [ASTImporter] Corrected import of repeated friend declarations. (details)
  27. [flang] Add lowering of I/O statements. (details)
  28. [Bitfields][NFC] Make sure bitfields are contiguous (details)
  29. [CodeMoverUtils] Make specific analysis dependent checks optional (details)
  30. [lldb/Utility] Fix float->integral conversions in Scalar APInt getters (details)
  31. [ASTMatchers] Added hasDirectBase Matcher (details)
  32. [Clang] Handle AIX Include management in the driver (details)
  33. Combine multiple defs of arm64 register sets (details)
  34. Revert "Create the framework and testing environment for MLIR Reduce - a tool" (details)
  35. [x86] add test for buildvector lowering miscompile (PR46586); NFC (details)
  36. [HIP] Use default triple in llvm-mc for system ld (details)
  37. [ELF] Ignore --no-relax for RISC-V (details)
  38. [NativeSession] Add column numbers to NativeLineNumber. (details)
  39. [x86] fix miscompile in buildvector v16i8 lowering (details)
  40. [GlobalOpt] Don't remove inalloca from musttail-called functions (details)
  41. [lldb] Fix unaligned load in DataExtractor (details)
  42. Disable interception of sigaltstack on i386 macOS. (details)
  43. Revert "Temporarily disable the following failing tests on Darwin:" (details)
  44. orrectly generate invert xor value for Binary Atomics of int size > 64 (details)
  45. [PowerPC] Implement Vector Replace Builtins in LLVM (details)
  46. [SemaObjC] Add a warning for @selector expressions that potentially refer to objc_direct methods (details)
  47. [SemaObjC] Fix a -Wobjc-signed-char-bool false-positive with binary conditional operator (details)
  48. Expand the LLVM Developer Policy to include new sections on adding (details)
  49. Warn pointer captured in async block (details)
  50. [X86][AVX] Add AVX2 tests to extractelement-load.ll (details)
  51. [X86][AVX] Add test case showing incorrect extraction from VBROADCAST_LOAD on AVX2 targets (details)
  52. [mlir] Convert function signatures before converting globals (details)
  53. [NewPM][LoopFusion] Rename loop-fuse -> loop-fusion (details)
  54. [mlir] Support unranked types in func signature conversion in BufferPlacement. (details)
  55. [BasicAA] Remove -basicaa alias (details)
  56. [WebAssembly] Avoid scalarizing vector shifts in more cases (details)
  57. [gn build] Port dfa0db79d0e (details)
  58. Speculatively fix the sphinx build. (details)
  59. [SystemZ ABI] Allow class types in GetSingleElementType (details)
  60. [x86][lvi][seses] Use SESES at O0 for LVI mitigation (details)
  61. [X86][AVX] Don't fold PEXTR(VBROADCAST_LOAD(X)) -> LOAD(X). (details)
  62. [SCCP] Handle assume predicates (details)
  63. [lldb/Core] Fix crash in ValueObject::CreateChildAtIndex (details)
  64. Clang crashed while checking for deletion of copy and move ctors (details)
  65. LIS: fix handleMove to properly extend main range (details)
  66. [llvm] [docs] Do not require recommonmark for manpage build (details)
  67. [SCCP] Use range metadata for loads and calls (details)
  68. [flang] Make 'num_images()' intrinsic (details)
  69. [flang] Added missing runtime I/O definitions (details)
  70. [mlir] [VectorOps] [integration-test] Add i64 typed outer product (details)
  71. [Inliner] Don't skip inlining alwaysinline in optnone functions (details)
  72. Minor fixups to LLDB AArch64 register infos macros for SVE register infos (details)
  73. [x86][seses] Add clang flag; Use lvi-cfi with seses (details)
  74. [Statepoint] Factor out logic for non-stack non-vreg lowering [almost NFC] (details)
  75. AMDGPU/GlobalISel: Fix skipping unused kernel arguments (details)
  76. GlobalISel: Handle EVT argument lowering correctly (details)
  77. [SVE] Make Constant::getSplatValue work for scalable vector splats (details)
  78. [mlir][Vector] Add ExtractOp folding (details)
  79. [ms] [llvm-ml] Add initial MASM STRUCT/UNION support (details)
  80. [libc] Add memchr implementation. (details)
  81. [lldb/api] Add checks for StackFrame::GetRegisterContext calls (NFC) (details)
  82. [SVE] Remove calls to VectorType::getNumElements from AsmParserTest (details)
  83. [llvm-readobj][test] Fix ELF/verneed-flags.yaml (details)
  84. Do not set LLDB_DEBUGSERVER_PATH if --out-of-tree-debugserver is passed. (details)
  85. [dotest] Log a warning when --server and --out-of-tree-debugserver are set (details)
  86. [RuntimeDyld][test] Fix ExecutionEngine/RuntimeDyld/X86/ELF_x86-64_none.yaml after D60122 (details)
  87. Revert "[SLP] Make sure instructions are ordered when computing spill cost." (details)
  88. [X86] Add back the assert in getImpliedFeatures that I removed in ef4cc70f3ed2a91e0a48c6448c517c3ba34c2846 (details)
  89. [OpenMP][Tests] Update compatibility with GCC (NFC) (details)
  90. [clang] Include missing LangOpts in `getModuleHash`. (details)
  91. [Statepoint] Reduce intendation and change a variable name [NFC] (details)
  92. [Statepoint] Use early return to reduce nesting and clarify comments [NFC] (details)
  93. [flang] Fix CHARACTER length folding problem (details)
  94. Create the MLIR Reduce framework (details)
  95. [Sema] Teach -Wcast-align to compute alignment of CXXThisExpr (details)
  96. [compiler-rt][Hexagon] Remove fma/fmin/max code (details)
  97. [WebAssembly] fix gcc 10 warning (details)
  98. [X86] Merge the FEATURE_64BIT and FEATURE_EM64T bits in X86TargetParser.def. (details)
  99. Revert "[X86] Merge the FEATURE_64BIT and FEATURE_EM64T bits in X86TargetParser.def." (details)
  100. [MLIR] Combine the 2 overloads of FuncOp::build() into one. (details)
  101. PR45521: Preserve the value kind when performing a standard conversion (details)
  102. [mlir][spirv] Add MatrixTimesMatrix operation (details)
  103. [RISCV] Optimize multiplication by constant (details)
  104. [RISCV] optimize addition with a pair of (addi imm) (details)
  105. Recommit "[X86] Merge the FEATURE_64BIT and FEATURE_EM64T bits in X86TargetParser.def." (details)
  106. [LLDB] Disable flaky lldb-vscode tests on arm (details)
  107. [gn build] Port baca8f977ed (details)
  108. [openmp][NFC] Remove duplicate clause defaultmap for target parallel do (details)
  109. Revert "[X86] Add back the assert in getImpliedFeatures that I removed in ef4cc70f3ed2a91e0a48c6448c517c3ba34c2846" (details)
  110. Rename `xla_lhlo.terminator` into `return` in SCF parallel loop test (NFC) (details)
  111. Upgrade TypePromotionTransaction to be able to report changes in CodeGenPrepare (details)
  112. [analyzer] Warning for default constructed unique_ptr dereference (details)
  113. [gn build] Port 20e271a98de (details)
  114. [DSE,MSSA] Eliminate stores by terminators (free,lifetime.end). (details)
  115. [WebAssembly] Generate unreachable after __stack_chk_fail (details)
  116. [MLIR][SPIRVToLLVM] Miscellaneous ops conversion: select, fmul and undef (details)
  117. [CodeGen] Fix warnings in sve-ld1-addressing-mode-reg-imm.ll (details)
  118. [analyzer] Silence gcc -Wparentheses warning [NFC] (details)
  119. [CodeGen] Fix wrong use of getVectorNumElements in PromoteIntRes_EXTRACT_SUBVECTOR (details)
  120. [CodeGen] Fix wrong use of getVectorNumElements() in DAGTypeLegalizer::SplitVecRes_ExtendOp (details)
  121. [llvm-readobj] - Refine error reporting in MipsGOTParser<ELFT> helper. (details)
  122. [DebugInfo/DWARF] - Test invalid CFI opcodes properly and refine related `CFIProgram::parse` code. (details)
  123. [X86][AVX] Remove redundant EXTRACT_VECTOR_ELT(VBROADCAST(SCALAR())) fold (details)
  124. Fix MSVC "not all control paths return a value" warnings. NFC. (details)
  125. [NFCI][llvm-reduce] Cleanup Delta passes to use Oracle abstraction (details)
  126. [DWARF] Add cuttoff guarding quadratic validThroughout behaviour (details)
  127. [MLIR][SPIRVToLLVM] Implementation of spv.BitFieldSExtract and spv.BitFieldUExtract patterns (details)
  128. [lldb] Skip TestIOHandlerResizeNoEditline on Windows (details)
  129. [SVE] Custom ISel for fixed length extract/insert_subvector. (details)
  130. [UpdateTestChecks] Move more update_test_checks.py logic to common.py (details)
  131. [UpdateTestChecks] Add UTC_ARGS support for update_{llc,cc}_test_checks.py (details)
  132. [Support] Fix signed/unsigned comparison warning (details)
  133. [X86][AVX] Add SimplifyDemandedVectorEltsForTargetShuffle test for v32i8->v16i8 PSHUFB (details)
  134. [GlobalISel][InlineAsm] Fix matching input constraints to mem operand (details)
  135. [lldb][NFC] Fix indentation in expect_expr (details)
  136. Add missing REQUIRES: x86-registered-target (details)
  137. [X86][AVX] SimplifyDemandedVectorEltsForTargetShuffle - ensure mask is same size as constant size (details)
  138. [cmake] Use CMAKE_GENERATOR to determine if Ninja is used (details)
  139. [lldb/API] Overwrite variables with SBLaunchInfo::SetEnvironment(append=true) (details)
  140. [AST][RecoveryExpr] Fix the value category for recovery expr. (details)
  141. [lldb/Utility] Simplify Scalar float accessors (details)
  142. clang: Don't show a trailing space with --version when not built from the repo (details)
  143. [lldb/Core] Update comment to make it more explicit (NFC) (details)
  144. [x86] improve codegen for non-splat bit-masked vector compare and select (PR46531) (details)
  145. [flang] Fix setting mxcsr on MSVC (details)
  146. [mlir] Add ViewLikeOpInterface to std.memref_cast. (details)
  147. [NVPTX]Add a test for debug info for packed bitfields, NFC. (details)
  148. Fix crash on overloaded postfix unary operators due to invalid sloc (details)
  149. [CodeGen] Don't combine extract + concat vectors with non-legal types (details)
  150. [flang] Support for image selectors (details)
  151. [flang] Upstreaming intrinsic call lowering. (details)
  152. [clangd] Enable reading config from files behind a flag (details)
  153. SLP: honor requested max vector size merging PHIs (details)
  154. [OpenMPIRBuilder][Fix] Move llvm::omp::types to OpenMPIRBuilder. (details)
  155. [clangd] Improve serialization error messages. NFC (details)
  156. Double check that passes correctly set their Modified status (details)
  157. [clang][NFC] Also test for serialization in test/AST/ast-dump-APValue-* (details)
  158. [SelectionDAG] Fix incorrect offset when expanding CONCAT_VECTORS. (details)
  159. [lldb] Modernize/clean up ValueObject::GetChildMemberWithName (details)
  160. partial revert on RTBuilder.h to avoid warnings. (details)
  161. [Preallocated] Add @llvm.call.preallocated.teardown (details)
  162. [MIR] Speedup parsing of function with large number of basic blocks (details)
  163. [NewPM][opt] Share -disable-loop-unrolling between pass managers (details)
  164. [libc] Fix typographical error in math_utils.h. (details)
  165. [clang] Fix a crash when passing a C structure of incompatible type to a function with a reference parameter. (details)
  166. [NewPM][opt] Translate "-O#" to NPM's "default<O#>" (details)
  167. [libc++] Mark some tests as unsupported on GCC 5 (details)
  168. [matrix] Add some more Verifier negative tests. NFC. (details)
  169. Revert "Double check that passes correctly set their Modified status" (details)
  170. DomTree: remove explicit use of DomTreeNodeBase::iterator (details)
  171. [SystemZ] Allow specifying integer registers as part of the address calculation (details)
  172. [SampleFDO] Enable sample-profile-top-down-load and sample-profile-merge-inlinee (details)
  173. [NewPM] Add PredicateInfoPrinterPass to PassRegistry.def (details)
  174. [X86] Fix copy+paste typo in combineVectorPack assert message. NFC. (details)
  175. [X86][SSE] Pull out PACK(SHUFFLE(),SHUFFLE()) folds into its own function. NFC. (details)
  176. [DAGCombiner] add enum for store source value; NFC (details)
  177. [DAGCombiner] fix function-name formatting; NFC (details)
  178. [libc++][NFC] Remove outdated TODO item (details)
  179. [RecordLayout] Fix ItaniumRecordLayoutBuilder so that is grabs the correct bases class offsets from the external source (details)
  180. [CUDA][HIP] Let lambda be host device by default (details)
  181. [flang] Fix a crash when cosubscript list is empty (details)
  182. [ELF] Add -z dead-reloc-in-nonalloc=<section_glob>=<value> (details)
  183. [test] Run llvm/test/**/*.yaml & don't run llvm/test/**/*.cxx (not exist) (details)
  184. [ELF] Rename canRelax to toExecRelax. NFC (details)
  185. hwasan: Don't pass the tagged-globals target-feature to non-aarch64 backends. (details)
  186. [X86] Enabled a bunch of 64-bit Interlocked* functions intrinsics on 32-bit Windows to match recent MSVC (details)
  187. Remove the unnecessary `is_nothrow_swappable` condition in `swap`. (details)
  188. [Support] Define llvm::parallel::strategy for -DLLVM_ENABLE_THREADS=off builds after D76885 (details)
  189. [test] Add REQUIRES: x86-registered-target to tools/obj2yaml/COFF/bss.s (details)
  190. [libc++] Reimplement platform detection features without running on the test host (details)
  191. [SVE] Remove calls to VectorType::getNumElements from Scalar (details)
  192. [AMDGPU] Fix and simplify AMDGPUCodeGenPrepare::expandDivRem32 (details)
  193. [AMDGPU] Fix and simplify AMDGPUTargetLowering::LowerUDIVREM (details)
  194. [AMDGPU] Fix and simplify AMDGPULegalizerInfo::legalizeUDIV_UREM32Impl (details)
  195. SILoadStoreOptimizer: add support for GFX10 image instructions (details)
  196. [pstl] Fix a few errors when running PSTL tests through the libc++ test suite (details)
  197. [ELF] Enforce double-dash form for --warn-backrefs-exclude (details)
  198. [DAGCombiner] fix code comment and improve readability; NFC (details)
  199. [DAGCombiner] clean up in mergeConsecutiveStores(); NFC (details)
  200. [pstl] Do not install the __config_site.in file (details)
  201. [NFC] Separate Peeling Properties into its own struct (details)
  202. Revert "[NFC] Separate Peeling Properties into its own struct" (details)
  203. [NFC] Separate Peeling Properties into its own struct (details)
  204. [libc++] Install PSTL when installing libc++ with parallel algorithms enabled (details)
  205. [LangRef] Introduce `noundef` attribute for fully defined function params (details)
  206. [LLVM] Accept `noundef` attribute in function definitions/calls (details)
  207. Tighten description of ISD::BUILD_VECTOR (details)
  208. [Solaris] Fix Solaris build bots (details)
  209. Reword description of ISD::BUILD_VECTOR (details)
  210. [InstSimplify] Handle not inserted instruction gracefully (PR46638) (details)
  211. Revert "[NFC] Separate Peeling Properties into its own struct" (details)
  212. [InstSimplify] Remove select ?, undef, X -> X and select ?, X, undef -> X transforms (details)
  213. Recover more gracefully from stack exhaustion during template argument (details)
  214. Revert "[lldb/API] Overwrite variables with SBLaunchInfo::SetEnvironment(append=true)" (details)
  215. [libclang] Fix crash when visiting a captured VLA (details)
  216. [opt] Remove obsolete --quiet option (details)
  217. [libc++] Make sure the ENABLE_FILESYSTEM variable is always bound (details)
  218. GlobalISel: Verify G_BITCAST changes the type (details)
  219. PR46640: Permit the first parameter of a destroying 'operator delete' to (details)
  220. sanitizers: Add interceptors for getproto{ent,byname,bynumber}_r (details)
  221. [mlir] [VectorOps] Expose lowering pass options programmatically (details)
  222. Unify the ExecutionContextScope computation in Materializer. (details)
  223. [InstSimplify] Add test cases for opportunities to fold select ?, X, undef -> X when we can prove X isn't poison (details)
  224. DAG: Remove redundant handling of reg fixups (details)
  225. Updated the list of supported platforms in LLDB to include Apple silicon. (details)
  226. [OpenMP] Initial support for std::complex in target regions (details)
  227. [gn build] Port d999cbc9883 (details)
  228. DAG: Remove redundant finalizeLowering call (details)
  229. [Sanitizer]: Require !android for protoent test (details)
  230. [NFC] Fix some docs warnings (details)
  231. [openmp] Use switch in isAllowedClauseForDirective instead of multiple if (details)
  232. [lit] Add --show-xxx command line options (details)
  233. Fix debugserver reporting of deployment target (details)
  234. [flang] Fix negative unit number hashing (details)
  235. Improve diagnostics for constant evaluation that fails because a (details)
  236. [mlir] Print 0 element DenseElementsAttr as dense<> to fix parser bugs with expected shape. (details)
  237. [Legalizer] Fix wrong operand in split vector helper (details)
  238. Add missing CMake bool canonicalizations. (details)
Commit 74c723757e69fbe7d85e42527d07b728113699ae by gchatelet
[NFC] Adding the align attribute on Atomic{CmpXchg|RMW}Inst

This is the first step to add support for the align attribute to AtomicRMWInst and AtomicCmpXchgInst.
Next step is to add support in IRBuilder and BitcodeReader.
Bug: https://bugs.llvm.org/show_bug.cgi?id=27168

Differential Revision: https://reviews.llvm.org/D83136
The file was modifiedllvm/unittests/Analysis/AliasAnalysisTest.cpp
The file was modifiedllvm/lib/Bitcode/Reader/BitcodeReader.cpp
The file was modifiedllvm/lib/IR/Instructions.cpp
The file was modifiedllvm/include/llvm/IR/IRBuilder.h
The file was modifiedllvm/include/llvm/IR/Instructions.h
The file was modifiedllvm/lib/AsmParser/LLParser.cpp
Commit 8c2a613976075368a1f6e3ac3c9c8b1927b465ec by klimek
Hand Allocator and IdentifierTable into FormatTokenLexer.

This allows us to share the allocator in the future so we can create tokens while parsing.

Differential Revision: https://reviews.llvm.org/D83218
The file was modifiedclang/lib/Format/FormatTokenLexer.h
The file was modifiedclang/lib/Format/FormatTokenLexer.cpp
The file was modifiedclang/lib/Format/TokenAnalyzer.cpp
Commit 5e8084beba20f27ce14536168087e5c6971e292d by kerry.mclaughlin
[SVE][CodeGen] Legalisation of unpredicated load instructions

Summary:
When splitting a load of a scalable type, the new address is
calculated in SplitVecRes_LOAD using a vscale and an add instruction.

This patch also adds a DAG combiner fold to visitADD for vscale:
- Fold (add (vscale(C0)), (vscale(C1))) to (add (vscale(C0 + C1)))

Reviewers: sdesmalen, efriedma, david-arm

Reviewed By: david-arm

Subscribers: tschuett, hiraditya, rkruppe, psnobl, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D82792
The file was modifiedllvm/include/llvm/CodeGen/SelectionDAG.h
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
The file was addedllvm/test/CodeGen/AArch64/sve-split-load.ll
The file was modifiedllvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
The file was modifiedllvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
Commit 2d9bd448c9f051de088b53592f89871e9b390fba by grimar
[llvm-readobj] - Allow dumping partially corrupted SHT_LLVM_CALL_GRAPH_PROFILE sections.

The code we have currently reports an error if something is not right with the
profile section. Instead we can report a warning and continue dumping when it is possible.
This patch does it.

Differential revision: https://reviews.llvm.org/D83129
The file was modifiedllvm/tools/llvm-readobj/ELFDumper.cpp
The file was modifiedllvm/test/tools/llvm-readobj/ELF/call-graph-profile.test
Commit 2953ac0975bc7e5dbe61fbd6538f02487efa62d2 by grimar
[llvm-readobj] - Refactor ELFDumper<ELFT>::getStaticSymbolName.

This is a followup for D83129.
It is possible to make `getStaticSymbolName` report warnings inside
and return the "<?>" on a error. This allows to encapsulate errors handling
and slightly simplifies the logic in callers code.

Differential revision: https://reviews.llvm.org/D83208
The file was modifiedllvm/tools/llvm-readobj/ELFDumper.cpp
The file was modifiedllvm/test/tools/llvm-readobj/ELF/addrsig.test
Commit cdf2eef613f7d6949e2929b316925c3553a8e3d0 by kerry.mclaughlin
[SVE][CodeGen] Legalisation of unpredicated store instructions

Summary:
When splitting a store of a scalable type, the new address is
calculated in SplitVecOp_STORE using a vscale and an add instruction.

Reviewers: sdesmalen, efriedma, david-arm

Reviewed By: david-arm

Subscribers: tschuett, hiraditya, psnobl, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D83041
The file was modifiedllvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
The file was addedllvm/test/CodeGen/AArch64/sve-split-store.ll
Commit 8f0f7dbcea34e2e89fb0946067af3488c20c4532 by grimar
[llvm-readobj] - Split the printHashSymbols. NFCI.

This introduces `printHashTableSymbols` and
`printGNUHashTableSymbols` to split the `printHashSymbols`.

It makes the code more readable and consistent.

Differential revision: https://reviews.llvm.org/D83040
The file was modifiedllvm/tools/llvm-readobj/ELFDumper.cpp
Commit 0d656cb25dc760cdfe0adfdd7256651b7bd0bcab by grimar
[llvm-readobj] - Refine the error reporting in LLVMStyle<ELFT>::printELFLinkerOptions.

It is possible to:
1) Avoid using the `unwrapOrError` calls and hence allow to continue dumping even when
   something is not OK with one of SHT_LLVM_LINKER_OPTIONS sections.
2) replace `reportWarning` with `reportUniqueWarning` calls. In this method it is no-op,
   because it is not possible to have a duplicated warnings anyways, but since we probably
   want to switch to `reportUniqueWarning` globally, this is a good thing to do.

This patch addresses both these points.

Differential revision: https://reviews.llvm.org/D83131
The file was modifiedllvm/test/tools/llvm-readobj/ELF/linker-options.test
The file was modifiedllvm/tools/llvm-readobj/ELFDumper.cpp
Commit 3b1e3d22735b37eea3ce52d655009f5cd4ad2262 by hokein.wu
[clang-tidy] Fix an unused-raii check crash on objective-c++.

Differential Revision: https://reviews.llvm.org/D83293
The file was modifiedclang-tools-extra/clang-tidy/bugprone/UnusedRaiiCheck.cpp
The file was addedclang-tools-extra/test/clang-tidy/checkers/bugprone-unused-raii-crash.mm
Commit a256193afa4869ae749eaeec7548244772843da3 by grimar
[llvm-readobj] - Add prepending # to mips-got.test and mips-plt.test. NFC.

It was requested in D83225 review to do it separately.
The file was modifiedllvm/test/tools/llvm-readobj/ELF/mips-plt.test
The file was modifiedllvm/test/tools/llvm-readobj/ELF/mips-got.test
Commit de0175d04bc3679c7bd8dc64520e790bf38f30b0 by Raphael Isemann
[lldb] Make TestIOHandlerResizeNoEditline pass with Python 2

io.BytesIO seems to produce a stream in Python 2 which isn't recognized
as a file object in the SWIG API, so this test fails for Python 2 (and I assume
also an old SWIG version needs to be involved).

Instead just open an empty input file which is a file object in all Python
versions to make this test pass everywhere.
The file was modifiedlldb/test/API/iohandler/resize/TestIOHandlerResizeNoEditline.py
The file was addedlldb/test/API/iohandler/resize/input_file
Commit 7bf299c8d8d59304fb821f8811618cdeb1d1f1fd by ayal.zaks
[LV] Vectorize without versioning-for-unit-stride under -Os/-Oz

If a loop is in a function marked OptSize, Loop Access Analysis should refrain
from generating runtime checks for unit strides that will version the loop.

If a loop is in a function marked OptSize and its vectorization is enabled, it
should be vectorized w/o any versioning.

Fixes PR46228.

Differential Revision: https://reviews.llvm.org/D81345
The file was modifiedllvm/test/Transforms/LoopVectorize/optsize.ll
The file was modifiedllvm/lib/Transforms/Vectorize/LoopVectorize.cpp
The file was modifiedllvm/test/Transforms/LoopVectorize/X86/optsize.ll
The file was modifiedllvm/lib/Analysis/LoopAccessAnalysis.cpp
The file was modifiedllvm/test/Transforms/LoopVectorize/pr39417-optsize-scevchecks.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/runtime-check.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/X86/tail_loop_folding.ll
Commit b80508703fd7f88a7922c9c8f02c696be1db8034 by antiagainst
[mlir][spirv] Introduce OwningSPIRVModuleRef for ownership

Similar to OwningModuleRef, OwningSPIRVModuleRef signals ownership
transfer clearly. This is useful for APIs like spirv::deserialize,
where a spirv::ModuleOp is returned by deserializing SPIR-V binary
module.

This addresses the ASAN error as reported in
https://bugs.llvm.org/show_bug.cgi?id=46272

Differential Revision: https://reviews.llvm.org/D81652
The file was addedmlir/include/mlir/IR/OwningOpRefBase.h
The file was modifiedmlir/unittests/Dialect/SPIRV/DeserializationTest.cpp
The file was modifiedmlir/lib/Dialect/SPIRV/Serialization/Deserializer.cpp
The file was modifiedmlir/lib/Dialect/SPIRV/Serialization/TranslateRegistration.cpp
The file was addedmlir/include/mlir/Dialect/SPIRV/SPIRVModule.h
The file was modifiedmlir/include/mlir/Dialect/SPIRV/Serialization.h
The file was modifiedmlir/include/mlir/IR/Module.h
Commit cca4ac523e183b33be3d4c7da68d45b697a081bd by benny.kra
[mlir][VectorOps] Lower vector.outerproduct of int vectors

vector.fma and mulf don't work on integers. Use a muli/addi pair or
plain muli instead.

Differential Revision: https://reviews.llvm.org/D83292
The file was modifiedmlir/lib/Dialect/Vector/VectorTransforms.cpp
The file was modifiedmlir/test/Dialect/Vector/vector-contract-transforms.mlir
Commit 9b55bc4d1197aedd76b0f4e04270265cb74cd0b8 by sam.mccall
[clangd] Store index in '.cache/clangd/index' instead of '.clangd/index'

Summary:
.clangd/index was well-intentioned in 2754942cbaef, but `.clangd` is the best
filename for the clangd config file (matching .clang-format and .clang-tidy).
And of course we can't have both .clangd/index and .clangd...

There are a few overlapping goals to satisfy:
- it should be clear from the directory name that this is transient
   data that is safe to delete at the cost of recomputation, i.e. a cache
- it should be easy and self-documenting to blacklist these files in .gitignore
- we should have some consistency between filenames in-tree and
   corresponding files in user storage (e.g. under XDG's ~/.cache/)
- we should be consistent across platforms (including windows, which
   doesn't have distinct cache vs config directories)

So the plan is:
  $PROJECT/.clangd                    (project config)
  $PROJECT/.cache/clangd/index/       (project index)
  $PROJECT/.cache/clangd/modules/     (maybe in future)
  $XDG_CONFIG_HOME/clangd/config.yaml (user config)
  $XDG_CACHE_HOME/clangd/index/       (index of non-project files)
  $XDG_CACHE_HOME/clangd/modules/     (maybe in future)
This is sensible if XDG_{CONFIG,CACHE}_HOME coincide, and has a simple
.gitignore rule going forward: `.cache/`.

The monorepo gitignore is updated to reflect the backwards-compatible practice:
  ignore .clangd/ (with trailing slash) matching index files from clangd 9/10
  ignore .cache matching index from clangd 11+, and potentially other tools.
The entries from llvm-project/llvm gitignore are removed (obsolete).

Reviewers: kadircet, hokein

Subscribers: ilya-biryukov, MaskRay, jkorous, omtcyfz, arphaman, usaxena95, cfe-commits, llvm-commits

Tags: #clang, #llvm

Differential Revision: https://reviews.llvm.org/D83099
The file was modifiedllvm/.gitignore
The file was modified.gitignore
The file was modifiedclang-tools-extra/clangd/index/Background.h
The file was modifiedclang-tools-extra/clangd/index/BackgroundIndexStorage.cpp
The file was modifiedclang-tools-extra/clangd/test/background-index.test
Commit 4a3c3d741a1711e0da618e4fdaee0b74dd2d6ace by grimar
[llvm-readobj] - Don't abort when dumping dynamic relocations when an object has both REL and RELA.

Currently, llvm-readobj calls `report_fatal_error` when an object has
both REL and RELA dynamic relocations.

llvm-readelf is able to handle this case properly. This patch adds such a test case
and adjusts the llvm-readobj code to follow (and be consistent with its own RELR and PLTREL cases).

Differential revision: https://reviews.llvm.org/D83232
The file was modifiedllvm/test/tools/llvm-readobj/ELF/broken-dynamic-reloc.test
The file was modifiedllvm/tools/llvm-readobj/ELFDumper.cpp
Commit f7522a5823d66303edfd8d872232dd6b07190f42 by grimar
[llvm-readobj] - Fix indentation in broken-dynamic-reloc.test. NFC.

Fix a broken indentation introduced my myself in rG4a3c3d741a17.
The file was modifiedllvm/test/tools/llvm-readobj/ELF/broken-dynamic-reloc.test
Commit 41bbb875e4da392ae37300d3a6282b6595f14503 by n.james93
[NFC] Use hasAnyName matcher in place of anyOf(hasName()...)
The file was modifiedclang-tools-extra/clang-tidy/cert/DontModifyStdNamespaceCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/bugprone/MisplacedPointerArithmeticInAllocCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/bugprone/MisplacedOperatorInStrlenInAllocCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/cert/CommandProcessorCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/bugprone/SpuriouslyWakeUpFunctionsCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/modernize/AvoidBindCheck.cpp
The file was modifiedclang-tools-extra/clang-move/Move.cpp
The file was modifiedclang-tools-extra/clang-tidy/modernize/LoopConvertCheck.cpp
The file was modifiedclang/lib/StaticAnalyzer/Checkers/UninitializedObject/UninitializedObjectChecker.cpp
The file was modifiedclang-tools-extra/clang-tidy/llvm/PreferIsaOrDynCastInConditionalsCheck.cpp
Commit e7abed3d48ec40350006bc76ad5c6c1f64b1bfad by grimar
[llvm-readobj] - Refactor the MipsGOTParser<ELFT> to stop using report_fatal_error().

`MipsGOTParser` is a helper class that is used to dump MIPS GOT and PLT.
There is a problem with it: it might call report_fatal_error() on invalid input.
When this happens, the tool reports a crash:

```
# command stderr:
LLVM ERROR: Cannot find PLTGOT dynamic table tag.
PLEASE submit a bug report to https://bugs.llvm.org/ and include the crash backt
race.
Stack dump:
...
```

Such error were not tested. In this patch I've refactored `MipsGOTParser`:

I've splitted handling of GOT and PLT to separate methods. This allows to propagate
any possible errors to caller and should allow to dump the PLT when something is wrong
with the GOT and vise versa in the future.

I've added tests for each `report_fatal_error()`
and now calling the `reportError` instead. In the future we might want to switch to
reporting warnings, but it requres the additional testing and should
be performed independently.

I've kept `unwrapOrError` calls untouched for now as I'd like to focus on eliminating
`report_fatal_error` calls in this patch only.

Differential revision: https://reviews.llvm.org/D83225
The file was modifiedllvm/tools/llvm-readobj/ELFDumper.cpp
The file was modifiedllvm/test/tools/llvm-readobj/ELF/mips-got.test
The file was modifiedllvm/test/tools/llvm-readobj/ELF/mips-plt.test
Commit ed39becd274dae5537c24b2107737d718527e718 by jdenny.ornl
[OpenMP][NFC] Remove hard-coded line numbers from more tests

This is a continuation of D82224.

Reviewed By: grokos

Differential Revision: https://reviews.llvm.org/D83057
The file was modifiedclang/test/OpenMP/target_defaultmap_codegen.cpp
The file was modifiedclang/test/OpenMP/target_map_codegen.cpp
Commit ea85ff82c82687496453bc14c4ac60548a42d8f3 by chen3.liu
[X86] Fix a bug that when lowering byval argument

When an argument has 'byval' attribute and should be
passed on the stack according calling convention,
a stack copy would be emitted twice. This will cause
the real value will be put into stack where the pointer
should be passed.

Differential Revision: https://reviews.llvm.org/D83175
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.h
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/test/CodeGen/X86/win64-byval.ll
Commit 16266e63963ad6ee27ad21983a9366ab313dfd03 by lebedev.ri
[Scalarizer] When gathering scattered scalar, don't replace it with itself

The (previously-crashing) test-case would cause us to seemingly-harmlessly
replace some use with something else, but we can't replace it with itself,
so we would crash.
The file was modifiedllvm/lib/Transforms/Scalar/Scalarizer.cpp
The file was modifiedllvm/test/Transforms/Scalarizer/crash-bug.ll
Commit 72ae70032ca3fa3e3bd9a3524bf245d5978c0467 by pavel
[lldb/test] Fix lldbutil.run_to_***_breakpoint for shared libraries

Even non-remote targets may need to set the launch environment
((DY)LD_LIBRARY_PATH, specifically) to run successfully.

Also, add an assertion to better detect the case when launching a target
fails and the breakpoint is never hit.
The file was modifiedlldb/packages/Python/lldbsuite/test/lldbutil.py
Commit c9fb7f81715a321a00096e0463b0e8635204641e by a.bataev
[DEBUGINFO]Add dwarf versions to the test, NFC.
The file was modifiedllvm/test/DebugInfo/X86/packed_bitfields.ll
Commit c5348aecd7723e7aa7b18406d0c97724c0659f34 by tianshilei1992
[OpenMP] Use primary context in CUDA plugin

Summary:
Retaining per device primary context is preferred to creating a context owned by the plugin.

From CUDA documentation
1. Note that the use of multiple CUcontext s per device within a single process will substantially degrade performance and is strongly discouraged. Instead, it is highly recommended that the implicit one-to-one device-to-context mapping for the process provided by the CUDA Runtime API be used." from https://docs.nvidia.com/cuda/cuda-runtime-api/group__CUDART__DRIVER.html
2. Right under cuCtxCreate. In most cases it is recommended to use cuDevicePrimaryCtxRetain. https://docs.nvidia.com/cuda/cuda-driver-api/group__CUDA__CTX.html#group__CUDA__CTX_1g65dc0012348bc84810e2103a40d8e2cf
3. The primary context is unique per device and shared with the CUDA runtime API. These functions allow integration with other libraries using CUDA.  https://docs.nvidia.com/cuda/cuda-driver-api/group__CUDA__PRIMARY__CTX.html#group__CUDA__PRIMARY__CTX

Two issues are addressed by this patch:
1. Not using the primary context caused interoperability issue with libraries like cublas, cusolver. CUBLAS_STATUS_EXECUTION_FAILED and cudaErrorInvalidResourceHandle
2. On OLCF summit, "Error returned from cuCtxCreate" and "CUDA error is: invalid device ordinal"

Regarding the flags of the primary context. If it is inactive, we set CU_CTX_SCHED_BLOCKING_SYNC. If it is already active, we respect the current flags.

Reviewers: grokos, ABataev, jdoerfert, protze.joachim, AndreyChurbanov, Hahnfeld

Reviewed By: jdoerfert

Subscribers: openmp-commits, yaxunl, guansong, sstefan1, tianshilei1992

Tags: #openmp

Differential Revision: https://reviews.llvm.org/D82718
The file was modifiedopenmp/libomptarget/plugins/cuda/src/rtl.cpp
Commit 85f5d1261c9a3f0abc4ae370005a1127174f2ce1 by 1.int32
[ASTImporter] Corrected import of repeated friend declarations.

Summary:
Import declarations in correct order if a class contains
multiple redundant friend (type or decl) declarations.
If the order is incorrect this could cause false structural
equivalences and wrong declaration chains after import.

Reviewers: a.sidorin, shafik, a_sidorin

Reviewed By: shafik

Subscribers: dkrupp, Szelethus, gamesh411, teemperor, martong, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D75740
The file was modifiedclang/lib/AST/ASTImporter.cpp
The file was modifiedclang/unittests/AST/ASTImporterTest.cpp
The file was modifiedclang/unittests/AST/StructuralEquivalenceTest.cpp
Commit 216a54a04b9b25fe6d1bcf7f516befd87bc0d976 by eschweitz
[flang] Add lowering of I/O statements.

The IO module is where I/O related statements are lowered to calls to the runtime library.

Differential revision: https://reviews.llvm.org/D83267
The file was addedflang/lib/Lower/IO.cpp
The file was addedflang/include/flang/Lower/IO.h
The file was modifiedflang/lib/Lower/CMakeLists.txt
Commit abdd367b200a0bf4176dbdaf200b23f750a35cb0 by gchatelet
[Bitfields][NFC] Make sure bitfields are contiguous

Differential Revision: https://reviews.llvm.org/D83202
The file was modifiedllvm/include/llvm/ADT/Bitfields.h
The file was modifiedllvm/include/llvm/IR/InstrTypes.h
The file was modifiedllvm/include/llvm/IR/Instruction.h
The file was modifiedllvm/include/llvm/IR/Instructions.h
The file was modifiedllvm/unittests/ADT/BitFieldsTest.cpp
Commit 082e3952300003ecf2eaa6bf346ae2e783b7a02e by rithiksh02
[CodeMoverUtils] Make specific analysis dependent checks optional

Summary: This patch makes code motion checks optional which are dependent on
specific analysis example, dominator tree, post dominator tree and dependence
info. The aim is to make the adoption of CodeMoverUtils easier for clients that
don't use analysis which were strictly required by CodeMoverUtils. This will
also help in diversifying code motion checks using other analysis example MSSA.
Authored By: RithikSharma
Reviewer: Whitney, bmahjour, etiotto
Reviewed By: Whitney
Subscribers: Prazek, hiraditya, george.burgess.iv, asbirlea, llvm-commits
Tag: LLVM
Differential Revision: https://reviews.llvm.org/D82566
The file was modifiedllvm/lib/Transforms/Utils/CodeMoverUtils.cpp
The file was modifiedllvm/lib/Transforms/Scalar/LoopFuse.cpp
The file was modifiedllvm/unittests/Transforms/Utils/CodeMoverUtilsTest.cpp
The file was modifiedllvm/include/llvm/Transforms/Utils/CodeMoverUtils.h
Commit 52495b98eecefcbaea2e30edec6816e43653d175 by pavel
[lldb/Utility] Fix float->integral conversions in Scalar APInt getters

These functions were doing a bitcast on the float value, which is not
consistent with the other getters, which were doing a numeric conversion
(47.0 -> 47). Change these to do numeric conversions too.
The file was modifiedlldb/source/Utility/Scalar.cpp
The file was modifiedlldb/unittests/Utility/ScalarTest.cpp
Commit b0d3ea171bd56b3b079be9213935925e1499df15 by n.james93
[ASTMatchers] Added hasDirectBase Matcher

Adds a matcher called `hasDirectBase` for matching the `CXXBaseSpecifier` of a class that directly derives from another class.

Reviewed By: aaron.ballman

Differential Revision: https://reviews.llvm.org/D81552
The file was modifiedclang/unittests/ASTMatchers/ASTMatchersNarrowingTest.cpp
The file was modifiedclang/docs/LibASTMatchersReference.html
The file was modifiedclang/lib/ASTMatchers/Dynamic/Registry.cpp
The file was modifiedclang/include/clang/ASTMatchers/ASTMatchers.h
Commit 1a2f4824cb2d472649e65f845510ac0e47ca98c1 by daltenty
[Clang] Handle AIX Include management in the driver

Summary: Modify the AIX clang toolchain to include AIX dependencies in the search path

Reviewers: daltenty, stevewan, hubert.reinterpretcast

Reviewed By: daltenty, stevewan, hubert.reinterpretcast

Subscribers: ormris, hubert.reinterpretcast, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D82677
The file was modifiedclang/lib/Frontend/InitHeaderSearch.cpp
The file was addedclang/test/Driver/aix-toolchain-include.cpp
The file was modifiedclang/lib/Driver/ToolChains/AIX.h
The file was modifiedclang/lib/Driver/ToolChains/AIX.cpp
Commit 7fa7b81bcbd040d036f9a4155486ccebc3c13be7 by omair.javaid
Combine multiple defs of arm64 register sets

Summary:
This patch aims to combine similar arm64 register set definitions defined in NativeRegisterContextLinux_arm64 and RegisterContextPOSIX_arm64.
I have implemented a register set interface out of RegisterInfoInterface class and moved arm64 register sets into RegisterInfosPOSIX_arm64 which is similar to Utility/RegisterContextLinux_* implemented by various other targets. This will help in managing register sets of new ARM64 architecture features in one place.

Built and tested on x86_64-linux-gnu, aarch64-linux-gnu and arm-linux-gnueabihf targets.

Reviewers: labath

Reviewed By: labath

Subscribers: mhorne, emaste, kristof.beyls, atanasyan, danielkiss, lldb-commits

Differential Revision: https://reviews.llvm.org/D80105
The file was modifiedlldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64.cpp
The file was modifiedlldb/source/Plugins/Process/Utility/NativeRegisterContextRegisterInfo.h
The file was modifiedlldb/source/Plugins/Process/Utility/RegisterContextPOSIX_arm64.h
The file was modifiedlldb/source/Plugins/Process/Utility/RegisterInfoPOSIX_arm64.cpp
The file was modifiedlldb/source/Plugins/Process/Utility/RegisterInfoPOSIX_arm64.h
The file was modifiedlldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_arm64.h
The file was modifiedlldb/source/Plugins/Process/Linux/NativeRegisterContextLinux.h
The file was modifiedlldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_arm64.cpp
The file was modifiedlldb/source/Plugins/Process/Utility/RegisterContextPOSIX_arm64.cpp
The file was modifiedlldb/source/Plugins/Process/elf-core/ThreadElfCore.cpp
The file was addedlldb/source/Plugins/Process/Utility/RegisterInfoAndSetInterface.h
The file was modifiedlldb/source/Plugins/Process/FreeBSD/FreeBSDThread.cpp
The file was modifiedlldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64.h
The file was modifiedlldb/source/Plugins/Process/FreeBSD/RegisterContextPOSIXProcessMonitor_arm64.cpp
The file was modifiedlldb/source/Plugins/Process/FreeBSD/RegisterContextPOSIXProcessMonitor_arm64.h
Commit e10e034f4bb7d3c639cc65a8d60147ff1e330e56 by joker.eph
Revert "Create the framework and testing environment for MLIR Reduce - a tool"

This reverts commit 28a45d54a7fe722248233165fc7fdbd18d18d233.

Windows bot is broken with:

LLVM ERROR: Error running interestingness test: posix_spawn failed: Permission denied
The file was removedmlir/test/mlir-reduce/test.bat
The file was removedmlir/test/mlir-reduce/test.sh
The file was modifiedmlir/lib/CMakeLists.txt
The file was removedmlir/lib/Reducer/Tester.cpp
The file was removedmlir/test/mlir-reduce/testcase-windows.mlir
The file was removedmlir/tools/mlir-reduce/mlir-reduce.cpp
The file was modifiedmlir/test/CMakeLists.txt
The file was modifiedmlir/tools/CMakeLists.txt
The file was removedmlir/include/mlir/Reducer/Tester.h
The file was removedmlir/tools/mlir-reduce/CMakeLists.txt
The file was removedmlir/lib/Reducer/CMakeLists.txt
The file was removedmlir/test/mlir-reduce/testcase-linux.mlir
Commit 1c956a3eb934fffd719ab027829d616e762eca2d by spatel
[x86] add test for buildvector lowering miscompile (PR46586); NFC
The file was modifiedllvm/test/CodeGen/X86/buildvec-insertvec.ll
Commit c64bb3f7367a924e9d17dfccccc1c92897e6cbe1 by enye.shi
[HIP] Use default triple in llvm-mc for system ld

The Ubuntu system ld does not recognize the amdgcn-amd-amdhsa target.
Instead the host object with embedded device fat binary should not be
assembled by that triple. It should use default triple, so that the
object is compatible with system ld.

Reviewed By: yaxunl

Differential Revision: https://reviews.llvm.org/D83145
The file was modifiedclang/test/Driver/hip-link-save-temps.hip
The file was modifiedclang/lib/Driver/ToolChains/HIP.cpp
The file was modifiedclang/test/Driver/hip-toolchain-rdc-separate.hip
The file was modifiedclang/test/Driver/hip-toolchain-rdc-static-lib.hip
The file was modifiedclang/test/Driver/hip-toolchain-rdc.hip
Commit 09b81a72ac67c035f74ff369e6862d75cc4c4090 by maskray
[ELF] Ignore --no-relax for RISC-V

In GNU ld, --no-relax can disable x86-64 GOTPCRELX relaxation.
It is not useful, so we don't implement it.

For RISC-V, --no-relax disables linker relaxations which have larger
impact.
Linux kernel specifies --no-relax when CONFIG_DYNAMIC_FTRACE is specified
(since http://git.kernel.org/linus/a1d2a6b4cee858a2f27eebce731fbf1dfd72cb4e ).
LLD has not implemented the relaxations, so this option is a no-op.

Reviewed By: grimar

Differential Revision: https://reviews.llvm.org/D81359
The file was modifiedlld/docs/ld.lld.1
The file was modifiedlld/test/ELF/silent-ignore.test
The file was modifiedlld/ELF/Options.td
Commit 9ee90a490563a735ddaa739a34c2204c7494826f by akhuang
[NativeSession] Add column numbers to NativeLineNumber.

Summary:
This adds column numbers if they are present, and otherwise
sets the column number to be zero.

Bug: https://bugs.llvm.org/show_bug.cgi?id=41795

Reviewers: amccarth

Subscribers: hiraditya, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D81950
The file was modifiedllvm/test/tools/llvm-symbolizer/pdb/Inputs/test.cpp
The file was addedllvm/test/tools/llvm-symbolizer/pdb/pdb-native-columns.test
The file was modifiedllvm/lib/DebugInfo/PDB/Native/NativeLineNumber.cpp
The file was modifiedllvm/include/llvm/DebugInfo/PDB/Native/NativeLineNumber.h
The file was modifiedllvm/include/llvm/DebugInfo/PDB/Native/SymbolCache.h
The file was modifiedllvm/lib/DebugInfo/PDB/Native/SymbolCache.cpp
The file was addedllvm/test/tools/llvm-symbolizer/pdb/Inputs/test-columns.exe
The file was addedllvm/test/tools/llvm-symbolizer/pdb/Inputs/test-columns.pdb
Commit 642eed37134db4aca953704d1e4ae856af675f51 by spatel
[x86] fix miscompile in buildvector v16i8 lowering

In the test based on PR46586:
https://bugs.llvm.org/show_bug.cgi?id=46586
...we are inserting 16-bits into the high element of the vector, shuffling it
to element 0, and extracting 32-bits. But xmm1 was never initialized, so the
top 16-bits of the extract are undef without this patch.

(It seems like we could do better than this by recognizing that we only demand
a subsection of the build vector, but I want to make sure we fix the
miscompile 1st.)

This path is only used for pre-SSE4.1, and simpler patterns get squashed
somewhere along the way, so the test still includes a 'urem' as it did in the
original test from the bug report.

Differential Revision: https://reviews.llvm.org/D83319
The file was modifiedllvm/test/CodeGen/X86/buildvec-insertvec.ll
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
Commit 7fc279ca3d414c0997998cb30d1adc2c63c837a5 by hans
[GlobalOpt] Don't remove inalloca from musttail-called functions

Otherwise the verifier complains about the mismatching function ABIs.

Differential revision: https://reviews.llvm.org/D83300
The file was modifiedllvm/test/Transforms/GlobalOpt/fastcc.ll
The file was modifiedllvm/lib/Transforms/IPO/GlobalOpt.cpp
Commit 5e9b16b67f5b9543e8d22b5b0f22cc0980c310bd by Jonas Devlieghere
[lldb] Fix unaligned load in DataExtractor

Somehow UBSan would only report the unaligned load in TestLinuxCore.py
when running the tests with reproducers. This patch fixes the issue by
using a memcpy in the GetDouble and the GetFloat method.

Differential revision: https://reviews.llvm.org/D83256
The file was modifiedlldb/unittests/Utility/DataExtractorTest.cpp
The file was modifiedlldb/include/lldb/Utility/DataExtractor.h
The file was modifiedlldb/source/Utility/DataExtractor.cpp
Commit 888951aaca583bcce85b42ea6166416db8f96fe0 by Dan Liew
Disable interception of sigaltstack on i386 macOS.

Summary:
28c91219c7e introduced an interceptor for `sigaltstack`. It turns out this
broke `setjmp` on i386 macOS. This is because the implementation of `setjmp` on
i386 macOS is written in assembly and makes the assumption that the call to
`sigaltstack` does not clobber any registers.  Presumably that assumption was
made because it's a system call.  In particular `setjmp`  assumes that before
and after the call that `%ecx` will contain a pointer the `jmp_buf`. The
current interceptor breaks this assumption because it's written in C++ and
`%ecx` is not a callee-saved register. This could be fixed by writing a
trampoline interceptor to the existing interceptor in assembly that
ensures all the registers are preserved. However, this is a lot of work
for very little gain. Instead this patch just disables the interceptor
on i386 macOS.

For other Darwin architectures it currently appears to be safe to intercept
`sigaltstack` using the current implementation because:

* `setjmp` for x86_64 saves the pointer `jmp_buf` to the stack before calling `sigaltstack`.
* `setjmp` for armv7/arm64/arm64_32/arm64e appears to not call `sigaltstack` at all.

This patch should unbreak (once they are re-enabled) the following
tests:

```
AddressSanitizer-Unit :: ./Asan-i386-calls-Test/AddressSanitizer.LongJmpTest
AddressSanitizer-Unit :: ./Asan-i386-calls-Test/AddressSanitizer.SigLongJmpTest
AddressSanitizer-Unit :: ./Asan-i386-inline-Test/AddressSanitizer.LongJmpTest
AddressSanitizer-Unit :: ./Asan-i386-inline-Test/AddressSanitizer.SigLongJmpTest
AddressSanitizer-i386-darwin :: TestCases/longjmp.cpp
```

This patch introduces a `SANITIZER_I386` macro for convenience.

rdar://problem/62141412

Reviewers: kubamracek, yln, eugenis

Subscribers: kristof.beyls, #sanitizers, llvm-commits

Tags: #sanitizers

Differential Revision: https://reviews.llvm.org/D82691
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_platform_interceptors.h
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_platform.h
Commit 8a8d6e2b727112fafc52477acaf25affb62b6e65 by Dan Liew
Revert "Temporarily disable the following failing tests on Darwin:"

This reverts commit f3a089506fdcc4a1d658697009572c93e00c4373.

888951aaca583bcce85b42ea6166416db8f96fe0 introduced a fix that
should make the disabled tests work again.

rdar://problem/62141412
The file was modifiedcompiler-rt/lib/asan/tests/asan_test.cpp
Commit 6cf0dac1ca3fd56c51f6a60f0be01cc25a1a2c6a by jennifer.yu
orrectly generate invert xor value for Binary Atomics of int size > 64

When using __sync_nand_and_fetch with __int128, a problem is found that
the wrong value for the 'invert' value gets emitted to the xor in case
where the int size is greater than 64 bits.

This is because uses of llvm::ConstantInt::get which zero extends the
greater than 64 bits, so instead -1 that we require, it end up
getting 18446744073709551615

This patch replaces the call to llvm::ConstantInt::get with the call
to llvm::Constant::getAllOnesValue which works for all integer types.

Reviewers: jfp, erichkeane, rjmccall, hfinkel

Differential Revision: https://reviews.llvm.org/D82832
The file was modifiedclang/test/CodeGen/Atomics.c
The file was modifiedclang/lib/CodeGen/CGBuiltin.cpp
Commit 62ba48b45f6525a3e453b54a6e5562d2f3dc7324 by lei
[PowerPC] Implement Vector Replace Builtins in LLVM

Provide the LLVM intrinsics needed to implement vector replace element
builtins in altivec.h which will be added in a subsequent patch.

Differential Revision: https://reviews.llvm.org/D83308
The file was modifiedllvm/lib/Target/PowerPC/PPCInstrPrefix.td
The file was modifiedllvm/include/llvm/IR/IntrinsicsPowerPC.td
The file was modifiedllvm/test/CodeGen/PowerPC/builtins-ppc-p10permute.ll
Commit 7437a9496528b838e6939dbcbb69a0acb5e1332d by erik.pilkington
[SemaObjC] Add a warning for @selector expressions that potentially refer to objc_direct methods

By default, only warn when the selector matches a direct method in the current
class. This commit also adds a more strict off-by-default warning when there
isn't a non-direct method in the current class.

rdar://64621668

Differential revision: https://reviews.llvm.org/D82611
The file was modifiedclang/lib/Sema/SemaExprObjC.cpp
The file was modifiedclang/include/clang/Basic/DiagnosticSemaKinds.td
The file was addedclang/test/SemaObjC/potentially-direct-selector.m
The file was modifiedclang/include/clang/Basic/DiagnosticGroups.td
Commit 2f71cf6d77c5cc679968851080d0513d84ddccb6 by erik.pilkington
[SemaObjC] Fix a -Wobjc-signed-char-bool false-positive with binary conditional operator

We were previously bypassing the conditional expression special case for binary
conditional expressions.

rdar://64134411

Differential revision: https://reviews.llvm.org/D81751
The file was modifiedclang/lib/Sema/SemaChecking.cpp
The file was modifiedclang/test/SemaObjC/signed-char-bool-conversion.m
Commit 79b30af0ec53de7c7e3378465124ff1026a77f75 by clattner
Expand the LLVM Developer Policy to include new sections on adding
a project to the LLVM Monorepo, and a second about the LLVM
Incubator projects.

Differential Revision: https://reviews.llvm.org/D83182
The file was modifiedllvm/docs/DeveloperPolicy.rst
Commit dfa0db79d0e37d5cf24a63d1e2b7ba5f40617574 by aaron
Warn pointer captured in async block

The block arguments in dispatch_async() and dispatch_after() are
guaranteed to escape. If those blocks capture any pointers with the
noescape attribute then it is an error.
The file was modifiedclang-tools-extra/clang-tidy/bugprone/CMakeLists.txt
The file was addedclang-tools-extra/test/clang-tidy/checkers/bugprone-no-escape.m
The file was addedclang-tools-extra/clang-tidy/bugprone/NoEscapeCheck.cpp
The file was addedclang-tools-extra/clang-tidy/bugprone/NoEscapeCheck.h
The file was modifiedclang-tools-extra/docs/ReleaseNotes.rst
The file was modifiedclang-tools-extra/clang-tidy/bugprone/BugproneTidyModule.cpp
The file was addedclang-tools-extra/docs/clang-tidy/checks/bugprone-no-escape.rst
The file was modifiedclang-tools-extra/docs/clang-tidy/checks/list.rst
Commit 3030e6b94b21f4d37ada6bef7cde6920415409d8 by llvm-dev
[X86][AVX] Add AVX2 tests to extractelement-load.ll
The file was modifiedllvm/test/CodeGen/X86/extractelement-load.ll
Commit 6cff71e92e644adf5eab8cb411e5ac053746bbac by llvm-dev
[X86][AVX] Add test case showing incorrect extraction from VBROADCAST_LOAD on AVX2 targets

On AVX2 we tend to lower BUILD_VECTOR of constants as broadcasts if we can, in this case a <2 x i16> non-uniform constant has been lowered as a <4 x i32> broadcast.

The test case shows that the extraction folding code has incorrectly extracted the wrong part (lower WORD) of the resulting i32 memory source.

Found by internal fuzzing tests.
The file was modifiedllvm/test/CodeGen/X86/extractelement-load.ll
Commit a084b94f1198df600fff0632ad54fe6121e23943 by silvasean
[mlir] Convert function signatures before converting globals

Summary: This allows global initializers to reference functions.

Differential Revision: https://reviews.llvm.org/D83266
The file was modifiedmlir/lib/Target/LLVMIR/ModuleTranslation.cpp
The file was modifiedmlir/test/Target/llvmir.mlir
The file was modifiedmlir/include/mlir/Target/LLVMIR/ModuleTranslation.h
Commit 1143f09678f42352620d373939b0655e7a332268 by aeubanks
[NewPM][LoopFusion] Rename loop-fuse -> loop-fusion

The legacy pass name is "loop-fusion".

Fixes most tests under Transforms/LoopFusion under NPM.

Reviewed By: Whitney

Differential Revision: https://reviews.llvm.org/D83066
The file was modifiedllvm/lib/Passes/PassRegistry.def
Commit 1a2ed71a8a81a61e98a9f50fe5fa64b36e722632 by pifon
[mlir] Support unranked types in func signature conversion in BufferPlacement.

Currently, only ranked tensor args and results can be converted to memref types.

Differential Revision: https://reviews.llvm.org/D83324
The file was modifiedmlir/test/Transforms/buffer-placement-preparation-allowed-memref-results.mlir
The file was modifiedmlir/test/Transforms/buffer-placement-preparation.mlir
The file was modifiedmlir/lib/Transforms/BufferPlacement.cpp
Commit 83158cf95dd7fd9fa8a1eb515f16bf47856601ef by aeubanks
[BasicAA] Remove -basicaa alias

Follow up of https://reviews.llvm.org/D82607.

Reviewed By: ychen

Differential Revision: https://reviews.llvm.org/D83067
The file was modifiedllvm/test/Analysis/BasicAA/empty.ll
The file was modifiedllvm/include/llvm/IR/LegacyPassNameParser.h
Commit 0d7286a652371bca460357348f3b4828cd4ca214 by tlively
[WebAssembly] Avoid scalarizing vector shifts in more cases

Since WebAssembly's vector shift instructions take a scalar shift
amount rather than a vector shift amount, we have to check in ISel
that the vector shift amount is a splat. Previously, we were checking
explicitly for splat BUILD_VECTOR nodes, but this change uses the
standard utilities for detecting splat values that can handle more
complex splat patterns. Since the C++ ISel lowering is now more
general than the ISel patterns, this change also simplifies shift
lowering by using the C++ lowering for all SIMD shifts rather than
mixing C++ and normal pattern-based lowering.

This change improves ISel for shifts to the point that the
simd-shift-unroll.ll regression test no longer tests the code path it
was originally meant to test. The bug corresponding to that regression
test is no longer reproducible with its original reported reproducer,
so rather than try to fix the regression test, this change just
removes it.

Differential Revision: https://reviews.llvm.org/D83278
The file was addedllvm/test/CodeGen/WebAssembly/simd-shift-complex-splats.ll
The file was removedllvm/test/CodeGen/WebAssembly/simd-shift-unroll.ll
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyInstrSIMD.td
Commit 907f15c5914187b2831977e10599bede6bbafe72 by llvmgnsyncbot
[gn build] Port dfa0db79d0e
The file was modifiedllvm/utils/gn/secondary/clang-tools-extra/clang-tidy/bugprone/BUILD.gn
Commit aef04d3306bff492f69f50675f65c9c4eedfab57 by aaron
Speculatively fix the sphinx build.
The file was modifiedclang-tools-extra/docs/clang-tidy/checks/bugprone-no-escape.rst
Commit 80a1b95b8e72674cef7efb39636dc73c248ae6f3 by ulrich.weigand
[SystemZ ABI] Allow class types in GetSingleElementType

The SystemZ ABI specifies that aggregate types with just a single
member of floating-point type shall be passed as if they were just
a scalar of that type.  This applies to both struct and class types
(but not unions).

However, the current ABI support code in clang only checks this
case for struct types, which means that for class types, generated
code does not adhere to the platform ABI.

Fixed by accepting both struct and class types in the
SystemZABIInfo::GetSingleElementType routine.
The file was modifiedclang/lib/CodeGen/TargetInfo.cpp
The file was modifiedclang/test/CodeGen/systemz-abi.cpp
The file was modifiedclang/test/CodeGen/systemz-abi.c
Commit dfabffb195ee7c9f9db327f29feb781cbec53724 by zbrid
[x86][lvi][seses] Use SESES at O0 for LVI mitigation

Use SESES as the fallback at O0 where the optimized LVI pass isn't desired due
to its effect on build times at O0.

I updated the LVI tests since this changes the code gen for the tests touched in the parent revision.

This is a follow up to the comments I made here: https://reviews.llvm.org/D80964

Hopefully we can continue the discussion here.

Also updated SESES to handle LFENCE instructions properly instead of adding
redundant LFENCEs. In particular, 1) no longer add LFENCE if the current
instruction being processed is an LFENCE and 2) no longer add LFENCE if the
instruction right before the instruction being processed is an LFENCE

Reviewed By: sconstab

Differential Revision: https://reviews.llvm.org/D82037
The file was modifiedllvm/test/CodeGen/X86/lvi-hardening-loads.ll
The file was modifiedllvm/lib/Target/X86/X86TargetMachine.cpp
The file was modifiedllvm/lib/Target/X86/X86LoadValueInjectionLoadHardening.cpp
The file was modifiedllvm/test/CodeGen/X86/O0-pipeline.ll
The file was modifiedllvm/lib/Target/X86/X86SpeculativeExecutionSideEffectSuppression.cpp
The file was modifiedllvm/lib/Target/X86/X86.h
Commit 931ec74f7a29f53e18b574dc9500012ecbeba23a by llvm-dev
[X86][AVX] Don't fold PEXTR(VBROADCAST_LOAD(X)) -> LOAD(X).

We were checking the VBROADCAST_LOAD element size against the extraction destination size instead of the extracted vector element size - PEXTRW/PEXTB have implicit zext'ing so have i32 destination sizes for v8i16/v16i8 vectors, resulting in us extracting from the wrong part of a load.

This patch bails from the fold if the vector element sizes don't match, and we now use the target constant extraction code later on like the pre-AVX2 targets, fixing the test case.

Found by internal fuzzing tests.
The file was modifiedllvm/test/CodeGen/X86/extractelement-load.ll
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
Commit 9dfea0351797e1e10b6e28e290c134c179eba504 by nikita.ppv
[SCCP] Handle assume predicates

Take assume predicates into account when visiting ssa.copy. The
handling is the same as for branch predicates, with the difference
that we're always on the true edge.

Differential Revision: https://reviews.llvm.org/D83257
The file was modifiedllvm/lib/Transforms/Scalar/SCCP.cpp
The file was addedllvm/test/Transforms/SCCP/assume.ll
Commit 7177e63fb554cfac3c252327e344fb5a17d6bd65 by medismail.bennani
[lldb/Core] Fix crash in ValueObject::CreateChildAtIndex

The patch fixes a crash in ValueObject::CreateChildAtIndex caused by a
null pointer dereferencing. This is a corner case that is happening when
trying to dereference a variable with an incomplete type, and this same
variable doesn't have a synthetic value to get the child ValueObject.

If this happens, lldb will now return a null pointer that will results
in an error message.

rdar://65181171

Signed-off-by: Med Ismail Bennani <medismail.bennani@gmail.com>
The file was addedlldb/test/API/functionalities/target_var/main.c
The file was removedlldb/test/API/functionalities/target_var/globals.ll
The file was removedlldb/test/API/functionalities/target_var/globals.c
The file was modifiedlldb/source/Core/ValueObject.cpp
The file was modifiedlldb/test/API/functionalities/target_var/Makefile
The file was modifiedlldb/test/API/functionalities/target_var/TestTargetVar.py
Commit a707da4728dea51c1446cf582a46fb271f3969c3 by vyng
Clang crashed while checking for deletion of copy and move ctors

    Crash:
       @     0x559d129463fc  clang::CXXRecordDecl::defaultedCopyConstructorIsDeleted()
        @     0x559d1288d3e5  clang::Sema::checkIllFormedTrivialABIStruct()::$_7::operator()()
        @     0x559d12884c34  clang::Sema::checkIllFormedTrivialABIStruct()
        @     0x559d1288412e  clang::Sema::CheckCompletedCXXClass()
        @     0x559d1288d843  clang::Sema::ActOnFinishCXXMemberSpecification()
        @     0x559d12020109  clang::Parser::ParseCXXMemberSpecification()
        @     0x559d1201e80c  clang::Parser::ParseClassSpecifier()
        @     0x559d1204e807  clang::Parser::ParseDeclarationSpecifiers()
        @     0x559d120e9aa9  clang::Parser::ParseSingleDeclarationAfterTemplate()
        @     0x559d120e8f21  clang::Parser::ParseTemplateDeclarationOrSpecialization()
        @     0x559d120e8886  clang::Parser::ParseDeclarationStartingWithTemplate()
        @     0x559d1204a1d4  clang::Parser::ParseDeclaration()
        @     0x559d12004b1d  clang::Parser::ParseExternalDeclaration()
        @     0x559d12017689  clang::Parser::ParseInnerNamespace()
        @     0x559d12017024  clang::Parser::ParseNamespace()
        @     0x559d1204a29b  clang::Parser::ParseDeclaration()
        @     0x559d12004c74  clang::Parser::ParseExternalDeclaration()

    Subscribers: cfe-commits

    Tags: #clang

    Differential Revision: https://reviews.llvm.org/D83263
The file was modifiedclang/lib/Sema/SemaDeclCXX.cpp
The file was addedclang/test/SemaCXX/attr-trivial-abi.cpp
The file was modifiedclang/test/SemaObjCXX/attr-trivial-abi.mm
Commit 7c038726453b76d6f40590b22304c43ffa05aaf1 by Stanislav.Mekhanoshin
LIS: fix handleMove to properly extend main range

handleMoveDown or handleMoveUp cannot properly repair a main
range of a LiveInterval since they only get LiveRange. There
is a problem if certain use has moved few segments away and
there is a hole in the main range in between of these two
locations. We may get a SubRange with a very extended Segment
spanning several Segments of the main range and also spanning
that hole. If that happens then we end up with the main range
not covering its SubRange which is an error.

It might be possible to attempt fixing the main range in place
just between of the old and new index by extending all of its
Segments in between, but it is unclear this logic will be
faster than just straight constructMainRangeFromSubranges,
which itself is pretty cheap since it only contains interval
logic. That will also require shrinkToUses() call after which
is probably even more expensive.

In the test second move is from 64B to 92B for the sub1.
Subrange is correctly fixed:

L000000000000000C [16r,32B:0)[32B,92r:1)  0@16r 1@32B-phi

But the main range has a hole in between 80d and 88r after
updateRange():

%1 [16r,32B:0)[32B,80r:4)[80r,80d:3)[88r,96r:1)[96r,160B:2)

Since source position is 64B this segment is not even considered
by the updateRange().

Differential Revision: https://reviews.llvm.org/D82916
The file was modifiedllvm/unittests/MI/LiveIntervalTest.cpp
The file was modifiedllvm/lib/CodeGen/LiveIntervals.cpp
Commit 446e3df25483312c8a7dfb3c53eef0de0e13074a by mgorny
[llvm] [docs] Do not require recommonmark for manpage build

Do not enforce recommonmark dependency if sphinx is called to build
manpages.  In order to do this, try to import recommonmark first
and do not configure it if it's not available.  Additionally, declare
a custom tags for the selected builder via CMake, and ignore
recommonmark import failure when 'man' target is used.

This will permit us to avoid the problematic recommonmark dependency
for the majority of Gentoo users that do not need to locally build
the complete documentation but want to have tool manpages.

Differential Revision: https://reviews.llvm.org/D83161
The file was modifiedllvm/docs/conf.py
The file was modifiedllvm/cmake/modules/AddSphinxTarget.cmake
Commit 8691544a276744474ff04b71d7e220069435c7fe by nikita.ppv
[SCCP] Use range metadata for loads and calls

When all else fails, use range metadata to constrain the result
of loads and calls. It should also be possible to use !nonnull,
but that would require some general support for inequalities in
SCCP first.

Differential Revision: https://reviews.llvm.org/D83179
The file was modifiedllvm/lib/Transforms/Scalar/SCCP.cpp
The file was modifiedllvm/test/Transforms/SCCP/metadata.ll
Commit c6a23df691fbfb1330d1fef71a4ac8b453b62a87 by tkeith
[flang] Make 'num_images()' intrinsic

I added 'num_images()' to the list of functions that are evaluated as intrinsic. I also added a test file in flang/test/Semantics to test calls to 'num_images()'. There was a call to 'num_images()' in flang/test/Semantics/call10.f90 that expected an error, now it no longer produces an error. So I edited that file accordingly. I also edited the intrinsics unit test to add further testing of 'num_images()'.

Differential Revision: https://reviews.llvm.org/D83142
The file was modifiedflang/lib/Evaluate/intrinsics.cpp
The file was addedflang/test/Semantics/num_images.f90
The file was modifiedflang/test/Semantics/call10.f90
The file was modifiedflang/unittests/Evaluate/intrinsics.cpp
The file was modifiedflang/documentation/Intrinsics.md
Commit 4b9b64d561e952e64288cdec3bae1952269c1bcf by tkeith
[flang] Added missing runtime I/O definitions

Added runtime function definitions for 32-bit real I/O and 32-bit complex output

Differential Revision: https://reviews.llvm.org/D83112
The file was modifiedflang/runtime/io-api.cpp
Commit 6404fb428a2c6ad4da2b0d79825aa92453ad9bdb by ajcbik
[mlir] [VectorOps] [integration-test] Add i64 typed outer product

Yields proper SIMD vpmullq/vpaddq on x86.

Reviewed By: bkramer

Differential Revision: https://reviews.llvm.org/D83328
The file was addedmlir/integration_test/Dialect/Vector/CPU/test-outerproduct-i64.mlir
The file was addedmlir/integration_test/Dialect/Vector/CPU/test-outerproduct-f32.mlir
The file was removedmlir/integration_test/Dialect/Vector/CPU/test-outerproduct.mlir
Commit 2279380eab08219911910e1ecdcef3eacb0b7f0c by aeubanks
[Inliner] Don't skip inlining alwaysinline in optnone functions

Previously the NPM inliner would skip all potential inlines in an
optnone function, but alwaysinline callees should be inlined regardless
of optnone.

Fixes inline-optnone.ll under NPM.

Reviewed By: kazu

Differential Revision: https://reviews.llvm.org/D83021
The file was modifiedllvm/test/Transforms/Inline/inline-optnone.ll
The file was modifiedllvm/lib/Transforms/IPO/Inliner.cpp
Commit 2bf6c50c7fe2a68b0cf61568bc31c9966bbf1c3e by omair.javaid
Minor fixups to LLDB AArch64 register infos macros for SVE register infos

Summary:
This patch adds some cosmetic changes to LLDB AArch64 register infos macros in order to use them in SVE register infos struct in follow up patches.
This patch initially added invalidate lists to register infos struct but that is no longer needed and problem disappeared after updating qemu testing environment.

old headline comments for reference:
AArch64 reigster X and V registers are primary GPR and vector registers respectively. If these registers are modified their corresponding children w regs or s/d regs should be invalidated. Specially when a register write fails it is important that failure gets reflected to all the registers which draw their value from a particular value register.

Reviewers: labath, rengolin

Reviewed By: labath

Subscribers: tschuett, kristof.beyls, danielkiss, lldb-commits

Differential Revision: https://reviews.llvm.org/D77045
The file was modifiedlldb/source/Plugins/Process/Utility/RegisterInfos_arm64.h
Commit 9d9e499840af670b9644af77ce846c52085c23a1 by zbrid
[x86][seses] Add clang flag; Use lvi-cfi with seses

This patch creates a clang flag to enable SESES. This flag also ensures that
lvi-cfi is on when using seses via clang.

SESES should use lvi-cfi to mitigate returns and indirect branches.

The flag to enable the SESES functionality only without lvi-cfi is now
-x86-seses-enable-without-lvi-cfi to warn users part of the mitigation is not
enabled if they use this flag. This is useful in case folks want to see the
cost of SESES separate from the LVI-CFI.

Reviewed By: sconstab

Differential Revision: https://reviews.llvm.org/D79910
The file was modifiedllvm/test/CodeGen/X86/speculative-execution-side-effect-suppression.ll
The file was modifiedllvm/lib/Target/X86/X86SpeculativeExecutionSideEffectSuppression.cpp
The file was modifiedclang/test/Driver/x86-target-features.c
The file was modifiedclang/docs/ClangCommandLineReference.rst
The file was modifiedclang/lib/Driver/ToolChains/Arch/X86.cpp
The file was modifiedllvm/lib/Target/X86/X86.td
The file was modifiedclang/include/clang/Driver/Options.td
The file was modifiedllvm/lib/Target/X86/X86Subtarget.h
Commit b172cd7812405beaa9db817d85ac1458f7e31547 by listmail
[Statepoint] Factor out logic for non-stack non-vreg lowering [almost NFC]

This is inspired by D81648.  The basic idea is to have the set of SDValues which are lowered as either constants or direct frame references explicit in one place, and to separate them clearly from the spilling logic.

This is not NFC in that the handling of constants larger than > 64 bit has changed.  The old lowering would crash on values which could not be encoded as a sign extended 64 bit value.  The new lowering just spills all constants > 64 bits.  We could be consistent about doing the sext(Con64) optimization, but I happen to know that this code path is utterly unexercised in practice, so simple is better for now.
The file was modifiedllvm/lib/CodeGen/SelectionDAG/StatepointLowering.cpp
The file was modifiedllvm/test/CodeGen/X86/statepoint-vector.ll
Commit 42bb481442c3368f2e98f26da6151e7c5ad3ae8e by Matthew.Arsenault
AMDGPU/GlobalISel: Fix skipping unused kernel arguments

The tests in a5b9ad7e9aca1329ba310e638dafa58c47468a58 actually failed
the verifier, which for some reason is not the default. Also add tests
for 0-sized function arguments, which do not add entries to the
expected register lists.
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUCallLowering.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-amdgpu_kernel.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-function-args.ll
Commit 23157f3bdb4f6af1d24aac7d4fbf439b71bba216 by Matthew.Arsenault
GlobalISel: Handle EVT argument lowering correctly

handleAssignments was assuming every argument type is an MVT, and
assignArg would always fail. This fixes one of the hacks in the
current AMDGPU calling convention code that pre-processes the
arguments.
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-ptrmask.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-function-args.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-sat.ll
The file was modifiedllvm/lib/CodeGen/GlobalISel/CallLowering.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUCallLowering.cpp
Commit 021d56abb9ee3028cb88895144d71365e566c32f by ctetreau
[SVE] Make Constant::getSplatValue work for scalable vector splats

Summary:
Make Constant::getSplatValue recognize scalable vector splats of the
form created by ConstantVector::getSplat. Add unit test to verify that
C == ConstantVector::getSplat(C)->getSplatValue() for fixed width and
scalable vector splats

Reviewers: efriedma, spatel, fpetrogalli, c-rhodes

Reviewed By: efriedma

Subscribers: sdesmalen, tschuett, hiraditya, rkruppe, psnobl, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D82416
The file was modifiedllvm/lib/IR/Constants.cpp
The file was modifiedllvm/unittests/IR/ConstantsTest.cpp
The file was modifiedllvm/test/Transforms/InstSimplify/vscale.ll
Commit 24ed3a9403fa0494275212765026a1bb4169ac76 by ntv
[mlir][Vector] Add ExtractOp folding

This revision adds foldings for ExtractOp operations that come from previous InsertOp.
InsertOp have cumulative semantic where multiple chained inserts are necessary to produce the final value from which the extracts are obtained.
Additionally, TransposeOp may be interleaved and need to be tracked in order to follow the producer consumer relationships and properly compute positions.

Differential revision: https://reviews.llvm.org/D83150
The file was modifiedmlir/include/mlir/IR/AffineMap.h
The file was modifiedmlir/lib/IR/AffineMap.cpp
The file was modifiedmlir/test/Dialect/Vector/canonicalize.mlir
The file was modifiedmlir/lib/Dialect/Vector/VectorOps.cpp
The file was modifiedmlir/include/mlir/Dialect/Vector/VectorOps.td
Commit bc8e262afe833fce2bff46c73d9e77ed23fd720f by epastor
[ms] [llvm-ml] Add initial MASM STRUCT/UNION support

Summary:
Add support for user-defined types to MasmParser, including initialization and field access.

Known issues:
- Omitted entry initializers (e.g., <,0>) do not work consistently for nested structs/arrays.
- Size checking/inference for values with known types is not yet implemented.
- Some ml64.exe syntaxes for accessing STRUCT fields are not recognized.
  - `[<register>.<struct name>].<field>`
  - `[<register>[<struct name>.<field>]]`
  - `(<struct name> PTR [<register>]).<field>`
  - `[<variable>.<struct name>].<field>`
  - `(<struct name> PTR <variable>).<field>`

Reviewed By: thakis

Differential Revision: https://reviews.llvm.org/D75306
The file was modifiedllvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
The file was addedllvm/test/tools/llvm-ml/struct_errors.test
The file was modifiedllvm/lib/MC/MCParser/MasmParser.cpp
The file was addedllvm/test/tools/llvm-ml/struct.test
The file was modifiedllvm/include/llvm/MC/MCParser/MCAsmParser.h
The file was modifiedllvm/include/llvm/MC/MCParser/MCTargetAsmParser.h
Commit b6a20a4970813e0c64e2799f83ec246a82f70438 by gyurgyikcp
[libc] Add memchr implementation.
The file was modifiedlibc/test/src/string/CMakeLists.txt
The file was modifiedlibc/config/linux/aarch64/entrypoints.txt
The file was addedlibc/test/src/string/memchr_test.cpp
The file was addedlibc/src/string/memchr.h
The file was modifiedlibc/config/linux/x86_64/entrypoints.txt
The file was modifiedlibc/src/string/CMakeLists.txt
The file was modifiedlibc/test/src/CMakeLists.txt
The file was addedlibc/src/string/memchr.cpp
Commit 0d7401cf9d5cc0db3de9a8ddb8ea2362d5412d2f by medismail.bennani
[lldb/api] Add checks for StackFrame::GetRegisterContext calls (NFC)

This patch fixes a crash that is happening because of a null pointer
dereference in SBFrame.

StackFrame::GetRegisterContext says explicitly that you might not get
a valid RegisterContext back but the pointer wasn't tested before,
resulting in crashes. This should solve the issue.

rdar://54462095

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

Signed-off-by: Med Ismail Bennani <medismail.bennani@gmail.com>
The file was modifiedlldb/source/API/SBFrame.cpp
Commit c17120a3a4c14940982320beafa455437d60d170 by ctetreau
[SVE] Remove calls to VectorType::getNumElements from AsmParserTest

Reviewers: efriedma, c-rhodes, david-arm, kmclaughlin, fpetrogalli, sdesmalen

Reviewed By: efriedma

Subscribers: tschuett, psnobl, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D83339
The file was modifiedllvm/unittests/AsmParser/AsmParserTest.cpp
Commit 8c5825befb7bbb2e76f7eccedc6d3bf26e9b2a6a by maskray
[llvm-readobj][test] Fix ELF/verneed-flags.yaml

*.yaml tests don't currently run, so we failed to update it.
The file was modifiedllvm/test/tools/llvm-readobj/ELF/verneed-flags.yaml
Commit 5832473dcf4e5b22c9eb6381fb291be92f431208 by ditaliano
Do not set LLDB_DEBUGSERVER_PATH if --out-of-tree-debugserver is passed.

This gets rid of some surprising interplay between the flags.
Mainly needed because of Rosetta debugserver & Apple Silicon.

Differential Revision:  https://reviews.llvm.org/D82804
The file was modifiedlldb/packages/Python/lldbsuite/test/dotest.py
Commit 4dba3f4e030a906f9ec7e940dfc4a57b94374154 by ditaliano
[dotest] Log a warning when --server and --out-of-tree-debugserver are set

Suggested by Vedant.
The file was modifiedlldb/packages/Python/lldbsuite/test/dotest.py
Commit bdc3134e237737dd46b51cd1ecd41ecbbe9f921a by maskray
[RuntimeDyld][test] Fix ExecutionEngine/RuntimeDyld/X86/ELF_x86-64_none.yaml after D60122

*.yaml tests don't currently run, so we failed to notice it.
The file was modifiedllvm/test/ExecutionEngine/RuntimeDyld/X86/ELF_x86-64_none.yaml
Commit 04b85e2bcbffcbe4ff4eb1ef3762f326525cae7c by flo
Revert "[SLP] Make sure instructions are ordered when computing spill cost."

This seems to break http://lab.llvm.org:8011/builders/llvm-clang-x86_64-expensive-checks-win/builds/24371

This reverts commit eb46137daa92723b75d828f2db959f2061612622.
The file was modifiedllvm/test/Transforms/SLPVectorizer/AArch64/spillcost-order.ll
The file was modifiedllvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Commit 91f70675cc6e5c872e0059c11d797b8726eeac67 by craig.topper
[X86] Add back the assert in getImpliedFeatures that I removed in ef4cc70f3ed2a91e0a48c6448c517c3ba34c2846

I've added additional features to the table so I want to see if
the bots are happier with this.
The file was modifiedllvm/include/llvm/Support/X86TargetParser.def
The file was modifiedllvm/lib/Support/X86TargetParser.cpp
Commit 0fa0cf8638b0777a1a44feebf78a63865e48ecf6 by protze
[OpenMP][Tests] Update compatibility with GCC (NFC)

Commit 95a28df5c provided implementation for GOMP*_nonmonotonic*runtime*
functions. Now the tests succeed with gcc 9 and 10
The file was modifiedopenmp/runtime/test/ompt/worksharing/for/runtime_serialized.c
The file was modifiedopenmp/runtime/test/worksharing/for/bug_set_schedule_0.c
The file was modifiedopenmp/runtime/test/worksharing/for/omp_nonmonotonic_dynamic1.c
The file was modifiedopenmp/runtime/test/ompt/worksharing/for/runtime.c
The file was modifiedopenmp/runtime/test/worksharing/for/omp_for_schedule_runtime.c
The file was modifiedopenmp/runtime/test/ompt/worksharing/for/runtime_split.c
Commit 64788d7d5377345af5e3080d26cb6a76c324ab5b by bigcheesegs
[clang] Include missing LangOpts in `getModuleHash`.

`ObjCRuntime` and `CommentOpts.BlockCommandNames` are checked by
`ASTReader::checkLanguageOptions`, but are not part of the module
context hash. This can lead to errors when using implicit modules if
different TUs have different values for these options when using the
same module cache.

This was not hit very often due to the rare usage of
`-fblock-command-names=` and that `ObjCRuntime` is by default set by
the target triple, which is part of the existing context hash.
The file was modifiedclang/test/Modules/context-hash.c
The file was modifiedclang/include/clang/Basic/ObjCRuntime.h
The file was modifiedclang/lib/Frontend/CompilerInvocation.cpp
The file was modifiedllvm/include/llvm/Support/VersionTuple.h
Commit 9955876d74a51659791fd72f8acb1fba27deacb0 by listmail
[Statepoint] Reduce intendation and change a variable name [NFC]
The file was modifiedllvm/lib/CodeGen/SelectionDAG/StatepointLowering.cpp
Commit 22596e7b2f3e22b99b828f8dc17434c53f1f67e7 by listmail
[Statepoint] Use early return to reduce nesting and clarify comments [NFC]
The file was modifiedllvm/lib/CodeGen/SelectionDAG/StatepointLowering.cpp
Commit 8f0f9eaddf9ea8cbab418a64fb6557928b3c907a by pklausler
[flang] Fix CHARACTER length folding problem

Do not rewrite LEN(x) or x%len to the expression that specifies
the length of x when that length is not a constant expression.
Its value may have changed since the value of the expression was
first captured in the definition of the object.

Reviewed By: tskeith, sscalpone

Differential Revision: https://reviews.llvm.org/D83352
The file was modifiedflang/include/flang/Evaluate/type.h
The file was modifiedflang/lib/Evaluate/variable.cpp
The file was modifiedflang/lib/Evaluate/shape.cpp
The file was modifiedflang/lib/Evaluate/fold-integer.cpp
The file was modifiedflang/lib/Evaluate/type.cpp
Commit ec04ce4623522a326672f03fecb41812386a8c0e by sifontes
Create the MLIR Reduce framework

Create the framework and testing environment for MLIR Reduce - a tool
with the objective to reduce large test cases into smaller ones while
preserving their interesting behavior.

Implement the functionality to parse command line arguments, parse the
MLIR test cases into modules and run the interestingness tests on
the modules.

Reviewed By: jpienaar

Differential Revision: https://reviews.llvm.org/D82803
The file was addedmlir/include/mlir/Reducer/Tester.h
The file was addedmlir/lib/Reducer/Tester.cpp
The file was addedmlir/tools/mlir-reduce/CMakeLists.txt
The file was modifiedmlir/test/CMakeLists.txt
The file was addedmlir/test/mlir-reduce/test.sh
The file was addedmlir/tools/mlir-reduce/mlir-reduce.cpp
The file was modifiedmlir/lib/CMakeLists.txt
The file was addedmlir/lib/Reducer/CMakeLists.txt
The file was addedmlir/test/mlir-reduce/testcase-linux.mlir
The file was modifiedmlir/tools/CMakeLists.txt
Commit 04027052a72f982c9e09472427ec7339415fb777 by Akira
[Sema] Teach -Wcast-align to compute alignment of CXXThisExpr

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

rdar://problem/65158878

Differential Revision: https://reviews.llvm.org/D83317
The file was modifiedclang/lib/Sema/SemaChecking.cpp
The file was modifiedclang/test/SemaCXX/warn-cast-align.cpp
Commit baca8f977edce6edb0f9074b77a38c753f8f0c79 by sidneym
[compiler-rt][Hexagon] Remove fma/fmin/max code

This code should reside in the c-library.

Differential Revision: https://reviews.llvm.org/D82263
The file was modifiedcompiler-rt/lib/builtins/hexagon/dffma.S
The file was removedcompiler-rt/lib/builtins/hexagon/fmin_opt.S
The file was modifiedcompiler-rt/lib/builtins/CMakeLists.txt
The file was removedcompiler-rt/lib/builtins/hexagon/fmax_opt.S
The file was removedcompiler-rt/lib/builtins/hexagon/fabs_opt.S
The file was removedcompiler-rt/lib/builtins/hexagon/fma_opt.S
Commit fd0964ae8340d24ce7991767fbbfe4bc01af87b3 by aardappel
[WebAssembly] fix gcc 10 warning
The file was modifiedllvm/lib/MC/WasmObjectWriter.cpp
The file was modifiedllvm/include/llvm/BinaryFormat/Wasm.h
Commit f1d290d81298092b693076725cef4f34e951e974 by craig.topper
[X86] Merge the FEATURE_64BIT and FEATURE_EM64T bits in X86TargetParser.def.

These represent the same thing but 64BIT only showed up from
getHostCPUFeatures providing a list of featuers to clang. While
EM64T showed up from getting the features for a named CPU.

EM64T didn't have a string specifically so it would not be passed
up to clang when getting features for a named CPU. While 64bit
needed a name since that's how it is index.

Merge them by filtering 64bit out before sending features to clang
for named CPUs.
The file was modifiedllvm/lib/Analysis/InstructionSimplify.cpp
The file was modifiedllvm/include/llvm/Support/X86TargetParser.def
The file was modifiedllvm/lib/Support/Host.cpp
The file was modifiedllvm/lib/Support/X86TargetParser.cpp
Commit d92bf71a07c1787b535f8eb9deb27a4f11ac2d44 by craig.topper
Revert "[X86] Merge the FEATURE_64BIT and FEATURE_EM64T bits in X86TargetParser.def."

An accidental change snuck in here

This reverts commit f1d290d81298092b693076725cef4f34e951e974.
The file was modifiedllvm/include/llvm/Support/X86TargetParser.def
The file was modifiedllvm/lib/Support/X86TargetParser.cpp
The file was modifiedllvm/lib/Support/Host.cpp
The file was modifiedllvm/lib/Analysis/InstructionSimplify.cpp
Commit 74145d584126da2ce7a836d9b2240d56442f3ea1 by jurahul
[MLIR] Combine the 2 overloads of FuncOp::build() into one.

- This will eliminate the need to pass an empty `ArrayRef<NamedAttribute>{}` when
  no named attributes are required on the function.

Differential Revision: https://reviews.llvm.org/D83356
The file was modifiedmlir/include/mlir/IR/Function.h
The file was modifiedmlir/lib/IR/Function.cpp
The file was modifiedmlir/lib/Conversion/GPUToVulkan/ConvertGPULaunchFuncToVulkanLaunchFunc.cpp
The file was modifiedmlir/lib/Conversion/LinalgToStandard/LinalgToStandard.cpp
Commit 065fc1eafe7c6f67f8029bcd38e6864b3c429e35 by richard
PR45521: Preserve the value kind when performing a standard conversion
sequence on a glvalue expression.

If the sequence is supposed to perform an lvalue-to-rvalue conversion,
then one will be specified as the first conversion in the sequence.
Otherwise, one should not be invented.
The file was modifiedclang/lib/Sema/SemaOverload.cpp
The file was modifiedclang/test/SemaCXX/references.cpp
The file was modifiedclang/lib/Sema/SemaExprCXX.cpp
Commit 34c485201507de2602b70b0df368dbc6c0b0fecb by antiagainst
[mlir][spirv] Add MatrixTimesMatrix operation

Add MatrixTimesMatrix operation to SPIRV Dialect and add NoSideEffect trait
to Matrix ops.

Reviewed By: antiagainst

Differential Revision: https://reviews.llvm.org/D82671
The file was modifiedmlir/include/mlir/Dialect/SPIRV/SPIRVTypes.h
The file was modifiedmlir/lib/Dialect/SPIRV/Serialization/Serializer.cpp
The file was modifiedmlir/include/mlir/Dialect/SPIRV/SPIRVMatrixOps.td
The file was modifiedmlir/test/Dialect/SPIRV/Serialization/matrix.mlir
The file was modifiedmlir/lib/Dialect/SPIRV/SPIRVTypes.cpp
The file was modifiedmlir/test/Dialect/SPIRV/matrix-ops.mlir
The file was modifiedmlir/lib/Dialect/SPIRV/SPIRVOps.cpp
The file was modifiedmlir/include/mlir/Dialect/SPIRV/SPIRVBase.td
The file was modifiedmlir/lib/Dialect/SPIRV/SPIRVDialect.cpp
Commit cb82de29601745d6c4beaf51ee1dbd1bf7acc186 by maskray
[RISCV] Optimize multiplication by constant

... to shift/add or shift/sub.

Do not enable it on riscv32 with the M extension where decomposeMulByConstant
may not be an optimization.

Reviewed By: luismarques, MaskRay

Differential Revision: https://reviews.llvm.org/D82660
The file was modifiedllvm/lib/Target/RISCV/RISCVISelLowering.h
The file was modifiedllvm/test/CodeGen/RISCV/mul.ll
The file was modifiedllvm/lib/Target/RISCV/RISCVISelLowering.cpp
Commit 1e9d0811c9bf40abbe07d591057869568f140036 by maskray
[RISCV] optimize addition with a pair of (addi imm)

For an addition with an immediate in specific ranges, a pair of
addi-addi can be generated instead of the ordinary lui-addi-add serial.

Reviewed By: MaskRay, luismarques

Differential Revision: https://reviews.llvm.org/D82262
The file was modifiedllvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
The file was addedllvm/test/CodeGen/RISCV/add-imm.ll
Commit 51b0da731af75c68dd521e04cc576d5a611b1612 by craig.topper
Recommit "[X86] Merge the FEATURE_64BIT and FEATURE_EM64T bits in X86TargetParser.def."

These represent the same thing but 64BIT only showed up from
getHostCPUFeatures providing a list of featuers to clang. While
EM64T showed up from getting the features for a named CPU.

EM64T didn't have a string specifically so it would not be passed
up to clang when getting features for a named CPU. While 64bit
needed a name since that's how it is index.

Merge them by filtering 64bit out before sending features to clang
for named CPUs.
The file was modifiedllvm/include/llvm/Support/X86TargetParser.def
The file was modifiedllvm/lib/Support/Host.cpp
The file was modifiedllvm/lib/Support/X86TargetParser.cpp
Commit 1f780c997c3616465a4180ffb20a5db4ec9d7776 by omair.javaid
[LLDB] Disable flaky lldb-vscode tests on arm

Summary:
These two tests are flaky on lldb Arm buildbot as well. They are already
being skipped for aarch64. I am going to mark them skipped for Arm.

Tags: #lldb

Differential Revision: https://reviews.llvm.org/D81978
The file was modifiedlldb/test/API/tools/lldb-vscode/attach/TestVSCode_attach.py
Commit fe13ee875b102e5bf66c212883852f08796168b3 by thakis
[gn build] Port baca8f977ed
The file was modifiedllvm/utils/gn/secondary/compiler-rt/lib/builtins/BUILD.gn
Commit 0a41493b9822514daf72d036d088ac91d9235b0c by clementval
[openmp][NFC] Remove duplicate clause defaultmap for target parallel do
The file was modifiedllvm/include/llvm/Frontend/OpenMP/OMP.td
Commit e885f336fd78e35ccb8e967e0664b356de333963 by thakis
Revert "[X86] Add back the assert in getImpliedFeatures that I removed in ef4cc70f3ed2a91e0a48c6448c517c3ba34c2846"

This reverts commit 91f70675cc6e5c872e0059c11d797b8726eeac67.
It seems to break most (all?) hwasan tests.
The file was modifiedllvm/lib/Support/X86TargetParser.cpp
The file was modifiedllvm/include/llvm/Support/X86TargetParser.def
Commit f54d0e36be6a4d5dab67244e85b8664282dcf5d1 by joker.eph
Rename `xla_lhlo.terminator` into `return` in SCF parallel loop test (NFC)

It seems that these were inserted here inadvertently instead of using
standard `return`.
The file was modifiedmlir/test/Dialect/SCF/parallel-loop-fusion.mlir
Commit edc7da24057b22896dc6522d3f98ccdd75a4e7f8 by sguelton
Upgrade TypePromotionTransaction to be able to report changes in CodeGenPrepare

optimizeMemoryInst was reporting no change while still modifying the IR.
Inspect the status of TypePromotionTransaction to get a better status.

Related to https://reviews.llvm.org/D80916

Differential Revision: https://reviews.llvm.org/D81256
The file was modifiedllvm/lib/CodeGen/CodeGenPrepare.cpp
Commit 20e271a98de5609e22766e56f9c374b150f06982 by vrnithinkumar
[analyzer] Warning for default constructed unique_ptr dereference

Summary: Add support for warning incase of default constructed unique pointer dereferences

Reviewed By: NoQ, Szelethus, vsavchenko, xazax.hun

Tags: #clang

Differential Revision: https://reviews.llvm.org/D81315
The file was modifiedclang/docs/analyzer/checkers.rst
The file was modifiedclang/test/Analysis/smart-ptr.cpp
The file was modifiedclang/test/Analysis/Inputs/system-header-simulator-cxx.h
The file was modifiedclang/include/clang/StaticAnalyzer/Core/PathSensitive/CallEvent.h
The file was modifiedclang/lib/StaticAnalyzer/Checkers/SmartPtrModeling.cpp
The file was modifiedclang/test/Analysis/use-after-move.cpp
The file was modifiedclang/include/clang/StaticAnalyzer/Checkers/Checkers.td
The file was addedclang/lib/StaticAnalyzer/Checkers/SmartPtrChecker.cpp
The file was modifiedclang/test/Analysis/analyzer-config.c
The file was addedclang/lib/StaticAnalyzer/Checkers/SmartPtr.h
The file was modifiedclang/lib/StaticAnalyzer/Checkers/CMakeLists.txt
Commit d8dfd6dcc143a2164ae781de6598e72b7183fc3f by llvmgnsyncbot
[gn build] Port 20e271a98de
The file was modifiedllvm/utils/gn/secondary/clang/lib/StaticAnalyzer/Checkers/BUILD.gn
Commit 80970ac87574c6d0292894a4a912fa512336f434 by flo
[DSE,MSSA] Eliminate stores by terminators (free,lifetime.end).

This patch adds support for eliminating stores by free & lifetime.end
calls. We can remove stores that are not read before calling a memory
terminator and we can eliminate all stores after a memory terminator
until we see a new lifetime.start. The second case seems to not really
trigger much in practice though.

Reviewers: dmgreen, rnk, efriedma, bryant, asbirlea, Tyker

Reviewed By: asbirlea

Differential Revision: https://reviews.llvm.org/D72410
The file was modifiedllvm/test/Transforms/DeadStoreElimination/MSSA/multiblock-malloc-free.ll
The file was modifiedllvm/test/Transforms/DeadStoreElimination/MSSA/simple.ll
The file was modifiedllvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
The file was modifiedllvm/test/Transforms/DeadStoreElimination/MSSA/memset-missing-debugloc.ll
The file was modifiedllvm/test/Transforms/DeadStoreElimination/MSSA/lifetime.ll
The file was modifiedllvm/test/Transforms/DeadStoreElimination/MSSA/multiblock-captures.ll
The file was modifiedllvm/test/Transforms/DeadStoreElimination/MSSA/2016-07-17-UseAfterFree.ll
The file was modifiedllvm/test/Transforms/DeadStoreElimination/MSSA/free.ll
Commit 7e6793aa33dd61ed9dd531871fce30c1b7978e13 by aheejin
[WebAssembly] Generate unreachable after __stack_chk_fail

`__stack_chk_fail` does not return, but `unreachable` was not generated
following `call __stack_chk_fail`. This had a possibility to generate an
invalid binary for functions with a return type, because
`__stack_chk_fail`'s return type is void and `call __stack_chk_fail` can
be the last instruction in the function whose return type is non-void.
Generating `unreachable` after it makes sure CFGStackify's
`fixEndsAtEndOfFunction` handles it correctly.

Reviewed By: tlively

Differential Revision: https://reviews.llvm.org/D83277
The file was modifiedllvm/test/CodeGen/WebAssembly/stack-protector.ll
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
Commit 00580349c39280a1d0a9ef5999c9826dad553470 by georgemitenk0v
[MLIR][SPIRVToLLVM] Miscellaneous ops conversion: select, fmul and undef

This patch introduces 3 new direct conversions for SPIR-V ops:
- `spv.Select`
- `spv.Undef`
- `spv.FMul` that was skipped in the patch with arithmetic ops

Differential Revision: https://reviews.llvm.org/D83291
The file was addedmlir/test/Conversion/SPIRVToLLVM/misc-ops-to-llvm.mlir
The file was modifiedmlir/test/Conversion/SPIRVToLLVM/arithmetic-ops-to-llvm.mlir
The file was modifiedmlir/lib/Conversion/SPIRVToLLVM/ConvertSPIRVToLLVM.cpp
Commit 15aeb805dc46fbd268388af5f8de19e4de29cdb3 by david.sherwood
[CodeGen] Fix warnings in sve-ld1-addressing-mode-reg-imm.ll

For the GetElementPtr case in function
  AddressingModeMatcher::matchOperationAddr
I've changed the code to use the TypeSize class instead of relying
upon the implicit conversion to a uint64_t. As part of this we now
check for scalable types and if we encounter one just bail out for
now as the subsequent optimisations doesn't currently support them.

This changes fixes up all warnings in the following tests:

  llvm/test/CodeGen/AArch64/sve-ld1-addressing-mode-reg-imm.ll
  llvm/test/CodeGen/AArch64/sve-st1-addressing-mode-reg-imm.ll

Differential Revision: https://reviews.llvm.org/D83124
The file was modifiedllvm/test/CodeGen/AArch64/sve-st1-addressing-mode-reg-imm.ll
The file was modifiedllvm/lib/CodeGen/CodeGenPrepare.cpp
The file was modifiedllvm/test/CodeGen/AArch64/sve-ld1-addressing-mode-reg-imm.ll
Commit cfcf8e17ef537686e03c58921a10593a2b0c4a3d by mikael.holmen
[analyzer] Silence gcc -Wparentheses warning [NFC]
The file was modifiedclang/lib/StaticAnalyzer/Core/BugReporter.cpp
Commit 5b14f5051f134d29f51b523e5c9b602c08a4a7af by david.sherwood
[CodeGen] Fix wrong use of getVectorNumElements in PromoteIntRes_EXTRACT_SUBVECTOR

Calling getVectorNumElements() is not safe for scalable vectors and we
should normally use getVectorElementCount() instead. However, for the
code changed in this patch I decided to simply move the instantiation of
the variable 'OutNumElems' lower down to the place where only fixed-width
vectors are used, and hence it is safe to call getVectorNumElements().

Fixes up one warning in this test:

  sve-sext-zext.ll

Differential Revision: https://reviews.llvm.org/D83195
The file was modifiedllvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
Commit 9e66e9c30a19dc5923c85d3a3a4b757935299fba by david.sherwood
[CodeGen] Fix wrong use of getVectorNumElements() in DAGTypeLegalizer::SplitVecRes_ExtendOp

In DAGTypeLegalizer::SplitVecRes_ExtendOp I have replaced an invalid
call to getVectorNumElements() with a call to getVectorMinNumElements(),
since the code path works for both fixed and scalable vectors.

This fixes up a warning in the following test:

  sve-sext-zext.ll

Differential Revision: https://reviews.llvm.org/D83197
The file was modifiedllvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
Commit 1f84ace3c7266564801d79185ebb05eb451205f1 by grimar
[llvm-readobj] - Refine error reporting in MipsGOTParser<ELFT> helper.

This is a follow-up for D83225. This does the following:
1) Adds missing tests for existent errors.
2) Stops using `unwrapOrError` to propagate errors to caller.
   (I am trying to get rid of all `unwrapOrErr` calls in the llvm-readelf code).
3) Improves error messages reported slightly.

Differential revision: https://reviews.llvm.org/D83314
The file was modifiedllvm/tools/llvm-readobj/ELFDumper.cpp
The file was modifiedllvm/test/tools/llvm-readobj/ELF/mips-plt.test
The file was modifiedllvm/test/tools/llvm-readobj/ELF/mips-got.test
Commit bee8cdcabd2b3931be3f240e70b0b04e766ea4fe by grimar
[DebugInfo/DWARF] - Test invalid CFI opcodes properly and refine related `CFIProgram::parse` code.

There are following issues with `CFIProgram::parse` code:

1) Invalid CFI opcodes were never tested. And currently a test would fail
when the `LLVM_ENABLE_ABI_BREAKING_CHECKS` is enabled. It happens because
the `DataExtractor::Cursor C` remains unchecked when the
"Invalid extended CFI opcode" error is reported:

```
.eh_frame section at offset 0x1128 address 0x0:
Program aborted due to an unhandled Error:
Error value was Success. (Note: Success values must still be checked prior to being destroyed).
```

2) It is impossible to reach the "Invalid primary CFI opcode" error with the current code.
There are 3 possible primary opcode values and all of them are handled. Hence this error
should be replaced with llvm_unreachable.

3) Errors currently reported are upper-case.

This patch refines the code in the `CFIProgram::parse` method to fix all issues mentioned
and adds unit tests for all possible invalid extended CFI opcodes.

Differential revision: https://reviews.llvm.org/D82868
The file was modifiedllvm/unittests/DebugInfo/DWARF/DWARFDebugFrameTest.cpp
The file was modifiedllvm/lib/DebugInfo/DWARF/DWARFDebugFrame.cpp
Commit c00a27752e4944db609a683504bb10e0975fdf76 by llvm-dev
[X86][AVX] Remove redundant EXTRACT_VECTOR_ELT(VBROADCAST(SCALAR())) fold

Noticed while looking for similar cases to rG931ec74f7a29 - SimplifyDemandedVectorElts and shuffle combining both should handle this now.
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
Commit 997a3c29f4655e930a9ef44be98d28368d757d98 by llvm-dev
Fix MSVC "not all control paths return a value" warnings. NFC.
The file was modifiedllvm/lib/MC/MCParser/MasmParser.cpp
Commit a39c7ab9c355670510341191a802f3799265e9ef by lebedev.ri
[NFCI][llvm-reduce] Cleanup Delta passes to use Oracle abstraction

Summary:
I think, this results in much more understandable/readable flow.
At least the original logic was perhaps the most hard thing for me to grasp when taking an initial look on the delta passes.

Reviewers: nickdesaulniers, dblaikie, diegotf, george.burgess.iv

Reviewed By: nickdesaulniers

Subscribers: llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D83287
The file was modifiedllvm/tools/llvm-reduce/deltas/ReduceMetadata.cpp
The file was modifiedllvm/tools/llvm-reduce/deltas/ReduceInstructions.cpp
The file was modifiedllvm/tools/llvm-reduce/deltas/Delta.h
The file was modifiedllvm/tools/llvm-reduce/deltas/ReduceBasicBlocks.cpp
The file was modifiedllvm/tools/llvm-reduce/deltas/ReduceGlobalVars.cpp
The file was modifiedllvm/tools/llvm-reduce/deltas/ReduceOperandBundles.cpp
The file was modifiedllvm/tools/llvm-reduce/deltas/ReduceArguments.cpp
The file was modifiedllvm/tools/llvm-reduce/deltas/ReduceFunctions.cpp
Commit b9d977b0ca60c54f11615ca9d144c9f08b29fd85 by jeremy.morse
[DWARF] Add cuttoff guarding quadratic validThroughout behaviour

Occasionally we see absolutely massive basic blocks, typically in global
constructors that are vulnerable to heavy inlining. When these blocks are
dense with DBG_VALUE instructions, we can hit near quadratic complexity in
DwarfDebug's validThroughout function. The problem is caused by:

  * validThroughout having to step through all instructions in the block to
    examine their lexical scope,
  * and a high proportion of instructions in that block being DBG_VALUEs
    for a unique variable fragment,

Leading to us stepping through every instruction in the block, for (nearly)
each instruction in the block.

By adding this guard, we force variables in large blocks to use a location
list rather than a single-location expression, as shown in the added test.
This shouldn't change the meaning of the output DWARF at all: instead we
use a less efficient DWARF encoding to avoid a poor-performance code path.

Differential Revision: https://reviews.llvm.org/D83236
The file was addedllvm/test/DebugInfo/MIR/X86/singlelocation-cutoffs.mir
The file was modifiedllvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
The file was modifiedllvm/lib/CodeGen/AsmPrinter/DwarfDebug.h
Commit 7a4e39b326d0cc69e6b4fbe9010aaf5dc704a12f by georgemitenk0v
[MLIR][SPIRVToLLVM] Implementation of spv.BitFieldSExtract and spv.BitFieldUExtract patterns

This patch adds conversion patterns for `spv.BitFieldSExtract` and `spv.BitFieldUExtract`.
As in the patch for `spv.BitFieldInsert`, `offset` and `count` have to be broadcasted in
vector case and casted to match the type of the base.

Reviewed By: antiagainst

Differential Revision: https://reviews.llvm.org/D82640
The file was modifiedmlir/lib/Conversion/SPIRVToLLVM/ConvertSPIRVToLLVM.cpp
The file was modifiedmlir/test/Conversion/SPIRVToLLVM/bitwise-ops-to-llvm.mlir
Commit e9f943429c895e4d6d29505fab2fad365fe2766e by Raphael Isemann
[lldb] Skip TestIOHandlerResizeNoEditline on Windows

It seems opening the empty file and trying use that file object as an input
stream doesn't work on Windows. Skipping it for now.
The file was modifiedlldb/test/API/iohandler/resize/TestIOHandlerResizeNoEditline.py
Commit fb75451775f83c04d53e4e94bb4bd298ea9a882f by paul.walker
[SVE] Custom ISel for fixed length extract/insert_subvector.

We use extact_subvector and insert_subvector to "cast" between
fixed length and scalable vectors.  This patch adds custom c++
based ISel for the following cases:

  fixed_vector = ISD::EXTRACT_SUBVECTOR scalable_vector, 0
  scalable_vector = ISD::INSERT_SUBVECTOR undef(scalable_vector), fixed_vector, 0

Which result in either EXTRACT_SUBREG/INSERT_SUBREG for NEON sized
vectors or COPY_TO_REGCLASS otherwise.

Differential Revision: https://reviews.llvm.org/D82871
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.h
The file was addedllvm/test/CodeGen/AArch64/sve-fixed-length-subvector.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.cpp
Commit aae413462fae16c481df31ff23b951c5df494a60 by Alexander.Richardson
[UpdateTestChecks] Move more update_test_checks.py logic to common.py

I intend to reuse this to add UTC_ARGS support for update_llc_test_checks.py
and update_cc_test_checks.py in D78478.

Reviewed By: jdoerfert
Differential Revision: https://reviews.llvm.org/D78618
The file was modifiedllvm/utils/UpdateTestChecks/common.py
The file was modifiedllvm/utils/update_test_checks.py
Commit a80afc032859ebe65af283f76b38a0f5921b683f by Alexander.Richardson
[UpdateTestChecks] Add UTC_ARGS support for update_{llc,cc}_test_checks.py

https://reviews.llvm.org/D69701 added support for on-the-fly argument
changes for update scripts. I recently wanted to keep some manual check
lines in a test generated by update_cc_test_checks.py in our CHERI fork, so
this commit adds support for UTC_ARGS in update_cc_test_checks.py. And since
I was refactoring the code to be in common.py, I also added it for
update_llc_test_checks.py.

Reviewed By: jdoerfert, MaskRay
Differential Revision: https://reviews.llvm.org/D78478
The file was modifiedclang/test/utils/update_cc_test_checks/mangled_names.test
The file was addedllvm/test/tools/UpdateTestChecks/update_llc_test_checks/on_the_fly_arg_change.test
The file was addedclang/test/utils/update_cc_test_checks/Inputs/on_the_fly_arg_change.c
The file was addedllvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/on_the_fly_arg_change.ll
The file was modifiedllvm/utils/update_cc_test_checks.py
The file was addedclang/test/utils/update_cc_test_checks/Inputs/on_the_fly_arg_change.c.expected
The file was modifiedllvm/utils/update_llc_test_checks.py
The file was addedllvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/on_the_fly_arg_change.ll.expected
The file was modifiedllvm/test/tools/UpdateTestChecks/update_llc_test_checks/basic.test
The file was modifiedllvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/basic.ll.expected
The file was modifiedclang/test/utils/update_cc_test_checks/Inputs/mangled_names.c.funcsig.expected
The file was addedclang/test/utils/update_cc_test_checks/on_the_fly_arg_change.test
Commit a50c7ebfd0f06982e8dc31020acae4d32e6d0e9f by oliver.stannard
[Support] Fix signed/unsigned comparison warning
The file was modifiedllvm/lib/Support/FormattedStream.cpp
Commit 75f9aa6ce0751064d89bb19c9767866d770adf84 by llvm-dev
[X86][AVX] Add SimplifyDemandedVectorEltsForTargetShuffle test for v32i8->v16i8 PSHUFB

On SKX targets we end up loading a v16i8 PSHUFB mask from a v32i8 constant and scaling incorrectly indexes the demanded elts mask - we're missing a check that the constant pool is the same size as the loaded mask.

Test case from D81791 post-commit review.
The file was modifiedllvm/test/CodeGen/X86/vector-shuffle-avx512.ll
Commit 419c92a749294a22a3deaa22719094ebd4e70568 by petar.avramovic
[GlobalISel][InlineAsm] Fix matching input constraints to mem operand

Mark matching input constraint to mem operand as not supported.

Differential Revision: https://reviews.llvm.org/D83235
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/arm64-fallback.ll
The file was modifiedllvm/lib/CodeGen/GlobalISel/InlineAsmLowering.cpp
Commit ebee165184a8000b7f650f0946b25b6ea51859b8 by Raphael Isemann
[lldb][NFC] Fix indentation in expect_expr
The file was modifiedlldb/packages/Python/lldbsuite/test/lldbtest.py
Commit 1be92dd207275e1ecf09dd38f44ead908fe4b8c9 by Alexander.Richardson
Add missing REQUIRES: x86-registered-target

This should fix build bot failures after a80afc032859ebe65af283f76b38a0f5921b683f
The file was modifiedllvm/test/tools/UpdateTestChecks/update_llc_test_checks/on_the_fly_arg_change.test
Commit 9dc250db9db29b0264fbb1e59bde8efa86d90c9b by llvm-dev
[X86][AVX] SimplifyDemandedVectorEltsForTargetShuffle - ensure mask is same size as constant size

Fixes test regression reported on D81791
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/test/CodeGen/X86/vector-shuffle-avx512.ll
Commit b19913188d03d59332908f6280af37325bc49492 by hans
[cmake] Use CMAKE_GENERATOR to determine if Ninja is used

The name of the make program does not necessarily match "ninja",
especially if an alternative implementation like samurai is used.

Using CMAKE_GENERATOR is a more robust detection method, and is
already used elsewhere in this file.

Differential revision: https://reviews.llvm.org/D77091
The file was modifiedllvm/cmake/modules/HandleLLVMOptions.cmake
Commit 695b33a56919af8873eecb47cb83fa17a271e99f by pavel
[lldb/API] Overwrite variables with SBLaunchInfo::SetEnvironment(append=true)

Summary:
This function was documented to overwrite entries with D76111, which was
adding a couple of similar functions. However, this function (unlike the
functions added in that patch) was/is not actually overwriting variables
-- any pre-existing variables would get ignored.

This behavior does not seem to be intentional. In fact, before the refactor in
D41359, this function could introduce duplicate entries, which could
have very surprising effects both inside lldb and on other applications
(some applications would take the first value, some the second one; in
lldb, attempting to unset a variable could make the second variable
become active, etc.).

Overwriting seems to be the most reasonable behavior here, so change the
code to match documentation.

Reviewers: clayborg, wallace, jingham

Subscribers: lldb-commits

Tags: #lldb

Differential Revision: https://reviews.llvm.org/D83306
The file was modifiedlldb/test/API/python_api/sbenvironment/TestSBEnvironment.py
The file was modifiedlldb/source/API/SBLaunchInfo.cpp
Commit 96a5cfff208d8e86a598e64412d9ef5dde0f9c9e by hokein.wu
[AST][RecoveryExpr] Fix the value category for recovery expr.

RecoveryExpr was always lvalue, but it is wrong if we use it to model
broken function calls, function call expression has more compliated rules:

- a call to a function whose return type is an lvalue reference yields an lvalue;
- a call to a function whose return type is an rvalue reference yields an xvalue;
- a call to a function whose return type is nonreference type yields a prvalue;

This patch makes the recovery-expr align with the function call if it is
modeled a broken call.

Differential revision: https://reviews.llvm.org/D83201
The file was modifiedclang/lib/Sema/SemaOverload.cpp
The file was modifiedclang/test/AST/ast-dump-recovery.cpp
The file was modifiedclang/lib/AST/ExprClassification.cpp
The file was modifiedclang/test/SemaCXX/recovery-expr-type.cpp
The file was modifiedclang/lib/AST/Expr.cpp
Commit 88c82474d2ef92d0cda7d902206d90a73eed9c9d by pavel
[lldb/Utility] Simplify Scalar float accessors

Make use of APFloat conversion methods to avoid needing to switch based
on the stored value type.
The file was modifiedlldb/source/Utility/Scalar.cpp
Commit bbea4d5e6b82a683dccaa8f4916e2a44f5dd3490 by sylvestre
clang: Don't show a trailing space with --version when not built from the repo

Reported here:
https://bugs.llvm.org/show_bug.cgi?id=38998#c15

Reviewers: hans

Differential Revision: https://reviews.llvm.org/D83386
The file was modifiedclang/lib/Basic/Version.cpp
Commit 9c31da853855eb952bbad98b99978df8c515e9b2 by medismail.bennani
[lldb/Core] Update comment to make it more explicit (NFC)

Signed-off-by: Med Ismail Bennani <medismail.bennani@gmail.com>
The file was modifiedlldb/source/Core/ValueObject.cpp
Commit 91149002872f968673c8f01f641dfe11dc4a4d7c by spatel
[x86] improve codegen for non-splat bit-masked vector compare and select (PR46531)

vselect ((X & Pow2C) == 0), LHS, RHS --> vselect ((shl X, C') < 0), RHS, LHS

Follow-up to D83073 - the non-splat mask cases where we actually see an
improvement are quite limited from what I can tell. AVX1 needs multiply
and blend capabilities and AVX2 needs vector shift and blend capabilities.
The intersection of those 2 constraints is only vectors with 32-bit or
64-bit elements.

XOP is/was better.

Differential Revision: https://reviews.llvm.org/D83181
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/test/CodeGen/X86/vselect-pcmp.ll
Commit 2ebf4b6e4c35c93c97da9ed14db7b38757c0d7f9 by isuruf
[flang] Fix setting mxcsr on MSVC

Reviewers: sscalpone, jdoerfert, #flang, DavidTruby, jeanPerier

Reviewed By: jeanPerier

Subscribers: richard.barton.arm, jeanPerier, ro, llvm-commits

Tags: #llvm, #flang

Differential Revision: https://reviews.llvm.org/D77815
The file was modifiedflang/unittests/Evaluate/fp-testing.h
The file was modifiedflang/unittests/Evaluate/fp-testing.cpp
The file was modifiedflang/lib/Evaluate/host.cpp
The file was modifiedflang/lib/Evaluate/host.h
Commit 1ea289681acf622ceda783c8fda2f16754b7c933 by pifon
[mlir] Add ViewLikeOpInterface to std.memref_cast.

Summery:  It's needed for correct work of BufferPlacement.

Differential Revision: https://reviews.llvm.org/D83385
The file was modifiedmlir/include/mlir/Dialect/StandardOps/IR/Ops.td
The file was modifiedmlir/lib/Dialect/StandardOps/IR/Ops.cpp
Commit 64363a9d93006595d05825ce8fdbcc146aac15b1 by a.bataev
[NVPTX]Add a test for debug info for packed bitfields, NFC.
The file was addedllvm/test/DebugInfo/NVPTX/packed_bitfields.ll
Commit ea8bba7e8d0db3541a386ad649c4bf21d53e8380 by ecaldas
Fix crash on overloaded postfix unary operators due to invalid sloc

Subscribers: cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D82954
The file was modifiedclang/unittests/Tooling/Syntax/TreeTest.cpp
The file was modifiedclang/lib/Tooling/Syntax/BuildTree.cpp
Commit 26a22478cdfe6fe4d169320910c38958d5dafc38 by ties.stuij
[CodeGen] Don't combine extract + concat vectors with non-legal types

Summary:
The following combine currently breaks in the DAGCombiner:

```
extract_vector_elt (concat_vectors v4i16:a, v4i16:b), x
   -> extract_vector_elt a, x
```

This happens because after we have combined these nodes we have inserted nodes
that use individual instances of the vector element type. In the above example
i16. However this isn't a legal type on all backends, and when the combining pass calls
the legalizer it breaks as it expects types to already be legal. The type legalizer has
already been run, and running it again would make a mess of the nodes.

In the example code at least, the generated code is still efficient after the change.

Reviewers: miyuki, arsenm, dmgreen, lebedev.ri

Reviewed By: miyuki, lebedev.ri

Subscribers: lebedev.ri, wdng, hiraditya, steven.zhang, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D83231
The file was addedllvm/test/CodeGen/AArch64/regress-combine-extract-vectors.ll
The file was modifiedllvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Commit 15fa287b64d0ef845201339994cdf6eb3e4d51e1 by psteinfeld
[flang] Support for image selectors

Summary:
This change implements support for image selectors and image selector
specifications as described in section 9.6.

In check-coarray[.h,cpp] I changed the `Leave()` function for
`parser::ImageSelectorSpec` to take a `parser::ImageSelector`, which
contains a list of image selector specifications.  This allows us to
detect when the same specification is used more than once.  I also added
code to analyze the expressions for the image selector specifications to
expression.cpp and a test for all of the conditions to check at
compile-time.

Note that we do not check at compile-time to see if the value of the
cosubscripts are within the specified cobounds.  We also do not check anything
related to selecting a valid team.  We also do not check that the denotation of
the `stat-variable` is not dependent on the evaluation of an entity in the
same statement.

Reviewers: klausler, tskeith, DavidTruby

Subscribers: llvm-commits

Tags: #llvm, #flang

Differential Revision: https://reviews.llvm.org/D83336
The file was modifiedflang/lib/Semantics/check-coarray.cpp
The file was modifiedflang/lib/Parser/tools.cpp
The file was modifiedflang/lib/Semantics/check-coarray.h
The file was modifiedflang/include/flang/Parser/tools.h
The file was modifiedflang/lib/Semantics/expression.cpp
The file was addedflang/test/Semantics/resolve94.f90
Commit 24b62f28c5daa293a2602712e1eba82cb59f3a6f by eschweitz
[flang] Upstreaming intrinsic call lowering.

This module implements the lowering of Fortran intrinsics to the
corresponding calls in support libraries (the Fortran runtime, math
libraries, etc.)

This revision is a tad larger because there are a large number of Fortran
intrinsics and this adds lowering for a fair number of them.

Differential revision: https://reviews.llvm.org/D83355
The file was modifiedflang/include/flang/Optimizer/Dialect/FIRType.h
The file was modifiedflang/lib/Lower/CharacterExpr.cpp
The file was modifiedflang/include/flang/Lower/CharacterExpr.h
The file was modifiedflang/lib/Lower/Mangler.cpp
The file was modifiedflang/include/flang/Lower/IntrinsicCall.h
The file was modifiedflang/include/flang/Lower/Mangler.h
The file was addedflang/lib/Lower/IntrinsicCall.cpp
The file was modifiedflang/lib/Lower/CMakeLists.txt
The file was modifiedflang/lib/Optimizer/Dialect/FIRType.cpp
Commit 69c22edb7d30983f1bb9d21154e427ebcc5f699c by sam.mccall
[clangd] Enable reading config from files behind a flag

Reviewers: kadircet, hokein

Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, usaxena95, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D83233
The file was modifiedclang-tools-extra/clangd/tool/ClangdMain.cpp
Commit 64030099c378062131fa1b29742a783f2ca14c17 by Stanislav.Mekhanoshin
SLP: honor requested max vector size merging PHIs

At the moment this place does not check maximum size set
by TTI and just creates a maximum possible vectors.

Differential Revision: https://reviews.llvm.org/D82227
The file was modifiedllvm/test/Transforms/SLPVectorizer/slp-max-phi-size.ll
The file was modifiedllvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/remark_unsupported.ll
Commit 6aab27ba851f132f01ea8e87f92243918dc23cfd by sstipanovic
[OpenMPIRBuilder][Fix] Move llvm::omp::types to OpenMPIRBuilder.

Summary:
D82193 exposed a problem with global type definitions in
`OMPConstants.h`. This causes a race when running in thinLTO mode.
Types now live inside of OpenMPIRBuilder to prevent this from happening.

Reviewers: jdoerfert

Subscribers: yaxunl, hiraditya, guansong, dexonsmith, aaron.ballman, cfe-commits, llvm-commits

Tags: #clang, #llvm

Differential Revision: https://reviews.llvm.org/D83176
The file was modifiedllvm/include/llvm/Frontend/OpenMP/OMPConstants.h
The file was modifiedclang/lib/CodeGen/CGStmtOpenMP.cpp
The file was modifiedllvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
The file was modifiedllvm/unittests/Frontend/OpenMPIRBuilderTest.cpp
The file was modifiedclang/lib/CodeGen/CGOpenMPRuntime.h
The file was modifiedclang/lib/CodeGen/CodeGenFunction.cpp
The file was modifiedclang/lib/CodeGen/CodeGenModule.cpp
The file was modifiedclang/lib/CodeGen/CodeGenModule.h
The file was modifiedllvm/lib/Transforms/IPO/OpenMPOpt.cpp
The file was modifiedclang/lib/CodeGen/CGOpenMPRuntime.cpp
The file was modifiedclang/lib/CodeGen/CGDecl.cpp
The file was modifiedclang/lib/CodeGen/CGExpr.cpp
The file was modifiedllvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
The file was modifiedllvm/lib/Frontend/OpenMP/OMPConstants.cpp
Commit a15d798594ae340b037efec2cdba5ec77221e7e7 by sam.mccall
[clangd] Improve serialization error messages. NFC
The file was modifiedclang-tools-extra/clangd/RIFF.cpp
The file was modifiedclang-tools-extra/clangd/index/Serialization.cpp
The file was modifiedclang-tools-extra/clangd/RIFF.h
Commit 37afd99c768b29c7df7c5f2eb645362fb61f9915 by sguelton
Double check that passes correctly set their Modified status

The approach is simple: if a pass reports that it's not modifying a
Function/Module, compute a loose hash of that Function/Module and compare it
with the original one. If we report no change but there's a hash change, then we
have an error.

This approach misses a lot of change but it's not super intrusive and can
detect most of the simple mistakes.

Differential Revision: https://reviews.llvm.org/D80916
The file was modifiedllvm/unittests/IR/LegacyPassManagerTest.cpp
The file was modifiedllvm/lib/IR/LegacyPassManager.cpp
Commit 7a7d50e1f0d84c701fd2aa1b84a73a3e194fb91a by riccibrun
[clang][NFC] Also test for serialization in test/AST/ast-dump-APValue-*

This does not actually exercise the serialization of APValue, but it
will at least prevent a regression in the future. NFC.
The file was modifiedclang/test/AST/ast-dump-APValue-array.cpp
The file was modifiedclang/test/AST/ast-dump-APValue-vector.cpp
The file was modifiedclang/test/AST/ast-dump-APValue-union.cpp
The file was modifiedclang/test/AST/ast-dump-APValue-todo.cpp
The file was modifiedclang/test/AST/ast-dump-APValue-arithmetic.cpp
The file was modifiedclang/test/AST/ast-dump-APValue-struct.cpp
The file was modifiedclang/test/AST/ast-dump-APValue-anon-union.cpp
Commit bb35f0fd89ff4904cc954f1578b6bbe28a6795f1 by paul.walker
[SelectionDAG] Fix incorrect offset when expanding CONCAT_VECTORS.

ExpandVectorBuildThroughStack is also used for CONCAT_VECTORS.
However, when calculating the offsets for each of the operands we
incorrectly use the element size rather than actual size and thus
the stores overlap.

Differential Revision: https://reviews.llvm.org/D83303
The file was modifiedllvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
The file was addedllvm/test/CodeGen/AArch64/sve-fixed-length-shuffles.ll
Commit 7fd29699d6042af674c4f4ad185c91f82cb73b52 by pavel
[lldb] Modernize/clean up ValueObject::GetChildMemberWithName
The file was modifiedlldb/source/Core/ValueObject.cpp
Commit c54a013e5a8206645e2611974ff83d19d74accbe by eschweitz
partial revert on RTBuilder.h to avoid warnings.
The file was modifiedflang/lib/Lower/RTBuilder.h
Commit 470bf7b5a2976b5792a97b2d053a59d4b1082a5f by aeubanks
[Preallocated] Add @llvm.call.preallocated.teardown

This cleans up the stack allocated by a @llvm.call.preallocated.setup.
Should either call the teardown or the preallocated call to clean up the
stack. Calling both is UB.

Add LangRef.

Add verifier check that the token argument is a @llvm.call.preallocated.setup.

Reviewed By: efriedma

Differential Revision: https://reviews.llvm.org/D83354
The file was modifiedllvm/lib/IR/Verifier.cpp
The file was modifiedllvm/test/Verifier/preallocated-invalid.ll
The file was modifiedllvm/include/llvm/IR/Intrinsics.td
The file was modifiedllvm/test/Verifier/preallocated-valid.ll
The file was modifiedllvm/docs/LangRef.rst
Commit a07498425099adbae38d3e8b01a0097fd6791c68 by eleviant
[MIR] Speedup parsing of function with large number of basic blocks

Patch eliminates string length calculation when lexing a token. Speedup can be up to
1000x.

Differential revision: https://reviews.llvm.org/D83389
The file was modifiedllvm/lib/CodeGen/MIRParser/MIParser.cpp
Commit 481709e831b9e14793dea0a825ecc9cd5f1950ca by aeubanks
[NewPM][opt] Share -disable-loop-unrolling between pass managers

There's no reason to introduce a new option for the NPM.
The various PGO options are shared in this manner.

Reviewed By: echristo

Differential Revision: https://reviews.llvm.org/D83368
The file was modifiedllvm/test/Transforms/LoopUnroll/FullUnroll.ll
The file was modifiedllvm/tools/opt/opt.cpp
The file was modifiedllvm/tools/opt/NewPMDriver.cpp
Commit 9d8b4defd3c363ede4b2efc69dae7376d0bc5ffe by noreply
[libc] Fix typographical error in math_utils.h.
The file was modifiedlibc/src/math/math_utils.h
Commit 1ba6fb9293967de21ae33be10603bf5ae0ce1c96 by riccibrun
[clang] Fix a crash when passing a C structure of incompatible type to a function with a reference parameter.

__builtin_va_*() and __builtin_ms_va_*() are declared as functions with a
parameter of reference type.

This patch fixes a crash when using these functions in C where an argument
of structure type is incompatible with the parameter type.

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

Reviewed By: riccibruno

Patch by: Aleksandr Platonov <platonov.aleksandr@huawei.com>
The file was modifiedclang/lib/Sema/SemaInit.cpp
The file was addedclang/test/Sema/init-ref-c.c
Commit 3f17332aa71542842ceb76e77b45315e6f3ff819 by aeubanks
[NewPM][opt] Translate "-O#" to NPM's "default<O#>"

Fixes 52 check-llvm tests under NPM.

Reviewed By: hans

Differential Revision: https://reviews.llvm.org/D83367
The file was modifiedllvm/test/Other/opt-hot-cold-split.ll
The file was modifiedllvm/tools/opt/opt.cpp
Commit a42a58c9ceedf7358a684e8f28b9dc7edd7a19f3 by Louis Dionne
[libc++] Mark some tests as unsupported on GCC 5

There used to be a workaround where we'd pretend that GCC 5 didn't support
C++14 because it doesn't implement it properly. Since that workaround has
been removed (in 1eb211ada17a), we need to mark a few individual tests as
failing with GCC 5.
The file was modifiedlibcxx/test/std/containers/sequences/array/at_const.pass.cpp
The file was modifiedlibcxx/test/libcxx/double_include.sh.cpp
The file was modifiedlibcxx/test/std/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.comp/op_gte.pass.cpp
The file was modifiedlibcxx/test/std/containers/sequences/array/aggregate.pass.cpp
The file was modifiedlibcxx/test/std/algorithms/alg.modifying.operations/alg.random.sample/sample.fail.cpp
The file was modifiedlibcxx/test/std/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.comp/op_lte.pass.cpp
The file was modifiedlibcxx/test/libcxx/input.output/filesystems/convert_file_time.pass.cpp
The file was modifiedlibcxx/test/libcxx/no_assert_include.compile.pass.cpp
The file was modifiedlibcxx/test/libcxx/diagnostics/nodiscard_extensions.pass.cpp
The file was modifiedlibcxx/test/std/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.comp/op_gt.pass.cpp
The file was modifiedlibcxx/test/libcxx/memory/aligned_allocation_macro.pass.cpp
The file was modifiedlibcxx/test/libcxx/min_max_macros.compile.pass.cpp
The file was modifiedlibcxx/test/libcxx/utilities/variant/version.pass.cpp
The file was modifiedlibcxx/test/libcxx/debug/containers/db_sequence_container_iterators.multithread.pass.cpp
The file was modifiedlibcxx/test/std/containers/sequences/array/contiguous.pass.cpp
The file was modifiedlibcxx/test/libcxx/utilities/optional/optional.object/optional.object.assign/move.pass.cpp
The file was modifiedlibcxx/test/libcxx/utilities/variant/variant.variant/variant_size.pass.cpp
The file was modifiedlibcxx/test/std/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.nonmember/make_move_iterator.pass.cpp
The file was modifiedlibcxx/test/libcxx/utilities/optional/optional.object/optional.object.assign/copy.pass.cpp
The file was modifiedlibcxx/test/std/containers/sequences/array/at.pass.cpp
Commit 0fc17e9edc8f95e2f52966b2187fa04002f30f3d by sjoerd.meijer
[matrix] Add some more Verifier negative tests. NFC.
The file was modifiedllvm/test/Verifier/matrix-intrinsics.ll
Commit bf9a940c3f1b460420b1106fe5b1565fd60be5a2 by sguelton
Revert "Double check that passes correctly set their Modified status"

This reverts commit 37afd99c768b29c7df7c5f2eb645362fb61f9915.
The file was modifiedllvm/unittests/IR/LegacyPassManagerTest.cpp
The file was modifiedllvm/lib/IR/LegacyPassManager.cpp
Commit 3fa989d4fd6b854209ba4e950d96b91d6d5797b4 by nicolai.haehnle
DomTree: remove explicit use of DomTreeNodeBase::iterator

Summary:
Almost all uses of these iterators, including implicit ones, really
only need the const variant (as it should be). The only exception is
in NewGVN, which changes the order of dominator tree child nodes.

Change-Id: I4b5bd71e32d71b0c67b03d4927d93fe9413726d4

Reviewers: arsenm, RKSimon, mehdi_amini, courbet, rriddle, aartbik

Subscribers: wdng, Prazek, hiraditya, kuhar, rogfer01, rriddle, jpienaar, shauheen, antiagainst, nicolasvasilache, arpith-jacob, mgester, lucyrfox, aartbik, liufengdb, stephenneuendorffer, Joonsoo, grosul1, vkmr, Kayjukh, jurahul, msifontes, cfe-commits, llvm-commits

Tags: #clang, #mlir, #llvm

Differential Revision: https://reviews.llvm.org/D83087
The file was modifiedllvm/lib/Transforms/Scalar/Sink.cpp
The file was modifiedllvm/include/llvm/IR/Dominators.h
The file was modifiedllvm/lib/Transforms/Scalar/EarlyCSE.cpp
The file was modifiedllvm/lib/Target/X86/X86InstrInfo.cpp
The file was modifiedclang/include/clang/Analysis/Analyses/Dominators.h
The file was modifiedllvm/include/llvm/CodeGen/MachineDominators.h
The file was modifiedmlir/lib/Transforms/CSE.cpp
The file was modifiedllvm/lib/Transforms/Vectorize/VPlanDominatorTree.h
The file was modifiedmlir/include/mlir/IR/Dominance.h
Commit cca8578efab096fddcb0134b28b17f4758e9afa0 by ulrich.weigand
[SystemZ] Allow specifying integer registers as part of the address calculation

Revision e1de2773a534957305d7a559c6d88c4b5ac354e2 provided support for
accepting integer registers in inline asm i.e.

__asm("lhi %r0, 5") -> lhi %r0, 5
__asm("lhi 0, 5") -> lhi 0,5

This patch aims to extend this support to instructions which compute
addresses as well. (i.e instructions of type BDMem and BD[X|R|V|L]Mem)

Author: anirudhp

Differential Revision: https://reviews.llvm.org/D83251
The file was modifiedllvm/test/MC/SystemZ/insn-bad.s
The file was modifiedllvm/test/MC/SystemZ/tokens.s
The file was modifiedllvm/test/MC/SystemZ/insn-good-z13.s
The file was modifiedllvm/lib/Target/SystemZ/AsmParser/SystemZAsmParser.cpp
The file was modifiedllvm/test/MC/SystemZ/regs-good.s
The file was modifiedllvm/test/MC/SystemZ/insn-good.s
The file was modifiedllvm/test/MC/SystemZ/insn-good-z14.s
The file was modifiedllvm/test/MC/SystemZ/insn-good-z15.s
Commit e32469a140374737ad0ece395d5b52444bd94cd1 by wmi
[SampleFDO] Enable sample-profile-top-down-load and sample-profile-merge-inlinee
by default.

sample-profile-top-down-load is an internal option which can enable top-down
order of inlining and profile annotation in sample profile load pass. It was
found to be beneficial for better profile annotation.

Recently we found it could also solve some build time issue. Suppose function
A has many callsites in function B. In the last release binary where sample
profile was collected, the outline copy of A is large because there are many
other functions inlined into A. However although all the callsites calling A
in B are inlined, but every inlined body is small (A was inlined into B
before other functions are inlined into A), there is no build time issue in
last release.

In an optimized build using the sample profile collected from last release,
without top-down inlining, we saw a case that A got very large because of
inlining, and then multiple callsites of A got inlined into B, and that led
to a huge B which caused significant build time issue besides profile
annotation issue.

To solve that problem, the patch enables the flag
sample-profile-top-down-load by default. sample-profile-top-down-load can
have better performance when it is enabled together with
sample-profile-merge-inlinee so in this patch we also enable
sample-profile-merge-inlinee by default.

Differential Revision: https://reviews.llvm.org/D82919
The file was modifiedllvm/lib/Transforms/IPO/SampleProfile.cpp
The file was modifiedllvm/test/Transforms/SampleProfile/inline-topdown.ll
The file was modifiedllvm/test/Transforms/SampleProfile/inline-mergeprof.ll
Commit 0b2536d0bdb4cba2a0305067cc0d2ff988ab909d by aeubanks
[NewPM] Add PredicateInfoPrinterPass to PassRegistry.def

Fixes tests under NPM in Transforms/Util/PredicateInfo.
The file was modifiedllvm/lib/Passes/PassRegistry.def
Commit 08a2c9ce5c86d1754f71b24c5c83b4a07de00749 by llvm-dev
[X86] Fix copy+paste typo in combineVectorPack assert message. NFC.
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
Commit 800fb68420681d14f7690b76421c57ff474349a1 by llvm-dev
[X86][SSE] Pull out PACK(SHUFFLE(),SHUFFLE()) folds into its own function. NFC.

Future patches will extend this so declutter combineVectorPack before we start.
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
Commit 39329d5724d94737fda0212f8e89ca240f14474a by spatel
[DAGCombiner] add enum for store source value; NFC

This removes existing code duplication and allows us to
assert that we are handling the expected cases.

We have a list of outstanding bugs that could benefit by
handling truncated source values, so that's a possible
addition going forward.
The file was modifiedllvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Commit 683a7f7025b3115053449a76463e11916ecf350f by spatel
[DAGCombiner] fix function-name formatting; NFC
The file was modifiedllvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Commit f69acb2af85ae71b823a15c6f73e50d4b90111b5 by Louis Dionne
[libc++][NFC] Remove outdated TODO item
The file was modifiedlibcxx/TODO.TXT
Commit 63b0f8c788d8c6978feb099fd6db8fe219c4d166 by shafik
[RecordLayout] Fix ItaniumRecordLayoutBuilder so that is grabs the correct bases class offsets from the external source

Currently the ItaniumRecordLayoutBuilder when laying out base classes has the virtual
and non-virtual bases mixed up when pulling the base class layouts from the external source.

This came up in an LLDB bug where on arm64 because of differences in how it deals with
tail padding would layout the bases differently without the correct layout from the
external source (LLDB). This would result in some fields being off by 4 bytes.

Differential Revision: https://reviews.llvm.org/D83008
The file was modifiedclang/lib/AST/RecordLayoutBuilder.cpp
The file was addedlldb/test/API/lang/cpp/alignas_base_class/main.cpp
The file was addedlldb/test/API/lang/cpp/alignas_base_class/Makefile
The file was addedlldb/test/API/lang/cpp/alignas_base_class/TestAlignAsBaseClass.py
Commit 1eaad01046c88be6bf65265a2bcc53db5a5b48d0 by Yaxun.Liu
[CUDA][HIP] Let lambda be host device by default

This patch let lambda be host device by default and adds diagnostics for
capturing host variable by reference in device lambda.

Differential Revision: https://reviews.llvm.org/D78655
The file was addedclang/test/SemaCUDA/lambda.cu
The file was addedclang/test/CodeGenCUDA/lambda.cu
The file was modifiedclang/include/clang/Basic/DiagnosticSemaKinds.td
The file was modifiedclang/include/clang/Sema/Sema.h
The file was modifiedclang/lib/Sema/SemaLambda.cpp
The file was modifiedclang/lib/Sema/SemaCUDA.cpp
The file was modifiedclang/test/SemaCUDA/Inputs/cuda.h
Commit 9520b6c8ab63061e1734deef8614eaa60f704dc9 by psteinfeld
[flang] Fix a crash when cosubscript list is empty

Summary:
When there are errors in the evaluation of every cosubscript expression in a
coindexed object, the compiler would crash.  I fixed this by just checking to
see if there were errors in the evaluation of the cosubscripts before
constructing the `DataRef` for the coindexed object.

Reviewers: klausler, tskeith, DavidTruby

Subscribers: llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D83410
The file was modifiedflang/lib/Semantics/expression.cpp
The file was modifiedflang/test/Semantics/resolve94.f90
Commit 4ce56b8122219f7b79d75d33184e3ec890a6e222 by maskray
[ELF] Add -z dead-reloc-in-nonalloc=<section_glob>=<value>

... to customize the tombstone value we use for an absolute relocation
referencing a discarded symbol. This can be used as a workaround when
some debug processing tool has trouble with current -1 tombstone value
(https://bugs.chromium.org/p/chromium/issues/detail?id=1102223#c11 )

For example, to get the current built-in rules (not considering the .debug_line special case for ICF):

```
-z dead-reloc-in-nonalloc='.debug_*=0xffffffffffffffff'
-z dead-reloc-in-nonalloc=.debug_loc=0xfffffffffffffffe
-z dead-reloc-in-nonalloc=.debug_ranges=0xfffffffffffffffe
```

To get GNU ld (as of binutils 2.35)'s behavior:

```
-z dead-reloc-in-nonalloc='*=0'
-z dead-reloc-in-nonalloc=.debug_ranges=1
```

This option has other use cases. For example, if we want to check
whether a non-SHF_ALLOC section has dead relocations.
With this patch, we can run a regular LLD and run another with a special
-z dead-reloc-in-nonalloc=, then compare their output.

Reviewed By: thakis

Differential Revision: https://reviews.llvm.org/D83264
The file was addedlld/test/ELF/dead-reloc-in-nonalloc.s
The file was modifiedlld/ELF/InputSection.cpp
The file was modifiedlld/docs/ld.lld.1
The file was modifiedlld/test/ELF/debug-dead-reloc.s
The file was modifiedlld/ELF/Driver.cpp
The file was modifiedlld/ELF/Config.h
Commit e89c075f3251bc4778dceb890388483151f24659 by maskray
[test] Run llvm/test/**/*.yaml & don't run llvm/test/**/*.cxx (not exist)

This patch extends D58439 (`llvm/test/{yaml2obj,obj2yaml}/**/*.yaml`) and runs all
`llvm/test/**/*.yaml`

Many directories have configured `.yaml` (see the deleted lit.local.cfg
files). Yet still some don't configure .yaml and have caused stale tests:

* 8c5825befb7bbb2e76f7eccedc6d3bf26e9b2a6a test/llvm-readobj
* bdc3134e237737dd46b51cd1ecd41ecbbe9f921a test/ExecutionEngine

Just hoist .yaml to `llvm/test/lit.cfg.py`. Also delete .cxx which is
not used.  The number of tests running on my machine increases from 38304 to 38309.
The list of new tests:

```
ExecutionEngine/RuntimeDyld/X86/ELF_x86-64_none.yaml
Object/archive-error-tmp.txt
tools/llvm-ar/coff-weak.yaml
tools/llvm-readobj/ELF/verneed-flags.yaml
tools/obj2yaml/COFF/bss.s
```

Reviewed By: grimar, jhenderson, rupprecht

Differential Revision: https://reviews.llvm.org/D83350
The file was removedllvm/test/Object/lit.local.cfg
The file was removedllvm/test/ObjectYAML/lit.local.cfg
The file was modifiedllvm/test/lit.cfg.py
The file was modifiedllvm/test/tools/llvm-as/lit.local.cfg
The file was removedllvm/test/tools/yaml2obj/lit.local.cfg
The file was removedllvm/test/tools/obj2yaml/lit.local.cfg
The file was removedllvm/test/tools/llvm-dwarfdump/lit.local.cfg
The file was removedllvm/test/tools/llvm-objdump/lit.local.cfg
The file was removedllvm/test/tools/llvm-xray/X86/lit.local.cfg
The file was modifiedllvm/test/tools/llvm-gsymutil/X86/lit.local.cfg
The file was modifiedllvm/test/tools/llvm-gsymutil/ARM_AArch64/lit.local.cfg
The file was modifiedllvm/test/tools/llvm-nm/lit.local.cfg
The file was removedllvm/test/tools/llvm-readobj/COFF/lit.local.cfg
Commit 169ec2d6b006ea31114a7d6ddc3f002d3cb4acb3 by maskray
[ELF] Rename canRelax to toExecRelax. NFC

In the absence of TLS relaxation (rewrite of code sequences),
there is still an applicable optimization:

[gd]: General Dynamic: resolve DTPMOD to 1 and/or resolve DTPOFF statically

All the other relaxations are only performed when transiting to
executable (`!config->shared`).
Since [gd] is handled differently, we can fold `!config->shared` into canRelax
and simplify its use sites. Rename the variable to reflect to new semantics.

Reviewed By: grimar, psmith

Differential Revision: https://reviews.llvm.org/D83243
The file was modifiedlld/ELF/Relocations.cpp
Commit 01d5cc5386affeda878e7e21b57c2a7e050d7b0a by craig.topper
hwasan: Don't pass the tagged-globals target-feature to non-aarch64 backends.

The other backends don't know what this feature is and print a
message to stderr.

I recently tried to rework some target feature stuff in X86 and
this unknown feature tripped an assert I added.

Differential Revision: https://reviews.llvm.org/D83369
The file was modifiedclang/lib/Driver/SanitizerArgs.cpp
The file was modifiedclang/test/Driver/fsanitize.c
Commit 82206e7fb49d9593d946599b107e8a8ad29a7d22 by craig.topper
[X86] Enabled a bunch of 64-bit Interlocked* functions intrinsics on 32-bit Windows to match recent MSVC

This enables _InterlockedAnd64/_InterlockedOr64/_InterlockedXor64/_InterlockedDecrement64/_InterlockedIncrement64/_InterlockedExchange64/_InterlockedExchangeAdd64/_InterlockedExchangeSub64 on 32-bit Windows

The backend already knows how to expand these to a loop using cmpxchg8b on 32-bit targets.

Fixes PR46595

Differential Revision: https://reviews.llvm.org/D83254
The file was modifiedclang/include/clang/Basic/BuiltinsX86.def
The file was modifiedclang/test/CodeGen/ms-intrinsics.c
The file was modifiedclang/include/clang/Basic/BuiltinsX86_64.def
The file was modifiedclang/lib/Headers/intrin.h
Commit 6ab3208d779ffb3b32744b0190d7035d4b369173 by mcypark
Remove the unnecessary `is_nothrow_swappable` condition in `swap`.

Thanks to @lewissbaker who pointed out the unnecessary condition in
https://reviews.llvm.org/D81954#inline-756872. Since this codepath does not
make use of `swap` anyway (that codepath is a different branch), we can safely
remove this condition and produce better codegen when all types are nothrow
movable but are potentially-throwing swappable.

See codegen in https://gcc.godbolt.org/z/uDFZjz

Reviewed By: ldionne, #libc

Differential Revision: https://reviews.llvm.org/D83274
The file was modifiedlibcxx/include/variant
Commit 4137ab62cff268ed0de51ba2283143a6a992a932 by maskray
[Support] Define llvm::parallel::strategy for -DLLVM_ENABLE_THREADS=off builds after D76885
The file was modifiedllvm/lib/Support/Parallel.cpp
Commit e81c05777d67ec2dcbd55d34c7d2287e237bfbd1 by maskray
[test] Add REQUIRES: x86-registered-target to tools/obj2yaml/COFF/bss.s
The file was modifiedllvm/test/tools/obj2yaml/COFF/bss.s
Commit 2be4014fe6005e310b9e24c88d407c7a14eb625e by Louis Dionne
[libc++] Reimplement platform detection features without running on the test host

It's sufficient to sniff the platform we're running on using the compiler
macros -- we don't need to run any code.
The file was modifiedlibcxx/utils/libcxx/test/features.py
Commit c444b1b904b11356c57980a41a19f4ef361b80a8 by ctetreau
[SVE] Remove calls to VectorType::getNumElements from Scalar

Reviewers: efriedma, fhahn, reames, kmclaughlin, sdesmalen

Reviewed By: sdesmalen

Subscribers: tschuett, hiraditya, rkruppe, psnobl, dantrushin, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D82243
The file was modifiedllvm/lib/Transforms/Scalar/LowerMatrixIntrinsics.cpp
The file was modifiedllvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp
The file was modifiedllvm/lib/Transforms/Scalar/SROA.cpp
The file was modifiedllvm/lib/Transforms/Scalar/Scalarizer.cpp
Commit f4bd01c1918e90f232a098b4878b52c6f7d4a215 by jay.foad
[AMDGPU] Fix and simplify AMDGPUCodeGenPrepare::expandDivRem32

Fix the division/remainder algorithm by adding a second quotient
refinement step, which is required in some cases like
0xFFFFFFFFu / 0x11111111u (https://bugs.llvm.org/show_bug.cgi?id=46212).

Also document, rewrite and simplify it by ensuring that we always have a
lower bound on inv(y), which simplifies the UNR step and the quotient
refinement steps.

Differential Revision: https://reviews.llvm.org/D83381
The file was modifiedllvm/test/CodeGen/AMDGPU/udivrem.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/udiv.i32.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/srem.i32.ll
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUCodeGenPrepare.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/bypass-div.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/amdgpu-codegenprepare-fold-binop-select.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/urem.i32.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/amdgpu-codegenprepare-idiv.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/sdiv.i32.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/idiv-licm.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/sdiv.ll
Commit ecac951be92b71e5ec887a9fc768f202e4a8ab69 by jay.foad
[AMDGPU] Fix and simplify AMDGPUTargetLowering::LowerUDIVREM

Use the algorithm from AMDGPUCodeGenPrepare::expandDivRem32.

Differential Revision: https://reviews.llvm.org/D83382
The file was modifiedllvm/lib/Target/AMDGPU/CaymanInstructions.td
The file was modifiedllvm/test/CodeGen/AMDGPU/sdiv.ll
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUInstructions.td
The file was modifiedllvm/test/CodeGen/AMDGPU/udivrem.ll
The file was modifiedllvm/lib/Target/AMDGPU/SIInstructions.td
The file was modifiedllvm/test/CodeGen/AMDGPU/bypass-div.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/amdgpu-codegenprepare-idiv.ll
Commit a8816ebee01c1f923d928617bb4e55dcc1d7d6da by jay.foad
[AMDGPU] Fix and simplify AMDGPULegalizerInfo::legalizeUDIV_UREM32Impl

Use the algorithm from AMDGPUCodeGenPrepare::expandDivRem32.

Differential Revision: https://reviews.llvm.org/D83383
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/udiv.i32.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/urem.i32.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/urem.i64.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/sdiv.i64.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/srem.i64.ll
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/udiv.i64.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/sdiv.i32.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-udiv.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-sdiv.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-srem.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-urem.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/srem.i32.ll
Commit 47788b97a9eb1215d0ac01826f51fbe286f56c0b by jay.foad
SILoadStoreOptimizer: add support for GFX10 image instructions

GFX10 image instructions use one or more address operands starting at
vaddr0, instead of a single vaddr operand, to allow for NSA forms.

Differential Revision: https://reviews.llvm.org/D81675
The file was addedllvm/test/CodeGen/AMDGPU/merge-image-load-gfx10.mir
The file was addedllvm/test/CodeGen/AMDGPU/merge-image-sample-gfx10.mir
The file was modifiedllvm/lib/Target/AMDGPU/SILoadStoreOptimizer.cpp
Commit 26b0a23084f049f4084fc9f1d599ade66e4af185 by Louis Dionne
[pstl] Fix a few errors when running PSTL tests through the libc++ test suite
The file was modifiedpstl/test/std/numerics/numeric.ops/transform_reduce.pass.cpp
The file was modifiedpstl/include/pstl/internal/algorithm_impl.h
The file was modifiedpstl/test/std/algorithms/alg.sorting/alg.set.operations/set.pass.cpp
Commit f86d96a96441eb9f83c2dedb0ba5d7e4dc8dc089 by maskray
[ELF] Enforce double-dash form for --warn-backrefs-exclude

This is an LLD-specific option. We have enforced double-dash forms for
other options (reduce collision with short options) but missed this one.
The file was modifiedlld/ELF/Options.td
Commit 12c2271e534c297b71e52c3a25b53f3d475db78d by spatel
[DAGCombiner] fix code comment and improve readability; NFC
The file was modifiedllvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Commit 1265eb2d5f7e9cdf6a557a2a1c338f370d730917 by spatel
[DAGCombiner] clean up in mergeConsecutiveStores(); NFC
The file was modifiedllvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Commit ef14e52be4e1ce4a6aa2a28738aed2cfcc0a31f1 by Louis Dionne
[pstl] Do not install the __config_site.in file

The generated version of the file is already installed -- we shouldn't
install the pre-generation version of the file.
The file was modifiedpstl/CMakeLists.txt
Commit fead250b439bbd4ec0f21e6a52d0c174e5fcdf5a by anhtuyen
[NFC] Separate Peeling Properties into its own struct

Summary:
This patch makes the peeling properties of the loop accessible by other loop transformations.

Author: sidbav (Sidharth Baveja)

Reviewers: Whitney (Whitney Tsang), Meinersbur (Michael Kruse), skatkov (Serguei Katkov), ashlykov (Arkady Shlykov), bogner (Justin Bogner), hfinkel (Hal Finkel)

Reviewed By: Meinersbur (Michael Kruse)

Subscribers: fhahn (Florian Hahn), hiraditya (Aditya Kumar), llvm-commits, LLVM

Tag: LLVM

Differential Revision: https://reviews.llvm.org/D80580
The file was modifiedllvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
The file was modifiedllvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
The file was modifiedllvm/lib/Transforms/Utils/LoopUnrollPeel.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.h
The file was modifiedllvm/include/llvm/Analysis/TargetTransformInfoImpl.h
The file was modifiedllvm/lib/Analysis/TargetTransformInfo.cpp
The file was modifiedllvm/lib/Target/Hexagon/HexagonTargetTransformInfo.cpp
The file was modifiedllvm/lib/Transforms/Scalar/LoopUnrollAndJamPass.cpp
The file was modifiedllvm/lib/Target/ARM/ARMTargetTransformInfo.h
The file was modifiedllvm/lib/Target/NVPTX/NVPTXTargetTransformInfo.h
The file was modifiedllvm/lib/Target/SystemZ/SystemZTargetTransformInfo.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
The file was modifiedllvm/include/llvm/Transforms/Utils/UnrollLoop.h
The file was modifiedllvm/lib/Target/PowerPC/PPCTargetTransformInfo.h
The file was modifiedllvm/lib/Transforms/Scalar/LoopUnrollPass.cpp
The file was modifiedllvm/lib/Target/ARM/ARMTargetTransformInfo.cpp
The file was modifiedllvm/include/llvm/CodeGen/BasicTTIImpl.h
The file was modifiedllvm/lib/Target/Hexagon/HexagonTargetTransformInfo.h
The file was modifiedllvm/lib/Target/PowerPC/PPCTargetTransformInfo.cpp
The file was modifiedllvm/lib/Target/NVPTX/NVPTXTargetTransformInfo.cpp
The file was modifiedllvm/lib/Target/SystemZ/SystemZTargetTransformInfo.h
The file was modifiedllvm/include/llvm/Analysis/TargetTransformInfo.h
Commit 6965af43e6b83fda2c32663f55b1568ffe6d67f9 by anhtuyen
Revert "[NFC] Separate Peeling Properties into its own struct"

This reverts commit fead250b439bbd4ec0f21e6a52d0c174e5fcdf5a.
The file was modifiedllvm/include/llvm/Analysis/TargetTransformInfoImpl.h
The file was modifiedllvm/lib/Target/Hexagon/HexagonTargetTransformInfo.cpp
The file was modifiedllvm/lib/Transforms/Scalar/LoopUnrollAndJamPass.cpp
The file was modifiedllvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
The file was modifiedllvm/lib/Target/ARM/ARMTargetTransformInfo.cpp
The file was modifiedllvm/lib/Target/PowerPC/PPCTargetTransformInfo.cpp
The file was modifiedllvm/lib/Target/NVPTX/NVPTXTargetTransformInfo.h
The file was modifiedllvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
The file was modifiedllvm/include/llvm/CodeGen/BasicTTIImpl.h
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
The file was modifiedllvm/lib/Transforms/Utils/LoopUnrollPeel.cpp
The file was modifiedllvm/lib/Target/SystemZ/SystemZTargetTransformInfo.cpp
The file was modifiedllvm/lib/Analysis/TargetTransformInfo.cpp
The file was modifiedllvm/include/llvm/Analysis/TargetTransformInfo.h
The file was modifiedllvm/lib/Target/NVPTX/NVPTXTargetTransformInfo.cpp
The file was modifiedllvm/lib/Transforms/Scalar/LoopUnrollPass.cpp
The file was modifiedllvm/include/llvm/Transforms/Utils/UnrollLoop.h
The file was modifiedllvm/lib/Target/ARM/ARMTargetTransformInfo.h
The file was modifiedllvm/lib/Target/SystemZ/SystemZTargetTransformInfo.h
The file was modifiedllvm/lib/Target/Hexagon/HexagonTargetTransformInfo.h
The file was modifiedllvm/lib/Target/PowerPC/PPCTargetTransformInfo.h
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.h
Commit 0369dc98f958a1ca2ec05f1897f091129bb16e8a by anhtuyen
[NFC] Separate Peeling Properties into its own struct

Summary:
This patch makes the peeling properties of the loop accessible by other loop transformations.

Author: sidbav (Sidharth Baveja)

Reviewers: Whitney (Whitney Tsang), Meinersbur (Michael Kruse), skatkov (Serguei Katkov), ashlykov (Arkady Shlykov), bogner (Justin Bogner), hfinkel (Hal Finkel)

Reviewed By: Meinersbur (Michael Kruse)

Subscribers: fhahn (Florian Hahn), hiraditya (Aditya Kumar), llvm-commits, LLVM

Tag: LLVM

Differential Revision: https://reviews.llvm.org/D80580
The file was modifiedllvm/lib/Transforms/Utils/LoopUnrollPeel.cpp
The file was modifiedllvm/lib/Target/NVPTX/NVPTXTargetTransformInfo.cpp
The file was modifiedllvm/include/llvm/Analysis/TargetTransformInfoImpl.h
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.h
The file was modifiedllvm/lib/Target/ARM/ARMTargetTransformInfo.cpp
The file was modifiedllvm/lib/Target/NVPTX/NVPTXTargetTransformInfo.h
The file was modifiedllvm/lib/Target/ARM/ARMTargetTransformInfo.h
The file was modifiedllvm/include/llvm/Transforms/Utils/UnrollLoop.h
The file was modifiedllvm/lib/Target/PowerPC/PPCTargetTransformInfo.h
The file was modifiedllvm/lib/Transforms/Scalar/LoopUnrollAndJamPass.cpp
The file was modifiedllvm/lib/Target/Hexagon/HexagonTargetTransformInfo.cpp
The file was modifiedllvm/lib/Target/SystemZ/SystemZTargetTransformInfo.h
The file was modifiedllvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
The file was modifiedllvm/lib/Target/Hexagon/HexagonTargetTransformInfo.h
The file was modifiedllvm/include/llvm/Analysis/TargetTransformInfo.h
The file was modifiedllvm/include/llvm/CodeGen/BasicTTIImpl.h
The file was modifiedllvm/lib/Target/SystemZ/SystemZTargetTransformInfo.cpp
The file was modifiedllvm/lib/Transforms/Scalar/LoopUnrollPass.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
The file was modifiedllvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
The file was modifiedllvm/lib/Analysis/TargetTransformInfo.cpp
The file was modifiedllvm/lib/Target/PowerPC/PPCTargetTransformInfo.cpp
Commit 512c90389839a595ff592bf2f1345e0f1bc18530 by Louis Dionne
[libc++] Install PSTL when installing libc++ with parallel algorithms enabled
The file was modifiedlibcxx/src/CMakeLists.txt
Commit 89f1ad88b3f1ecf32e797247b9eab5662ed4bcf4 by guiand
[LangRef] Introduce `noundef` attribute for fully defined function params

LLVM currently does not require function parameters or return values
to be fully initialized, and does not care if they are poison. This can
be useful if the frontend ABI makes no such demands, but may prevent
helpful backend transformations in case they do. Specifically, the C
and C++ languages require all scalar function operands to be fully
determined.

Introducing this attribute is of particular use to MemorySanitizer
today, although other transformations may benefit from it as well.
We can modify MemorySanitizer instrumentation to provide modest (17%)
space savings where `frozen` is present.

This commit only adds the attribute to the Language Reference, and
the actual implementation of the attribute will follow in a separate
commit.

Differential Revision: https://reviews.llvm.org/D82316
The file was modifiedllvm/docs/LangRef.rst
The file was modifiedllvm/docs/BitCodeFormat.rst
Commit ff7900d5def4f645a6675d99ad39a38d8a468a63 by guiand
[LLVM] Accept `noundef` attribute in function definitions/calls

The `noundef` attribute indicates an argument or return value which
may never have an undef value representation.

This patch allows LLVM to parse the attribute.

Differential Revision: https://reviews.llvm.org/D83412
The file was modifiedllvm/lib/AsmParser/LLParser.cpp
The file was modifiedllvm/include/llvm/Bitcode/LLVMBitCodes.h
The file was modifiedllvm/lib/Bitcode/Reader/BitcodeReader.cpp
The file was modifiedllvm/lib/AsmParser/LLToken.h
The file was modifiedllvm/lib/Bitcode/Writer/BitcodeWriter.cpp
The file was modifiedllvm/test/Bitcode/attributes.ll
The file was modifiedllvm/include/llvm/IR/Attributes.td
The file was modifiedllvm/lib/AsmParser/LLLexer.cpp
The file was modifiedllvm/lib/IR/Attributes.cpp
The file was modifiedllvm/lib/Transforms/Utils/CodeExtractor.cpp
Commit 05ce9aaa69f9f58598730895bdb5535fea17213f by mcinally
Tighten description of ISD::BUILD_VECTOR

VerifySDNode(...) in SelectionDAG.cpp shows that the operands of a BUILD_VECTOR must all be the same type. This patch cleans up the comment in ISDOpcodes.h to make that more obvious. Also, remove the requirement that the number of elements must be a power-of-2. That's not true.

Differential Revision: https://reviews.llvm.org/D83413
The file was modifiedllvm/include/llvm/CodeGen/ISDOpcodes.h
Commit d2eb40937976d858807faee6fbc3e016fd3a4108 by ctetreau
[Solaris] Fix Solaris build bots

Reviewers: ro

Subscribers: llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D83415
The file was modifiedllvm/unittests/IR/ConstantsTest.cpp
Commit 898065a7b879f204874820f16e4e16ea2a961de0 by mcinally
Reword description of ISD::BUILD_VECTOR

Move operand type restriction to the end of the description. This
hopefully makes the intention more clear.

Differential Revision: https://reviews.llvm.org/D83413
The file was modifiedllvm/include/llvm/CodeGen/ISDOpcodes.h
Commit a48cf72238e740adb2a45012736c0c655070fb8f by nikita.ppv
[InstSimplify] Handle not inserted instruction gracefully (PR46638)

When simplifying comparisons using a dominating assume, bail out
if the context instruction is not inserted.
The file was addedllvm/test/Transforms/SimplifyCFG/pr46638.ll
The file was modifiedllvm/lib/Analysis/InstructionSimplify.cpp
Commit 0b39d2d75275b80994dac06b7ad05031cbd09393 by nikita.ppv
Revert "[NFC] Separate Peeling Properties into its own struct"

This reverts commit 0369dc98f958a1ca2ec05f1897f091129bb16e8a.

Many failing tests.
The file was modifiedllvm/lib/Target/PowerPC/PPCTargetTransformInfo.cpp
The file was modifiedllvm/lib/Target/ARM/ARMTargetTransformInfo.cpp
The file was modifiedllvm/lib/Analysis/TargetTransformInfo.cpp
The file was modifiedllvm/lib/Target/Hexagon/HexagonTargetTransformInfo.cpp
The file was modifiedllvm/lib/Transforms/Utils/LoopUnrollPeel.cpp
The file was modifiedllvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
The file was modifiedllvm/lib/Target/SystemZ/SystemZTargetTransformInfo.h
The file was modifiedllvm/include/llvm/Analysis/TargetTransformInfo.h
The file was modifiedllvm/include/llvm/Transforms/Utils/UnrollLoop.h
The file was modifiedllvm/lib/Target/NVPTX/NVPTXTargetTransformInfo.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
The file was modifiedllvm/lib/Target/ARM/ARMTargetTransformInfo.h
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.h
The file was modifiedllvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
The file was modifiedllvm/lib/Transforms/Scalar/LoopUnrollPass.cpp
The file was modifiedllvm/lib/Target/NVPTX/NVPTXTargetTransformInfo.h
The file was modifiedllvm/lib/Target/Hexagon/HexagonTargetTransformInfo.h
The file was modifiedllvm/lib/Target/SystemZ/SystemZTargetTransformInfo.cpp
The file was modifiedllvm/lib/Transforms/Scalar/LoopUnrollAndJamPass.cpp
The file was modifiedllvm/include/llvm/Analysis/TargetTransformInfoImpl.h
The file was modifiedllvm/include/llvm/CodeGen/BasicTTIImpl.h
The file was modifiedllvm/lib/Target/PowerPC/PPCTargetTransformInfo.h
Commit 9b1e95329af7bb005275f18225b2c130ec3ea98d by craig.topper
[InstSimplify] Remove select ?, undef, X -> X and select ?, X, undef -> X transforms

As noted here https://lists.llvm.org/pipermail/llvm-dev/2016-October/106182.html and by alive2, this transform isn't valid. If X is poison this potentially propagates poison when it shouldn't.

This same transform still exists in DAGCombiner.

Differential Revision: https://reviews.llvm.org/D83360
The file was modifiedllvm/lib/Analysis/InstructionSimplify.cpp
The file was modifiedclang/test/CodeGen/arm-mve-intrinsics/dup.c
The file was modifiedllvm/test/Transforms/InstCombine/select.ll
The file was modifiedllvm/test/Transforms/InstSimplify/select.ll
Commit 4544c2d95ad0217e1f28ddd84253cd09a91148c0 by richard
Recover more gracefully from stack exhaustion during template argument
deduction.

Template argument deduction can trigger substitution, both with
explicitly-specified template arguments and with deduced template
arguments in various ways. We previously had no check for stack
exhaustion along some of those codepaths, making it fairly easy to crash
clang with a template resulting in a substitution that referred back to
that same template. We should now produce a proper diagnostic for such
cases rather than crashing.
The file was modifiedclang/lib/Sema/SemaTemplateDeduction.cpp
The file was modifiedclang/test/SemaTemplate/stack-exhaustion.cpp
Commit 27d52cd86a2cf82214b71519dffd450c54cf87ae by ditaliano
Revert "[lldb/API] Overwrite variables with SBLaunchInfo::SetEnvironment(append=true)"

This reverts commit 695b33a56919af8873eecb47cb83fa17a271e99f beacuse
it broke the macOS bot.
The file was modifiedlldb/test/API/python_api/sbenvironment/TestSBEnvironment.py
The file was modifiedlldb/source/API/SBLaunchInfo.cpp
Commit 6e089e98a9d5d7d0dda259f68b8ba7f4556cc5b3 by Jan Korous
[libclang] Fix crash when visiting a captured VLA

Array returned by LambdaExpr::capture_inits() can contain nullptrs.

Differential Revision: https://reviews.llvm.org/D82629
The file was modifiedclang/test/Index/evaluate-cursor.cpp
The file was modifiedclang/tools/libclang/CIndex.cpp
Commit 930eaadacfd11273af2f9c3ae21664648dc1e26f by aeubanks
[opt] Remove obsolete --quiet option

git blame shows these were last touched in 2004?
Obsoleted in r13844.

Reviewed By: hans

Differential Revision: https://reviews.llvm.org/D83409
The file was modifiedllvm/lib/Support/SystemUtils.cpp
The file was modifiedllvm/tools/llvm-link/llvm-link.cpp
The file was modifiedllvm/include/llvm/Support/SystemUtils.h
The file was modifiedllvm/tools/opt/opt.cpp
The file was modifiedllvm/tools/llvm-extract/llvm-extract.cpp
The file was modifiedllvm/tools/llvm-as/llvm-as.cpp
The file was modifiedllvm/tools/opt/PassPrinters.cpp
The file was modifiedllvm/tools/opt/PassPrinters.h
Commit 7a5d79de9511e3e84aad2adb327b27c9069703ea by Louis Dionne
[libc++] Make sure the ENABLE_FILESYSTEM variable is always bound

The script always fails otherwise, since we run with 'set -u'
The file was modifiedlibcxx/utils/ci/macos-backdeployment.sh
Commit 74a148ad39ab32317948a2d6291264acd84bfa00 by Matthew.Arsenault
GlobalISel: Verify G_BITCAST changes the type

Updated the AArch64 tests the best I could with my vague, inferred
understanding of AArch64 register banks. As far as I can tell, there
is only one 32-bit/64-bit type which will use the gpr register bank,
so we have to use the fpr bank for the other operand.
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/arm64-regbankselect.mir
The file was modifiedllvm/lib/CodeGen/MachineVerifier.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-bitcast.mir
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/select-redundant-zext.mir
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/select-bitcast.mir
The file was modifiedllvm/test/MachineVerifier/test_g_bitcast.mir
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/legalize-simple.mir
Commit 903bda14c330505ebede522a1f55673d88909c6d by richard
PR46640: Permit the first parameter of a destroying 'operator delete' to
be dependent if it names the right type.

This matches the GCC behavior, but no longer matches the standard
wording. However, the standard wording in this case is not in line with
the intent, which was to require the enclosing class type to be named
directly. I've reported this wording oversight to the committee.
The file was modifiedclang/lib/Sema/SemaDeclCXX.cpp
The file was modifiedclang/test/SemaCXX/cxx2a-destroying-delete.cpp
Commit 339f1b49037bd7fbd1454c872bcfd1bb6c380f5d by guiand
sanitizers: Add interceptors for getproto{ent,byname,bynumber}_r

This also allows intercepting these getprotoent functions on Linux as
well, since Linux exposes them.

Differential Revision: https://reviews.llvm.org/D82424
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_platform_interceptors.h
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h
The file was addedcompiler-rt/test/sanitizer_common/TestCases/Linux/protoent.cpp
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_platform_limits_netbsd.h
Commit 1bfdf7c7e310d69190bbf8c9adcbd853b6b83596 by ajcbik
[mlir] [VectorOps] Expose lowering pass options programmatically

The ConvertVectorToLLVM pass defines options that can be passed
on the command line (currently only reassociation of FP reductions
through -convert-vector-to-llvm='reassociate-fp-reductions). This
CL enables setting these options programmatically (forward looking
to more options than just reassociation, as well as setting the
values from code rather than command line).

Reviewed By: nicolasvasilache

Differential Revision: https://reviews.llvm.org/D83420
The file was modifiedmlir/include/mlir/Conversion/VectorToLLVM/ConvertVectorToLLVM.h
The file was modifiedmlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVM.cpp
Commit 3728133d3f124c4c6972b118b0265de48ba89db1 by Adrian Prantl
Unify the ExecutionContextScope computation in Materializer.

This is an NFC cleanup for Clang, and a bugfix for the Swift
branch. In swift-lldb one target may have multiple scratch
TypeSystems, so it is important to pick the one that belongs to the
current frame, rather than the one for the current target.

<rdar://problem/65001402>
The file was modifiedlldb/source/Expression/Materializer.cpp
Commit ac0af12ed2fc60cba494a7e5df1778fd6dedd481 by craig.topper
[InstSimplify] Add test cases for opportunities to fold select ?, X, undef -> X when we can prove X isn't poison

Part of addressing post-commit feedback from D83360
The file was modifiedllvm/test/Transforms/InstSimplify/select.ll
Commit 2ec5fc0c61fb4472bd5f9ea71130cdba215ed9a8 by Matthew.Arsenault
DAG: Remove redundant handling of reg fixups

It looks like 9cac4e6d1403554b06ec2fc9d834087b1234b695 accidentally
added a second copy of this from a bad rebase or something. This
second copy was added, and the finalizeLowering call was not deleted
as intended.
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
Commit 9726dc4d072376f71c40024804e3bf1193ba5dd8 by Adrian Prantl
Updated the list of supported platforms in LLDB to include Apple silicon.
The file was modifiedlldb/docs/index.rst
Commit d999cbc98832154e15e786b98281211d5c1b9f5d by johannes
[OpenMP] Initial support for std::complex in target regions

This simply follows the scheme we have for other wrappers. It resolves
the current link problem, e.g., `__muldc3 not found`, when std::complex
operations are used on a device.

This will not allow complex make math function calls to work properly,
e.g., sin, but that is more complex (pan intended) anyway.

Reviewed By: tra, JonChesterfield

Differential Revision: https://reviews.llvm.org/D80897
The file was modifiedclang/lib/Headers/__clang_cuda_complex_builtins.h
The file was modifiedclang/test/Headers/Inputs/include/cmath
The file was modifiedclang/lib/Headers/CMakeLists.txt
The file was addedclang/lib/Headers/openmp_wrappers/complex
The file was addedclang/lib/Headers/openmp_wrappers/complex.h
The file was addedclang/test/Headers/Inputs/include/complex
The file was modifiedclang/test/Headers/Inputs/include/cstdlib
The file was addedclang/test/Headers/nvptx_device_math_complex.cpp
The file was modifiedclang/test/Headers/nvptx_device_math_complex.c
The file was modifiedclang/lib/Headers/__clang_cuda_math.h
Commit 3101fc692d2443226e749b8a643603efee695acc by llvmgnsyncbot
[gn build] Port d999cbc9883
The file was modifiedllvm/utils/gn/secondary/clang/lib/Headers/BUILD.gn
Commit 18bd821f02261065a2235e43c7290b57d55224c8 by Matthew.Arsenault
DAG: Remove redundant finalizeLowering call

9cac4e6d1403554b06ec2fc9d834087b1234b695/D32628 intended to eliminate
this, and move all isel pseudo expansion to FinalizeISel. This was a
bad rebase or something, and failed to actually delete this call.

GlobalISel also has a redundant call of finalizeLowering. However, it
requires more work to remove it since it currently triggers a lot of
verifier errors in tests.
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
Commit 158feabde4cb98021469ed4126682d8ee57456eb by guiand
[Sanitizer]: Require !android for protoent test
The file was modifiedcompiler-rt/test/sanitizer_common/TestCases/Linux/protoent.cpp
Commit 5a98581d196ba1ad9edaf36b1d1db122287b01eb by 31459023+hctim
[NFC] Fix some docs warnings

Summary:
Fixes two minor issues in the docs present under `ninja docs-llvm-html`:

1 - A header is too small:
```
Warning, treated as error:
llvm/llvm/docs/Passes.rst:70:Title underline too short.

``-basic-aa``: Basic Alias Analysis (stateless AA impl)
------------------------------------------------------
```

2 - Multiple definitions on a non-anonymous target (llvm-dev mailing list):
```
Warning, treated as error:
llvm/llvm/docs/DeveloperPolicy.rst:3:Duplicate explicit target name: "llvm-dev mailing list".
```

Reviewers: lattner

Reviewed By: lattner

Subscribers: llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D83416
The file was modifiedllvm/docs/DeveloperPolicy.rst
The file was modifiedllvm/docs/Passes.rst
Commit 23084878e96cadba4ade809b08229f3ee908aee9 by clementval
[openmp] Use switch in isAllowedClauseForDirective instead of multiple if

Summary:
Change the test in isAllowedClauseForDirective from if with multiple conditions
to a main switch on directive and then switches on clause for each directive. Version
check is still done with a condition in the return statment.

Reviewers: jdoerfert, jdenny

Reviewed By: jdenny

Subscribers: yaxunl, guansong, sstefan1, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D83363
The file was modifiedllvm/utils/TableGen/DirectiveEmitter.cpp
The file was modifiedllvm/test/TableGen/directive1.td
The file was modifiedllvm/test/TableGen/directive2.td
Commit f06d2420b738adef6cea80812fdde0bc36c4ea41 by julian.lettner
[lit] Add --show-xxx command line options

Provide `--show-xxx` flags for all non-failure result codes, just as we
already do for `--show-xfail` and `--show-unsupported`.

Reviewed By: jdenny

Differential Revision: https://reviews.llvm.org/D82233
The file was addedllvm/utils/lit/tests/Inputs/show-result-codes/lit.cfg
The file was modifiedllvm/utils/lit/lit/cl_arguments.py
The file was addedllvm/utils/lit/tests/show-result-codes.py
The file was addedllvm/utils/lit/tests/Inputs/show-result-codes/xfail.txt
The file was modifiedllvm/utils/lit/lit/main.py
The file was addedllvm/utils/lit/tests/Inputs/show-result-codes/fail.txt
The file was addedllvm/utils/lit/tests/Inputs/show-result-codes/pass.txt
The file was addedllvm/utils/lit/tests/Inputs/show-result-codes/unsupported.txt
Commit 15149e406486092a3665791545ab9474471c0f14 by Adrian Prantl
Fix debugserver reporting of deployment target

This patch fixes debugserver incorrectly returning the SDK version
instead of the minimum deployment target version.

rdar://problem/65001691

Differential Revision: https://reviews.llvm.org/D83443
The file was modifiedlldb/tools/debugserver/source/MacOSX/MachProcess.mm
The file was modifiedlldb/test/API/macosx/simulator/TestSimulatorPlatform.py
Commit cffc6036173d540e0d0215ce177a667c838336c5 by pklausler
[flang] Fix negative unit number hashing

Ensure that external unit number hashing produces a valid
index for a negative unit number, viz. a NEWUNIT=.

Reviewed By: sscalpone

Differential Revision: https://reviews.llvm.org/D83428
The file was modifiedflang/runtime/unit-map.h
Commit 00068c452a599c328986e8afcbb3311331d09d26 by richard
Improve diagnostics for constant evaluation that fails because a
variable's initializer is not known.

The hope is that a better diagnostic for this case will reduce the rate
at which duplicates of non-bug PR41093 are reported.
The file was modifiedclang/lib/AST/ExprConstant.cpp
The file was modifiedclang/test/SemaCXX/cxx1y-variable-templates_in_class.cpp
The file was modifiedclang/test/SemaCXX/constant-expression-cxx11.cpp
The file was modifiedclang/include/clang/Basic/DiagnosticASTKinds.td
The file was modifiedclang/test/CXX/temp/temp.res/temp.dep/temp.dep.constexpr/p2.cpp
The file was modifiedclang/test/CXX/expr/expr.const/p2-0x.cpp
The file was modifiedclang/test/SemaCXX/constant-expression-cxx1y.cpp
Commit 24aa4efffd831a1125b4eb835e1911fa38f501d7 by riddleriver
[mlir] Print 0 element DenseElementsAttr as dense<> to fix parser bugs with expected shape.

Depending on where the 0 dimension is within the shape, the parser will currently reject .mlir generated by the printer.

Differential Revision: https://reviews.llvm.org/D83445
The file was modifiedmlir/test/IR/parser.mlir
The file was modifiedmlir/lib/Parser/AttributeParser.cpp
The file was modifiedmlir/lib/IR/AsmPrinter.cpp
Commit 4254ed5c325c4a366a5f763487822414df6a0de4 by qiucofan
[Legalizer] Fix wrong operand in split vector helper

This should be a typo introduced in D69275, which may cause an unknown
segment fault in getNode.

Reviewed By: uweigand

Differential Revision: https://reviews.llvm.org/D83376
The file was modifiedllvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
Commit abd6574b4542958bbde0d5b9568598f32417ef0a by stellaraccident
Add missing CMake bool canonicalizations.

Summary:
* This allows these flags to be passed on the command line with normal CMake bool-interpreted values like ON/OFF instead of requiring 0/1.
* As-is, if passing ON/OFF, these will cause a parse error in lit.site.cfg.py because Python tries to interpret the string literally.

Reviewers: stephenneuendorffer

Subscribers: mgorny, mehdi_amini, rriddle, jpienaar, shauheen, antiagainst, nicolasvasilache, arpith-jacob, mgester, lucyrfox, aartbik, liufengdb, Joonsoo, grosul1, Kayjukh, jurahul, msifontes

Tags: #mlir

Differential Revision: https://reviews.llvm.org/D83451
The file was modifiedmlir/test/CMakeLists.txt

Summary

  1. Create MicroBenchmarks/Builtins for compiler-rt/builtins and add benchmarks for 128 bit division (details)
Commit 879f4962e83f98863c83e385e956d579e131791f by maskray
Create MicroBenchmarks/Builtins for compiler-rt/builtins and add benchmarks for 128 bit division

Preliminary to https://reviews.llvm.org/D81809

Reviewed By: courbet, MaskRay

Differential Revision: https://reviews.llvm.org/D83027
The file was addedMicroBenchmarks/Builtins/CMakeLists.txt
The file was addedMicroBenchmarks/Builtins/Int128/CMakeLists.txt
The file was modifiedMicroBenchmarks/CMakeLists.txt (diff)
The file was addedMicroBenchmarks/Builtins/Int128/main.cpp