UnstableChanges

Summary

  1. Add OpenBSD support to be able to retrieve the thread id (details)
  2. [MachineLICM] testcase for hoisting rematerializable instruction, nfc (details)
  3. [clang][docs] Remove untracked files from formatted status (details)
  4. [clang-tidy] Reworked enum options handling(again) (details)
  5. Fix build errors after b9306fd0 (details)
  6. [X86] Rename dagcombine-cse.ll i386 test prefix X86 instead of X32. (details)
  7. SpeculativeExecution: fix incorrect debug info move (details)
  8. Improve stack object printing. NFC. (details)
  9. Revert accidentally landed patch citing o build errors (details)
  10. [X86] combineScalarToVector - handle (v2i64 scalar_to_vector(aextload)) as well as (v2i64 scalar_to_vector(aext)) (details)
  11. [CVP] Add tests for icmp or and/or edge conds (NFC) (details)
  12. [LVI] Refactor value from icmp cond handling (NFC) (details)
  13. [clang-tidy] Update lang restrictions on perf module (details)
  14. [InstCombine] Add tests for assume implication (NFC) (details)
  15. [NFC][PowerPC] Add run lines to test DivRemPairsPass. (details)
  16. [x86] add tests for rsqrt opportunities; NFC (details)
  17. [VectorCombine] add test for scalable vectors; NFC (details)
  18. Revert "[VectorCombine] add test for scalable vectors; NFC" (details)
  19. [VectorCombine] add test for scalable vectors; NFC (details)
  20. [Coroutines] Optimize the lifespan of temporary co_await object (details)
  21. [NFC][ScalarEvolution] Add a test showing SCEV failure to recognize 'urem' (details)
  22. [libc] This commit fixes the strcmp fuzzing test. It uses a single input and (details)
  23. [X86] Explicitly add popcnt feature to Intel CPUs with SSE4.2 in the frontend. (details)
  24. [SimplifyCFG] Regenerate test checks (NFC) (details)
  25. [SimplifyCFG] Make test more robust (NFC) (details)
  26. [NFC] CallGraph related cleanup (details)
  27. [Clang][OpenMP][OMPBuilder] Moving OMP allocation and cache creation code to OMPBuilderCBHelpers (details)
  28. Revert "[clang-tidy] Reworked enum options handling(again)" (details)
  29. [clangd][Hover] Dont crash on null types (details)
  30. [mlir] Modernize LLVM dialect rountrip test (details)
  31. [mlir] do not hardcode the name of the undefined function in the error message (details)
  32. [ObjectYAML][DWARF] Collect diagnostic message when YAMLParser fails. (details)
  33. [gn build] Port 8f9ca561a2b (details)
  34. [clang-tidy] relanding b9306fd (details)
  35. [MLIR][Shape] Lower `shape.get_extent` to `std.dim` when possible (details)
  36. [MLIR][Shape] Lower `shape.get_extent` to `extract_element` when possible (details)
  37. Revert "[clang-tidy] relanding b9306fd" (details)
  38. Fix invalid alignment in DAGCombiner::isLegalNarrowLdSt (details)
  39. [llvm-objcopy] Emit error if removing symtab referenced by group section (details)
  40. [mlir] LLVM dialect: use addressof instead of constant to create function pointers (details)
  41. [mlir] make the bitwidth of device side index computations configurable (reland) (details)
  42. Add tests for sequences of callbacks that RecursiveASTVisitor produces (details)
  43. [OpenMP][Tool] Fix buffer overflow in ompt-multiplex.h (details)
  44. [TargetLowering] Add DemandedElts arg to ShrinkDemandedConstant (details)
  45. Move TestClangConfig into libClangTesting and use it in AST Matchers tests (details)
  46. [gn build] Port 8e5a56865f2 (details)
  47. [AArch64][SVE] Bail out of performPostLD1Combine for scalable types (details)
  48. [AArch64][SVE] Add bfloat16 support to svext intrinsic (details)
  49. [openmp][NFC] Cleanup: guard __kmp_mic_type by KMP_MIC_SUPPORTED macro. (details)
  50. [X86] Add vector support to targetShrinkDemandedConstant for OR/XOR opcodes (details)
  51. [Alignment][NFC] migrate DataLayout::getPreferredAlignment (details)
  52. [Alignment][NFC] Migrate AMDGPU backend to Align (details)
  53. [Driver] When forcing a crash print the bug report message (details)
  54. [NFC] Introduce a helper in BasicTTIImpl.h to cast to T (details)
  55. [AArch64][SVE] NFCI: Choose consistent naming for predicated SDAG nodes (details)
  56. Add intrinsic helper function (details)
  57. [ADT] Add Bitfield utilities (details)
  58. [gn build] Port b56b467a9a8 (details)
  59. [NFC] Fix typos (details)
  60. [OpenCL] Reject block arguments (details)
  61. [lldb] Deduplicate Scalar integral getters (details)
  62. [Analyzer][StreamChecker] Use BugType instead of BuiltinBug (NFC) . (details)
  63. [RISCV] Split the pseudo instruction splitting pass (details)
  64. [gn build] Port 2cb0644f90b (details)
  65. [VectorCombine] refactor - make helper function for extract to shuffle logic; NFC (details)
  66. [clang-format] Preserve whitespace in selected macros (details)
  67. AMDGPU: Use IsSSA property check instead of asserting on isSSA (details)
  68. [CodeGen] Use the common semantic for fixed-point codegen, not the result semantic. (details)
  69. [clang-tidy] Fix hicpp-named-paramater (details)
  70. [mlir] Clean up NVVM intrinsics definitions a little. (details)
  71. [VectorCombine] try to form vector compare and binop to eliminate scalar ops (details)
  72. Inliner: Add missing test for alignment assume with byval (details)
  73. [lldb/Test] Skip TestVSCode_disconnect on Darwin (details)
  74. [PowerPC] Don't combine SCALAR_TO_VECTOR without VSX (details)
  75. [X86][SSE] MatchVectorAllZeroTest - handle OR vector reductions (REAPPLIED) (details)
  76. [analyzer][NFC] Add unittest for FalsePositiveRefutationBRVisitor (details)
  77. [llvm-objcopy] Fix "unused-function" warning in NDEBUG builds (details)
  78. Revert "[analyzer][NFC] Add unittest for FalsePositiveRefutationBRVisitor" (details)
  79. Fix MSVC truncation of constant value warning. (details)
  80. [ARM] Better reductions (details)
  81. Compile the RecursiveASTVisitor callbacks test with "/bigobj" (details)
  82. [clang-tidy][NFC] Remove unnecessary includes throughout clang-tidy header files (details)
  83. RecursiveASTVisitor: inline a macro that is only used once (details)
  84. [AMDGPU] Moving SI_RETURN_TO_EPILOG handling out of SIInsertSkips. (details)
  85. [libc++] Do not try creating llvm-lit when LIBCXX_INCLUDE_TESTS is OFF in the standalone build (details)
  86. [NFC] Fixed ignored .hip test. (details)
  87. [sve][acle] Implement some of the C intrinsics for brain float. (details)
  88. Correctly report Changed status in FoldBranchToCommonDest (details)
  89. [analyzer][NFC] Add unittest for FalsePositiveRefutationBRVisitor (details)
  90. [gn build] Port fe0a555aa3c (details)
  91. [LLDB] skip TestCreateDuringInstructionStep on aarch64/linux (details)
  92. [libc++] Provide a default LLVM_PATH when building standalone (details)
  93. [libc++] Enable tests and documentation by default when building standalone (details)
  94. [Sphinx] Support older recommonmark versions. (details)
  95. [AArch64][SVE] clang: Add missing svbfloat16_t tests (details)
  96. [analyzer][Z3-refutation] Fix a refutation BugReporterVisitor bug (details)
  97. [AArch64][SVE] Add bfloat16 to outstanding tuple vector intrinsics (details)
  98. [PowerPC] Fix crash for shuffle canonicalization with elt 0 from RHS (details)
  99. [SVE] Remove calls to VectorType::getNumElements from mlir (details)
  100. [runtimes] Remove the ability to select the old libc++ testing format (details)
  101. [SVE] Remove calls to VectorType::getNumElements from X86 (details)
  102. [ADT] Support const-qualified unique_functions (details)
  103. [DEBUGINFO]Add a test for packed bitfields, NFC. (details)
  104. [clangd] Config: config struct propagated through Context (details)
  105. Revert "[ADT] Support const-qualified unique_functions" (details)
  106. [IndVars] Regenerate test checks (NFC) (details)
  107. Add optimization to basic_string::assign for compile-time known constant values. (details)
  108. [gn build] Port 9963d93b073 (details)
  109. Silence unused var warning in NDEBUG build (details)
  110. X86: Use MOV32r0 pseudo instead of directly emitting xor (details)
  111. LowerConstantIntrinsics: Fix missing test for byval behavior (details)
  112. X86: Upgrade a test to not rely on byval pointee type (details)
  113. [darwin][driver] isMacosxVersionLT should check against the minimum supported OS version (details)
  114. [gn build] Add missing llvm-lipo dep to check-lld (details)
  115. [llvm][NFC] Use llvm_canonicalize_cmake_booleans for LLVM_HAVE_TF_AOT (details)
  116. [flang] Defer stmt function body analysis until specification part complete (details)
  117. [ProcessGDBRemote] Get rid of an unused function. (details)
  118. Reland [ADT] Support const-qualified unique_functions (details)
  119. Revert "[clangd] Config: config struct propagated through Context" (details)
  120. Reland [clangd] Config: config struct propagated through Context (details)
  121. Revert "[clang][SourceManager] cache Macro Expansions" (details)
  122. Reland "[clang][SourceManager] cache Macro Expansions"" (details)
  123. [clang][RelativeVTablesABI] Update CodeGenCXX/RelativeVTablesABI/dynamic-cast.cpp (details)
  124. [ADT] Use more explicit from to initialize member. Appease MSVC? (details)
  125. [mlir] [VectorOps] Extend vector reduction integration test with reassoc=true cases. (details)
  126. Simplify conditionals in DNBArchMachARM64::EnableHardwareSingleStep (details)
  127. [clangd] config() -> Config::current to avoid confict with NS (details)
  128. [X86] Add common prefixes to merge more hadd/sub tests checks (details)
  129. [PowerPC] Fix FeatureISA3_1 def in PPC.td to imply FeatureISA3_0. (details)
  130. [flang] Add coarray lowering hooks. (details)
  131. [mlir] add unsigned comparison builders to Affine EDSC (details)
  132. Fix a few cases that were incorrectly parsed as unary-expressions (details)
  133. [CMake] Fix incorrect handling of get_target_property failure (details)
  134. [MLIR] Add variadic isa<> for Type, Value, and Attribute (details)
  135. [CMake][compiler-rt] Only set lld as available when it was built (details)
  136. [SVE] Remove calls to VectorType::getNumElements from Instrumentation (details)
  137. Clang Driver: Use Apple ld64's new @response-file support. (details)
  138. Clang Driver: refactor support for writing response files to be (details)
  139. [FileCheck][NFC] Clean up RUN style in verbose.txt test (details)
  140. [FileCheck] Permit multiple -v or -vv (details)
  141. [MLIR][SPIRVToLLVM] Convert bitwise and logical not (details)
  142. [X86] Prefer AND over PSHUFB for v64i8 when possible (details)
  143. [ods] Update Operator to record Arg->[Attr|Operand]Index mapping (details)
  144. [MLIR][SPIRVToLLVM] Added Bitcast conversion pattern (details)
  145. Move Sema::PragmaStack<ValueType>::Act into Sema.h so it can be instantiated as needed (details)
  146. [c++20] Fix handling of operator rewrites naming consteval operator<=>. (details)
  147. [darwin][driver] pass the minimum supported OS version to the linker (details)
  148. [OpenMP] fix clang warning about printf format in CUDA plugin (details)
  149. [clang] attempt to fix a linux test failure for the darwin-ld-platform-version-macos.c test (details)
  150. Add missing #include (details)
  151. [SimplifyCFG] Fix inconsistency in block size assessment for threading (details)
  152. Add front/back accessors to indexed_accessor_range. (details)
  153. [SVE][CodeGen] Fix bug in DAGCombiner::reduceBuildVecToShuffle (details)
  154. [llvm-objcopy][MachO] Fix segment size alignment (details)
  155. [SystemZ] Improve handling of ZERO_EXTEND_VECTOR_INREG. (details)
  156. [CodeGen] Fix warning in getNode for EXTRACT_SUBVECTOR (details)
  157. [X86] Remove an isel pattern than can never match. Remove bitcasts of loads from a few others. (details)
  158. Fix missing build dependency on omp_gen. (details)
  159. [Alignment][NFC] Migrate AArch64, ARM, Hexagon, MSP and NVPTX backends to Align (details)
  160. [MSP430] Declare comparison LibCalls as returning i16 instead of i32 (details)
  161. [builtins] Change si_int to int in some helper declarations (details)
  162. [Alignment][NFC] Migrate PPC, X86 and XCore backends to Align (details)
  163. [Alignment][NFC] TargetLowering::allowsMemoryAccess (details)
  164. [clang-tidy][docs] Fix malformed link in ReleaseNotes (details)
  165. [DWARFYAML][debug_info] Replace 'InitialLength' with 'Format' and 'Length'. (details)
  166. [MLIR][Shape] Fix lowering of `shape.get_extent` (details)
  167. Revert "Fix missing build dependency on omp_gen." (details)
  168. [mlir] Fix case in MLIRGPUtoVulkanTransforms (details)
  169. [GlobalISel][InlineAsm] Add support for matching input constraints (details)
  170. AMDGPU/GlobalISel: Select icmp intrinsic (details)
  171. [yaml2obj] - Add a way to set default values for macros used in a YAML. (details)
  172. [yaml2obj] - Support reading a content as an array of bytes using the new 'ContentArray' key. (details)
  173. [IR] NoFree IntrinsicProperty. (details)
  174. [lldb] Modernize TestOperatorOverload.py asserts (details)
  175. [Alignment][NFC] Migrate AtomicExpandPass to Align (details)
  176. [AST][RecoveryExpr] Add error-bit to NestNameSpecifierDependence and TemplateNameDependence. (details)
  177. [mlir] Extended BufferPlacement to support nested region control flow. (details)
  178. [clangd] Remove redundant `findRefs` calls. NFC. (details)
  179. [llvm][Z3][NFC] Improve mkBitvector performance (details)
  180. [SystemZ] Add NoMerge MIFlag (details)
  181. [lldb][NFC] Remove ImportInProgress lock in ClangASTSource (details)
  182. [lldb] Tab completion for `frame select` (details)
  183. [AST] Fix handling of some edge cases in fixed-point division. (details)
  184. [lldb] Tab completion for `frame recognizer delete` (details)
  185. [X86] Add tests for cmp-zero + and/trunc + or-reduction patterns (details)
  186. [lldb] Fix TestModuleGetXcodeSDK test after DWARFYAML change (details)
  187. [PM] Fix new PM to perform SpeculativeExecution as in old PM (details)
  188. [NFC][ARM] Tail predication reduction tests (details)
  189. [Alignment][NFC] Migrate SelectionDAGTargetInfo::EmitTargetCodeForMemset to Align (details)
  190. [Alignment][NFC] Migrate SelectionDAGTargetInfo::EmitTargetCodeForMemmove to Align (details)
  191. [clangd] Suppress GCC -Woverloaded-virtual by renaming ThreadsafeFS extension point (details)
  192. [Alignment][NFC] Migrate SelectionDAGTargetInfo::EmitTargetCodeForMemcpy to Align (details)
  193. Make it possible for client code to consume CLANG_LINK_CLANG_DYLIB (details)
  194. [X86][SSE] LowerVectorAllZero - add support for masked OR-reductions (details)
  195. [lldb/Test] Introduce "assertSuccess" (details)
  196. [ASTMatcher] Fix a performance regression: memorize the child match. (details)
  197. [DWARFYAML][MachO] Remove endianness related tests. (details)
  198. [libc++] Remove dead code since the removal of the old testing format (details)
  199. [runtimes] Rename newformat to just format, now that the old format has been removed (details)
  200. [AST][RecoveryExpr] Avoid spurious 'missing typename' diagnostic when the NNS contains errors. (details)
  201. [SystemZ] Simplify knownbits.ll test (details)
  202. [NFC] Remove dead code (details)
  203. Add Metadata to Transformer tooling (details)
  204. [lldb/Scripts] (details)
  205. [libc++abi] Remove empty source file cxa_unexpected.cpp (details)
  206. [clang-tidy] Sanity checks in ClangTidyTest header. (details)
  207. [Alignment][NFC] TargetLowering::allowsMemoryAccessForAlignment (details)
  208. [clang-tidy] performance-faster-string-find string-view (details)
  209. [CodeComplete] Tweak completion for else. (details)
  210. [ARM] Allow rounding intrinsics to be tail predicated (details)
  211. [lldb/Test] Skip recognizer tests when Python is disabled (details)
  212. [mlir] [VectorOps] Replace zero fma with mult for vector.contract (details)
  213. [ARM][MVE] Tail-predication: clean-up of unused code (details)
  214. X86: Use Register (details)
  215. AMDGPU: Use Register (details)
  216. TailDuplicator: Use Register (details)
  217. BranchFolding: Use Register (details)
  218. RegAlloc: Start using Register (details)
  219. [libc++abi] Remove unused include of <sys/types.h> (details)
  220. [ARM] Allow the usub_sat and ssub_sat intrinsics to be tail predicated (details)
  221. Pass MDFieldPrinter::printAPInt APInt arg by reference not value. (details)
  222. [ARM] Allow the fabs intrinsic to be tail predicated (details)
  223. [clang][docs] Add note about using `-flto` with `-g` on macOS (details)
Commit 66b7ba52b7b49cb712c337b934440049ab94454b by brad
Add OpenBSD support to be able to retrieve the thread id
The file was modifiedllvm/lib/Support/Unix/Threading.inc
Commit ab4627364aefcaac751e757b721b7d07b48a545a by czhengsz
[MachineLICM] testcase for hoisting rematerializable instruction, nfc
The file was addedllvm/test/CodeGen/PowerPC/rematerializable-instruction-machine-licm.ll
Commit abafb655c85d92c02c19c8723ef9ecc5d48574bf by n.james93
[clang][docs] Remove untracked files from formatted status

Currently on http://clang.llvm.org/docs/ClangFormattedStatus.html there are format stats on files no actually inside the tree but generated by build scripts. These are usually copied from somewhere else. Right now for example there are files from `llvm/utils/release/llvm-package...`. Adding these files bloats the list while not giving an accurate representation of how formatted the repo is.
This addresses this issue by checking the git index and ignoring any folder that doesn't contain tracked files.

I'm still unsure whether it would be better to just do away with the `os.walk` method and just check over every file returned from `git ls-index <project-root>`.

Reviewed By: MyDeveloperDay

Differential Revision: https://reviews.llvm.org/D82707
The file was modifiedclang/docs/tools/generate_formatted_state.py
Commit b9306fd042ce1c11d84f05d2124dfdc65b8331fe by n.james93
[clang-tidy] Reworked enum options handling(again)

Following on from D77085, I was never happy with the passing a mapping to the option get/store functions. This patch addresses this by using explicit specializations to handle the serializing and deserializing of enum options.

Reviewed By: aaron.ballman

Differential Revision: https://reviews.llvm.org/D82188
The file was modifiedclang-tools-extra/clang-tidy/cppcoreguidelines/InitVariablesCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/performance/UnnecessaryValueParamCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/modernize/ReplaceRandomShuffleCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/modernize/MakeSmartPtrCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/modernize/ReplaceAutoPtrCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/cppcoreguidelines/ProBoundsConstantArrayIndexCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/performance/TypePromotionInMathFnCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/modernize/PassByValueCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/modernize/LoopConvertCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/utils/IncludeSorter.h
The file was modifiedclang-tools-extra/unittests/clang-tidy/ClangTidyOptionsTest.cpp
The file was modifiedclang-tools-extra/clang-tidy/abseil/StringFindStartswithCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/performance/MoveConstructorInitCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/utils/TransformerClangTidyCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/ClangTidyCheck.h
The file was modifiedclang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/ClangTidyCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/utils/IncludeSorter.cpp
The file was modifiedclang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.h
Commit 42a51587c79a673045aec3586f4070630e5e7af3 by n.james93
Fix build errors after b9306fd0
The file was modifiedclang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.h
Commit 9de26b56422c965e5721a1b0d63c49649531a779 by llvm-dev
[X86] Rename dagcombine-cse.ll i386 test prefix X86 instead of X32.
The file was modifiedllvm/test/CodeGen/X86/dagcombine-cse.ll
Commit c7bcd431d9c4bfeb631a3599f1d628603e6351d6 by dfukalov
SpeculativeExecution: fix incorrect debug info move

Summary:
Debug info related instructions got zero cost so hoisted unconditionally

Bugzilla: https://bugs.llvm.org/show_bug.cgi?id=46267

Reviewers: arsenm, nhaehnle, chandlerc, aprantl

Reviewed By: aprantl

Subscribers: ormris, uabelho, wdng, aprantl, hiraditya, llvm-commits

Tags: #llvm, #debug-info

Differential Revision: https://reviews.llvm.org/D81730
The file was addedllvm/test/Transforms/SpeculativeExecution/PR46267.ll
The file was modifiedllvm/lib/Transforms/Scalar/SpeculativeExecution.cpp
Commit c73966c2f79290e4eefe6e481f7bc94dd6ca4437 by Madhur.Amilkanthwar
Improve stack object printing. NFC.

Reviewers: madhur13490

Reviewed By: madhur13490

Subscribers: qcolombet, arsenm, jvesely, nhaehnle, hiraditya, kerbowa, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D82712
The file was modifiedllvm/lib/CodeGen/MachineFrameInfo.cpp
The file was modifiedllvm/include/llvm/CodeGen/MachineFrameInfo.h
Commit 299dee91b34756cd6622886694d638d5e3796121 by Madhur.Amilkanthwar
Revert accidentally landed patch citing o build errors

Summary: This reverts commit c73966c2f79290e4eefe6e481f7bc94dd6ca4437.

Reviewers:

Subscribers:
The file was modifiedllvm/include/llvm/CodeGen/MachineFrameInfo.h
The file was modifiedllvm/lib/CodeGen/MachineFrameInfo.cpp
Commit e07a982693353aad85590301357035e9d583bbbc by llvm-dev
[X86] combineScalarToVector - handle (v2i64 scalar_to_vector(aextload)) as well as (v2i64 scalar_to_vector(aext))

We already fold (v2i64 scalar_to_vector(aext)) -> (v2i64 bitcast(v4i32 scalar_to_vector(x))), this adds support for similar aextload cases and also handles v2f64 cases that wrap the i64 extension behind bitcasts.

Fixes the remaining issue with PR39016
The file was modifiedllvm/test/CodeGen/X86/dagcombine-cse.ll
The file was modifiedllvm/test/CodeGen/X86/bitcast-int-to-vector-bool-sext.ll
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/test/CodeGen/X86/vector-shuffle-128-v8.ll
The file was modifiedllvm/test/CodeGen/X86/bitcast-int-to-vector-bool-zext.ll
The file was modifiedllvm/test/CodeGen/X86/vector-shuffle-256-v16.ll
Commit 70c5d95248a3a9ea56b7b263e3bc008e9446e935 by nikita.ppv
[CVP] Add tests for icmp or and/or edge conds (NFC)
The file was modifiedllvm/test/Transforms/CorrelatedValuePropagation/icmp.ll
Commit 614b995cace94e69fd1341addf81204d34e1bdff by nikita.ppv
[LVI] Refactor value from icmp cond handling (NFC)

Rewrite this in a way that is more amenable to extension.
The file was modifiedllvm/lib/Analysis/LazyValueInfo.cpp
Commit bfd99be0fc58fe644aff76d180b333e6d840126a by n.james93
[clang-tidy] Update lang restrictions on perf module
The file was modifiedclang-tools-extra/clang-tidy/performance/ForRangeCopyCheck.h
The file was modifiedclang-tools-extra/clang-tidy/performance/FasterStringFindCheck.h
The file was modifiedclang-tools-extra/clang-tidy/performance/InefficientVectorOperationCheck.h
The file was modifiedclang-tools-extra/clang-tidy/performance/ImplicitConversionInLoopCheck.h
The file was modifiedclang-tools-extra/clang-tidy/performance/FasterStringFindCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/performance/UnnecessaryCopyInitialization.h
Commit 8758e14c6f12777b6c6beee0680824cdf3b2f9e4 by nikita.ppv
[InstCombine] Add tests for assume implication (NFC)
The file was addedllvm/test/Transforms/InstCombine/assume_icmp.ll
Commit 2b325f69cac9979ec2fba1393e3e10541e144afa by esme.yi
[NFC][PowerPC] Add run lines to test DivRemPairsPass.
The file was modifiedllvm/test/CodeGen/PowerPC/ppc64-P9-mod.ll
Commit af01642424105d1182e8eaf2eeb94e34ffbd5305 by spatel
[x86] add tests for rsqrt opportunities; NFC
The file was modifiedllvm/test/CodeGen/X86/sqrt-fastmath.ll
Commit 700ec6b848c02ca3de9751d63a7a5a26671c3fe9 by spatel
[VectorCombine] add test for scalable vectors; NFC
The file was modifiedllvm/test/Transforms/PhaseOrdering/X86/vector-reductions.ll
The file was modifiedllvm/test/Transforms/VectorCombine/X86/extract-cmp-binop.ll
Commit 2f3549f8136dbeef1bfaeeb113932161eaf1692a by spatel
Revert "[VectorCombine] add test for scalable vectors; NFC"

This reverts commit 700ec6b848c02ca3de9751d63a7a5a26671c3fe9.
An extra test diff snuck here.
The file was modifiedllvm/test/Transforms/PhaseOrdering/X86/vector-reductions.ll
The file was modifiedllvm/test/Transforms/VectorCombine/X86/extract-cmp-binop.ll
Commit 931411136af6061a7a48553344ff750d2a362d68 by spatel
[VectorCombine] add test for scalable vectors; NFC
The file was modifiedllvm/test/Transforms/VectorCombine/X86/extract-cmp-binop.ll
Commit c8755b6378c2a1f32d9a90bad6c56a1cc5a830c3 by xun
[Coroutines] Optimize the lifespan of temporary co_await object

Summary:
If we ever assign co_await to a temporary variable, such as foo(co_await expr),
we generate AST that looks like this: MaterializedTemporaryExpr(CoawaitExpr(...)).
MaterializedTemporaryExpr would emit an intrinsics that marks the lifetime start of the
temporary storage. However such temporary storage will not be used until co_await is ready
to write the result. Marking the lifetime start way too early causes extra storage to be
put in the coroutine frame instead of the stack.
As you can see from https://godbolt.org/z/zVx_eB, the frame generated for get_big_object2 is 12K, which contains a big_object object unnecessarily.
After this patch, the frame size for get_big_object2 is now only 8K. There are still room for improvements, in particular, GCC has a 4K frame for this function. But that's a separate problem and not addressed in this patch.

The basic idea of this patch is during CoroSplit, look for every local variable in the coroutine created through AllocaInst, identify all the lifetime start/end markers and the use of the variables, and sink the lifetime.start maker to the places as close to the first-ever use as possible.

Reviewers: lewissbaker, modocache, junparser

Reviewed By: junparser

Subscribers: hiraditya, llvm-commits, rsmith, ChuanqiXu, cfe-commits

Tags: #clang, #llvm

Differential Revision: https://reviews.llvm.org/D82314
The file was modifiedllvm/test/Transforms/Coroutines/coro-split-02.ll
The file was addedllvm/test/Transforms/Coroutines/coro-split-sink-lifetime.ll
The file was modifiedllvm/lib/Transforms/Coroutines/CoroSplit.cpp
Commit 25521150d7b577f6f1b402826f2afbb0ec5fb59b by lebedev.ri
[NFC][ScalarEvolution] Add a test showing SCEV failure to recognize 'urem'

While InstCombine trivially converts that `srem` into a `urem`,
it might happen later than wanted. SCEV should recognize this natively.
The file was addedllvm/test/Analysis/ScalarEvolution/srem.ll
Commit b07feef8736d52e11c41631d3813a57a3b3ce6e5 by gyurgyikcp
[libc] This commit fixes the strcmp fuzzing test. It uses a single input and
splits it into two by using the value of the first byte to determine the
length of the first string. Reviewed-by: PaulkaToast, Differential
Revision: https://reviews.llvm.org/D82427

Summary:
[libc] Since only one input is given, it is necessary to split the string into two containers so that they can be compared for the purposes of this fuzz test. This is done in the following manner:

1. Take the value of the first byte; this is size1. (Credits to @PaulkaToast for this idea).
2. size2 is the value of size - size1.
3. Copy the characters to new containers, data1 and data2 with corresponding sizes.
4. Add a null terminator to the first container, and verify the second container has a null terminator.
5. Verify output of strcmp.

A simpler alternative considered was simply splitting the input data into two, but this means the two strings are always within +- 1 character of each other. This above implementation avoids this.

ninja check-libc was run; no issues.

Reviewers: PaulkaToast, sivachandra

Reviewed By: PaulkaToast

Subscribers: mgorny, tschuett, ecnelises, libc-commits, PaulkaToast

Tags: #libc-project

Differential Revision: https://reviews.llvm.org/D82427
The file was modifiedlibc/fuzzing/string/CMakeLists.txt
The file was modifiedlibc/fuzzing/string/strcmp_fuzz.cpp
Commit 20a60f46f505fc790e126b8b860c689870355f36 by craig.topper
[X86] Explicitly add popcnt feature to Intel CPUs with SSE4.2 in the frontend.

Previously we inferred it if sse4.2 ended up being enabled after
all feature processing. But writing -march=nehalem -mno-sse4.2
should have popcnt enabled.
The file was modifiedclang/lib/Basic/Targets/X86.cpp
The file was modifiedclang/test/Preprocessor/x86_target_features.c
Commit d5a482acf9904ff13e71ab5bad686dc7f93cfbf8 by nikita.ppv
[SimplifyCFG] Regenerate test checks (NFC)
The file was modifiedllvm/test/Transforms/SimplifyCFG/X86/switch_to_lookup_table.ll
The file was modifiedllvm/test/Transforms/SimplifyCFG/duplicate-landingpad.ll
The file was modifiedllvm/test/Transforms/SimplifyCFG/ForwardSwitchConditionToPHI.ll
The file was modifiedllvm/test/Transforms/SimplifyCFG/wc-widen-block.ll
Commit a28d38a6bca1726d56c9b373f4c7dc5264fc7716 by nikita.ppv
[SimplifyCFG] Make test more robust (NFC)

Avoid changing this test if blocks get merged.
The file was modifiedllvm/test/Transforms/SimplifyCFG/switch-dead-default.ll
Commit 1becd298b82ed2f1a8ba5e61c5ad2ce7fe32d812 by serguei.n.dmitriev
[NFC] CallGraph related cleanup

Summary: Tidy up some CallGraph-related code in preparation for D82572.

Reviewers: jdoerfert

Reviewed By: jdoerfert

Subscribers: hiraditya, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D82686
The file was modifiedllvm/lib/Analysis/CallGraphSCCPass.cpp
The file was modifiedllvm/include/llvm/Analysis/CallGraph.h
The file was modifiedllvm/lib/Transforms/IPO/SyntheticCountsPropagation.cpp
Commit 80e15b4574f4a11792472249f64bac790145cc56 by fghanim84
[Clang][OpenMP][OMPBuilder] Moving OMP allocation and cache creation code to OMPBuilderCBHelpers

Summary:
Modified the OMPBuilderCBHelpers in the following ways:
- Moved location of class definition and deleted all constructors
- Moved OpenMP-specific address allocation of local variables
- Moved threadprivate variable creation for the current thread

Reviewers: jdoerfert

Subscribers: yaxunl, guansong, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D79676
The file was modifiedclang/lib/CodeGen/CodeGenFunction.h
The file was modifiedclang/lib/CodeGen/CGExpr.cpp
The file was modifiedclang/lib/CodeGen/CGDecl.cpp
The file was modifiedclang/lib/CodeGen/CGStmtOpenMP.cpp
Commit 8f73c4432b5fa8510c99a5053c07dc70a610e1fb by thakis
Revert "[clang-tidy] Reworked enum options handling(again)"

This reverts commit b9306fd042ce1c11d84f05d2124dfdc65b8331fe
and follow-up 42a51587c79a673045aec3586f4070630e5e7af3.

It seems to build check-clang-tools on macOS, see comments on
https://reviews.llvm.org/D82188
The file was modifiedclang-tools-extra/clang-tidy/utils/TransformerClangTidyCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/cppcoreguidelines/InitVariablesCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/modernize/ReplaceRandomShuffleCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.h
The file was modifiedclang-tools-extra/clang-tidy/cppcoreguidelines/ProBoundsConstantArrayIndexCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/performance/UnnecessaryValueParamCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/abseil/StringFindStartswithCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/modernize/LoopConvertCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/modernize/ReplaceAutoPtrCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/utils/IncludeSorter.h
The file was modifiedclang-tools-extra/clang-tidy/modernize/MakeSmartPtrCheck.cpp
The file was modifiedclang-tools-extra/unittests/clang-tidy/ClangTidyOptionsTest.cpp
The file was modifiedclang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/utils/IncludeSorter.cpp
The file was modifiedclang-tools-extra/clang-tidy/performance/TypePromotionInMathFnCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/performance/MoveConstructorInitCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/ClangTidyCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/ClangTidyCheck.h
The file was modifiedclang-tools-extra/clang-tidy/modernize/PassByValueCheck.cpp
Commit 117b9230a74cfbfe5e409adc2aa2d33c9c584a81 by kadircet
[clangd][Hover] Dont crash on null types

Reviewers: hokein, sammccall

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

Tags: #clang

Differential Revision: https://reviews.llvm.org/D82701
The file was modifiedclang-tools-extra/clangd/Hover.cpp
The file was modifiedclang-tools-extra/clangd/unittests/HoverTests.cpp
Commit fbeceb9cededf28fe4e8c46f209b20af276c1989 by zinenko
[mlir] Modernize LLVM dialect rountrip test

This test largely predates MLIR testing guidelines. Update it to match the
guidelines. In particular, avoid pattern-matching SSA value names, avoid
unnecessary CHECK-NEXT, relax assumptions about the form of SSA names.
Value-returning operations are still matched agaist _any_ name in order to
check that the operation indeed produces values.

Differential Revision: https://reviews.llvm.org/D82656
The file was modifiedmlir/test/Dialect/LLVMIR/roundtrip.mlir
Commit 42de94f839f259950df7bb142e8f2bb388825a06 by zinenko
[mlir] do not hardcode the name of the undefined function in the error message

The error message in the `std.constant` verifier for function-typed constants
had the name of the undefined function hardcoded to `bar`. Report the actual
name instead.

Differential Revision: https://reviews.llvm.org/D82666
The file was modifiedmlir/test/IR/invalid.mlir
The file was modifiedmlir/lib/Dialect/StandardOps/IR/Ops.cpp
Commit 8f9ca561a2bd9d373d4a4ad0cd79a118c5abe4fb by Xing
[ObjectYAML][DWARF] Collect diagnostic message when YAMLParser fails.

Before this patch, the diagnostic message is printed to `errs()` directly, which makes it difficult to use `FailedWithMessage()` in unit testing.
In this patch, we add a custom error handler for YAMLParser, which helps collect diagnostic messages and make it easy to use `FailedWithMessage()` to check error messages.

Reviewed By: jhenderson, MaskRay

Differential Revision: https://reviews.llvm.org/D82630
The file was modifiedllvm/unittests/ObjectYAML/CMakeLists.txt
The file was addedllvm/unittests/ObjectYAML/DWARFYAMLTest.cpp
The file was modifiedllvm/lib/ObjectYAML/DWARFEmitter.cpp
Commit 5edecc151dfcb54f3fcdcef0b62a94687aafd46f by llvmgnsyncbot
[gn build] Port 8f9ca561a2b
The file was modifiedllvm/utils/gn/secondary/llvm/unittests/ObjectYAML/BUILD.gn
Commit 37cc4fa2eaa3d03ca8cd4947eb0d4c60e3c9b45c by n.james93
[clang-tidy] relanding b9306fd

Added some sanity checks to figure out the cause of a (seemingly unrelated) test failure on mac.
These can be removed should no issues arise on that platform again.
The file was modifiedclang-tools-extra/unittests/clang-tidy/ClangTidyOptionsTest.cpp
The file was modifiedclang-tools-extra/clang-tidy/modernize/PassByValueCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/performance/UnnecessaryValueParamCheck.cpp
The file was modifiedclang-tools-extra/unittests/clang-tidy/ClangTidyDiagnosticConsumerTest.cpp
The file was modifiedclang-tools-extra/clang-tidy/ClangTidyCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/modernize/ReplaceRandomShuffleCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/modernize/MakeSmartPtrCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.h
The file was modifiedclang-tools-extra/clang-tidy/modernize/ReplaceAutoPtrCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/performance/TypePromotionInMathFnCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/abseil/StringFindStartswithCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/utils/IncludeSorter.cpp
The file was modifiedclang-tools-extra/clang-tidy/utils/TransformerClangTidyCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/cppcoreguidelines/ProBoundsConstantArrayIndexCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/utils/IncludeSorter.h
The file was modifiedclang-tools-extra/clang-tidy/cppcoreguidelines/InitVariablesCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/modernize/LoopConvertCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/performance/MoveConstructorInitCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/ClangTidyCheck.h
Commit 76d72c941df19779a7abfdfda66d3f452cef1db8 by frgossen
[MLIR][Shape] Lower `shape.get_extent` to `std.dim` when possible

When the shape is derived from a tensor argument the shape extent can be derived
directly from that tensor with `std.dim`.
This lowering pattern circumvents the necessity to materialize the shape in
memory.

Differential Revision: https://reviews.llvm.org/D82644
The file was modifiedmlir/lib/Conversion/ShapeToStandard/ShapeToStandardPatterns.td
The file was modifiedmlir/test/Conversion/ShapeToStandard/shape-to-standard.mlir
Commit d876e3202af3057cc180d7540d0de8b20234f114 by frgossen
[MLIR][Shape] Lower `shape.get_extent` to `extract_element` when possible

When the origin of a shape is an extent tensor the operation `get_extent` can be
lowered directly to `extract_element`.
This choice circumvents the necessity to materialize the shape in memory.

Differential Revision: https://reviews.llvm.org/D82645
The file was modifiedmlir/test/Conversion/ShapeToStandard/shape-to-standard.mlir
The file was modifiedmlir/lib/Conversion/ShapeToStandard/ShapeToStandardPatterns.td
Commit e34523c87c3f1cfabcf741568dede026bbb12d3a by n.james93
Revert "[clang-tidy] relanding b9306fd"

This reverts commit 37cc4fa2eaa3d03ca8cd4947eb0d4c60e3c9b45c. More investigation needed
The file was modifiedclang-tools-extra/clang-tidy/utils/TransformerClangTidyCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/cppcoreguidelines/InitVariablesCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/modernize/MakeSmartPtrCheck.cpp
The file was modifiedclang-tools-extra/unittests/clang-tidy/ClangTidyOptionsTest.cpp
The file was modifiedclang-tools-extra/unittests/clang-tidy/ClangTidyDiagnosticConsumerTest.cpp
The file was modifiedclang-tools-extra/clang-tidy/modernize/ReplaceAutoPtrCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/utils/IncludeSorter.cpp
The file was modifiedclang-tools-extra/clang-tidy/ClangTidyCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/performance/UnnecessaryValueParamCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/utils/IncludeSorter.h
The file was modifiedclang-tools-extra/clang-tidy/ClangTidyCheck.h
The file was modifiedclang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/modernize/PassByValueCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/modernize/ReplaceRandomShuffleCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/performance/MoveConstructorInitCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/performance/TypePromotionInMathFnCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/cppcoreguidelines/ProBoundsConstantArrayIndexCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/modernize/LoopConvertCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/abseil/StringFindStartswithCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.h
Commit 3500d9ec95741c1421d62b914bfa36aa6bbc6b4f by gchatelet
Fix invalid alignment in DAGCombiner::isLegalNarrowLdSt

`ShAmt / 8` can be a non power of two, this can lead to an invalid alignment.
context: https://reviews.llvm.org/D41350#inline-749165

Differential Revision: https://reviews.llvm.org/D82565
The file was modifiedllvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
The file was modifiedllvm/test/CodeGen/ARM/and-load-combine.ll
Commit e503851d80e7a8a72e014bcb975157e828dab800 by james.henderson
[llvm-objcopy] Emit error if removing symtab referenced by group section

SHT_GROUP sections contain a reference to a symbol indicating their
"signature" symbol. The symbol table containing this symbol is referred
to by the group section's sh_link field. If llvm-objcopy is instructed
to remove the symbol table, it will emit an error.

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

Reviewed By: jhenderson, Higuoxing

Differential Revision: https://reviews.llvm.org/D82274
The file was modifiedllvm/test/tools/llvm-objcopy/ELF/group.test
The file was modifiedllvm/tools/llvm-objcopy/ELF/Object.cpp
Commit cba733edf5383344243688dfb249f0960bef33bf by zinenko
[mlir] LLVM dialect: use addressof instead of constant to create function pointers

`llvm.mlir.constant` was originally introduced as an LLVM dialect counterpart
to `std.constant`. As such, it was supporting "function pointer" constants
derived from the symbol name. This is different from `std.constant` that allows
for creation of a "function" constant since MLIR, unlike LLVM IR, supports
this. Later, `llvm.mlir.addressof` was introduced as an Op that obtains a
constant pointer to a global in the LLVM dialect. It naturally extends to
functions (in LLVM IR, functions are globals) and should be used for defining
"function pointer" values instead.

Fixes PR46344.

Differential Revision: https://reviews.llvm.org/D82667
The file was modifiedmlir/docs/Dialects/LLVM.md
The file was modifiedmlir/lib/Target/LLVMIR/ConvertFromLLVMIR.cpp
The file was modifiedmlir/test/Dialect/LLVMIR/global.mlir
The file was modifiedmlir/lib/Target/LLVMIR/ModuleTranslation.cpp
The file was modifiedmlir/test/Dialect/LLVMIR/invalid.mlir
The file was modifiedmlir/test/Dialect/LLVMIR/roundtrip.mlir
The file was modifiedmlir/test/Target/import.ll
The file was modifiedmlir/test/Target/llvmir.mlir
The file was modifiedmlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
The file was modifiedmlir/lib/Conversion/StandardToLLVM/StandardToLLVM.cpp
The file was modifiedmlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
The file was modifiedmlir/test/Conversion/StandardToLLVM/convert-funcs.mlir
Commit 10643c9ad85bf072816bd271239281ec50a52e31 by tobias.gysi
[mlir] make the bitwidth of device side index computations configurable (reland)

Summary:
The patch makes the index type lowering of the GPU to NVVM/ROCDL conversion configurable. It introduces a pass option that controls the bitwidth used when lowering index computations and uses the LowerToLLVMOptions structure to control the Standard to LLVM lowering.

This commit fixes a use-after-free bug introduced by the reverted commit d10b1a3. It implements the following changes:
- Added a getDefaultOptions method to the LowerToLLVMOptions struct that returns a reference to statically allocated default options.
- Use the getDefaultOptions method to provide default LowerToLLVMOptions (instead of an initializer list).
- Added comments to clarify the required lifetime of the LowerToLLVMOptions

Reviewed By: ftynse

Differential Revision: https://reviews.llvm.org/D82475
The file was modifiedmlir/include/mlir/Conversion/StandardToLLVM/ConvertStandardToLLVMPass.h
The file was modifiedmlir/lib/Conversion/StandardToLLVM/StandardToLLVM.cpp
The file was modifiedmlir/test/Conversion/GPUToNVVM/gpu-to-nvvm.mlir
The file was modifiedmlir/include/mlir/Conversion/GPUToROCDL/GPUToROCDLPass.h
The file was modifiedmlir/include/mlir/Conversion/Passes.td
The file was modifiedmlir/include/mlir/Conversion/StandardToLLVM/ConvertStandardToLLVM.h
The file was modifiedmlir/lib/Conversion/GPUToNVVM/LowerGpuOpsToNVVMOps.cpp
The file was modifiedmlir/lib/Conversion/GPUToROCDL/LowerGpuOpsToROCDLOps.cpp
The file was modifiedmlir/test/Conversion/GPUToROCDL/gpu-to-rocdl.mlir
The file was modifiedmlir/include/mlir/Conversion/GPUToNVVM/GPUToNVVMPass.h
Commit 8e5a56865f28f01480880de305402e6c4348d26f by gribozavr
Add tests for sequences of callbacks that RecursiveASTVisitor produces

Summary:
These tests show a bug: post-order traversal introduces an extra call to
WalkUp*, that is not present in pre-order traversal. I'm fixing this bug
in a follow-up commit.

Reviewers: ymandel, eduucaldas

Reviewed By: ymandel, eduucaldas

Subscribers: gribozavr2, mgorny, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D82485
The file was modifiedclang/unittests/Tooling/CMakeLists.txt
The file was addedclang/unittests/Tooling/RecursiveASTVisitorTests/Callbacks.cpp
Commit d4230c67bf8a2b4f9c4d80898f54fd00db719ae9 by protze
[OpenMP][Tool] Fix buffer overflow in ompt-multiplex.h

Reviewed by: runlieb

Differential Revision: https://reviews.llvm.org/D82452
The file was modifiedopenmp/tools/multiplex/ompt-multiplex.h
Commit 973685fc784a937d39293be972e95c2c4ec4c97e by llvm-dev
[TargetLowering] Add DemandedElts arg to ShrinkDemandedConstant

Pre-commit for D82257, this adds a DemandedElts arg to ShrinkDemandedConstant/targetShrinkDemandedConstant which will allow future patches to (optionally) add vector support.
The file was modifiedllvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.h
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.h
The file was modifiedllvm/lib/Target/ARM/ARMISelLowering.h
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/include/llvm/CodeGen/TargetLowering.h
The file was modifiedllvm/lib/Target/ARM/ARMISelLowering.cpp
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.cpp
Commit 339ed1e042c03c8819d2b7384fd48baaf1f0ed30 by gribozavr
Move TestClangConfig into libClangTesting and use it in AST Matchers tests

Summary:
Previously, AST Matchers tests were using a custom way to run a test
with a specific C++ standard version. I'm migrating them to a shared
infrastructure to specify a Clang target from libClangTesting. I'm also
changing tests for AST Matchers to run in multiple language standards
versions, and under multiple triples that have different behavior with
regards to templates.

To keep the size of the patch manageable, in this patch I'm only
migrating one file to get the process started and get feedback on this
approach.

One caveat is that increasing the number of test configuration does
significantly increase the runtime of AST Matchers tests. On my machine,
the test runtime increases from 2.0 to 6.0s. I think it is worth the
improved test coverage.

Reviewers: jdoerfert, ymandel

Reviewed By: ymandel

Subscribers: gribozavr2, jfb, sstefan1, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D82179
The file was modifiedclang/unittests/Tooling/Syntax/TreeTest.cpp
The file was addedclang/include/clang/Testing/TestClangConfig.h
The file was modifiedclang/unittests/ASTMatchers/ASTMatchersNodeTest.cpp
The file was modifiedclang/unittests/ASTMatchers/ASTMatchersTest.h
Commit 07af106810958bdde0a5ca28b2f69b4281cd10a2 by llvmgnsyncbot
[gn build] Port 8e5a56865f2
The file was modifiedllvm/utils/gn/secondary/clang/unittests/Tooling/BUILD.gn
Commit bb6603f0132b4e42633d1402076acfa634c034e0 by kerry.mclaughlin
[AArch64][SVE] Bail out of performPostLD1Combine for scalable types

Summary:
performPostLD1Combine will introduce either a LD1LANEpost
or LD1DUPpost node, which will cause selection failure if the
return type is a scalable vector.

Reviewers: sdesmalen, c-rhodes, efriedma

Reviewed By: efriedma

Subscribers: tschuett, kristof.beyls, hiraditya, rkruppe, psnobl, danielkiss, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D82670
The file was addedllvm/test/CodeGen/AArch64/sve-ld-post-inc.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.cpp
Commit d5fc592b7c26e96556d2667d2b65a8bd18094a75 by cullen.rhodes
[AArch64][SVE] Add bfloat16 support to svext intrinsic

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

Reviewed By: sdesmalen, fpetrogalli

Differential Revision: https://reviews.llvm.org/D82391
The file was modifiedllvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
The file was modifiedllvm/test/CodeGen/AArch64/sve-intrinsics-perm-select.ll
The file was modifiedclang/include/clang/Basic/arm_sve.td
The file was addedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ext-bfloat.c
Commit 7f3d9cc1c059688b70cb35e673100c9eeadc4c46 by Andrey.Churbanov
[openmp][NFC] Cleanup: guard __kmp_mic_type by KMP_MIC_SUPPORTED macro.

Differential Revision: https://reviews.llvm.org/D82301
The file was modifiedopenmp/runtime/src/kmp_affinity.cpp
Commit 3521ecf1f8a3cf5e4811f93a9a809fc722462bbf by llvm-dev
[X86] Add vector support to targetShrinkDemandedConstant for OR/XOR opcodes

If a constant is only allsignbits in the demanded/active bits, then sign extend it to an allsignbits bool pattern for OR/XOR ops.

This also requires SimplifyDemandedBits XOR handling to be modified to call ShrinkDemandedConstant on any (non-NOT) XOR pattern to account for non-splat cases.

Next step towards fixing PR45808 - with this patch we now get a <-1,-1,0,0> v4i64 constant instead of <1,1,0,0>.

Differential Revision: https://reviews.llvm.org/D82257
The file was modifiedllvm/test/CodeGen/X86/setcc-lowering.ll
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
The file was modifiedllvm/test/CodeGen/X86/promote-cmp.ll
Commit 368a5e3a666ff38432be538370c46ff800fface1 by gchatelet
[Alignment][NFC] migrate DataLayout::getPreferredAlignment

This patch is part of a series to introduce an Alignment type.
See this thread for context: http://lists.llvm.org/pipermail/llvm-dev/2019-July/133851.html
See this patch for the introduction of the type: https://reviews.llvm.org/D64790

Differential Revision: https://reviews.llvm.org/D82752
The file was modifiedllvm/lib/Target/ARM/ARMISelLowering.cpp
The file was modifiedllvm/include/llvm/IR/DataLayout.h
The file was modifiedllvm/lib/IR/Value.cpp
The file was modifiedllvm/lib/IR/DataLayout.cpp
The file was modifiedllvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
The file was modifiedllvm/lib/CodeGen/GlobalMerge.cpp
The file was modifiedllvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
The file was modifiedllvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
The file was modifiedllvm/lib/Target/Target.cpp
The file was modifiedllvm/lib/ExecutionEngine/ExecutionEngine.cpp
The file was modifiedllvm/lib/Transforms/IPO/ConstantMerge.cpp
Commit 52911428ef50556edbddd9e32220c22e8755a002 by gchatelet
[Alignment][NFC] Migrate AMDGPU backend to Align

This patch is part of a series to introduce an Alignment type.
See this thread for context: http://lists.llvm.org/pipermail/llvm-dev/2019-July/133851.html
See this patch for the introduction of the type: https://reviews.llvm.org/D64790

Differential Revision: https://reviews.llvm.org/D82743
The file was modifiedllvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.h
The file was modifiedllvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUMachineFunction.cpp
The file was modifiedllvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
The file was modifiedllvm/lib/Target/AMDGPU/R600ISelLowering.cpp
The file was modifiedllvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
The file was modifiedllvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
The file was modifiedllvm/lib/Target/AMDGPU/SIISelLowering.cpp
The file was modifiedllvm/lib/Target/AMDGPU/SIISelLowering.h
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUPromoteAlloca.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUCodeGenPrepare.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
Commit ce1fa201af77e60d31b48571ffa1f85b919f6245 by john.brawn
[Driver] When forcing a crash print the bug report message

Commit a945037e8fd0c30e250a62211469eea6765a36ae moved the printing of the
"PLEASE submit a bug report" message to the crash handler, but that means we
don't print it when forcing a crash using FORCE_CLANG_DIAGNOSTICS_CRASH. Fix
this by adding a function to get the bug report message and printing it when
forcing a crash.

Differential Revision: https://reviews.llvm.org/D81672
The file was modifiedclang/test/Driver/crash-report-crashfile.m
The file was modifiedclang/test/Driver/crash-report-null.test
The file was modifiedllvm/lib/Support/PrettyStackTrace.cpp
The file was modifiedclang/tools/driver/driver.cpp
The file was modifiedllvm/include/llvm/Support/PrettyStackTrace.h
The file was modifiedclang/test/Driver/crash-report-modules.m
Commit 4822291da5b3a2db3b83d80a0876b26f7d6dd00a by gchatelet
[NFC] Introduce a helper in BasicTTIImpl.h to cast to T

This patch makes access to `this` as a `T` uniform accross the file.

Differential Revision: https://reviews.llvm.org/D82648
The file was modifiedllvm/include/llvm/CodeGen/BasicTTIImpl.h
Commit 39f6a36a24ce8b047f21d69ec1277e12ce6236d0 by sander.desmalen
[AArch64][SVE] NFCI: Choose consistent naming for predicated SDAG nodes

This patch proposes a naming convention for operations that take
a general predicate (and are thus predicated) that specifies
what happens to the false lanes.

Currently the _PRED suffix is used, which doesn't really say much other
than that it takes a predicate. In some instances this means it has
merging predication and in other cases it means zeroing-predication.

This patch also changes the order of operands to
AArch64ISD::DUP_MERGE_PASSTHRU, to pass the predicate as the first
operand, which is in line with all other predicates nodes. It takes the
passthru value as an explicit passthru value, which is always passed as
the last operand.

Reviewers: paulwalker-arm, cameron.mcinally, eli.friedman, dancgr, efriedma

Reviewed By: paulwalker-arm

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D81850
The file was modifiedllvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.h
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.cpp
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
The file was modifiedllvm/lib/Target/AArch64/SVEInstrFormats.td
Commit 874fcd4e8ffc42717a41e57ddcedb4ab63e63854 by sebastian.neubauer
Add intrinsic helper function

It simplifies getting generic argument types from intrinsics.

Differential Revision: https://reviews.llvm.org/D81084
The file was modifiedllvm/include/llvm/IR/Intrinsics.h
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
The file was modifiedllvm/lib/IR/Function.cpp
Commit b56b467a9a84510bd1c5a573c863cb86c98afbcd by gchatelet
[ADT] Add Bitfield utilities

Context:
--------
There are places in LLVM where we need to pack typed fields into opaque values.
For instance, the `XXXInst` classes in `llvm/include/llvm/IR/Instructions.h` that extract informations from `Value::SubclassData` via `getSubclassDataFromInstruction()`.
The bit twiddling is done manually: this impairs readability and prevent consistent handling of out of range values (e.g. https://github.com/llvm/llvm-project/blob/435b458ad0a4630e6126246a6865748104ccad06/llvm/include/llvm/IR/Instructions.h#L564)
More importantly, the bit pattern is scattered throughout the implementation making it hard to pack additionnal fields or check for overlapping bits.

Design decisions:
-----------------
The Bitfield structs are to be declared together so it is clear which bits are used or not.
The code is designed with simplicity in mind, hence a few limitations:
- Storage is limited to a single integer,
- Enum values have to be `unsigned`,
- Storage type has to be `unsigned`,
- There are no automatic detection of overlapping fields (packed bitfield declaration should help though),
- The interface is C like so `storage` needs to be passed in everytime (code is simpler and lifetime considerations more obvious)

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

Differential Revision: https://reviews.llvm.org/D81580
The file was modifiedllvm/unittests/ADT/CMakeLists.txt
The file was addedllvm/include/llvm/ADT/Bitfields.h
The file was addedllvm/unittests/ADT/BitFieldsTest.cpp
Commit db5500a1a5ae8708be702f52ecad63d7612d6baa by llvmgnsyncbot
[gn build] Port b56b467a9a8
The file was modifiedllvm/utils/gn/secondary/llvm/unittests/ADT/BUILD.gn
Commit b7ca06b74505fb2daaee746403cc9ee3b78ac1d0 by gchatelet
[NFC] Fix typos
The file was modifiedllvm/include/llvm/ADT/Bitfields.h
Commit bd46a56474d3b27a4fb520503d5714e23097d495 by sven.vanhaastregt
[OpenCL] Reject block arguments

OpenCL 2.0 does not allow block arguments, primarily because it is
difficult to support function pointers on the various architectures
that OpenCL targets.  Clang was still accepting them.

Rename and reuse the `err_opencl_half_param` diagnostic.

Fixes PR46324.

Differential Revision: https://reviews.llvm.org/D82313
The file was modifiedclang/test/SemaOpenCL/invalid-block.cl
The file was modifiedclang/test/CodeGenOpenCL/blocks.cl
The file was modifiedclang/include/clang/Basic/DiagnosticSemaKinds.td
The file was modifiedclang/test/Frontend/opencl.cl
The file was modifiedclang/lib/Sema/SemaType.cpp
Commit 48ca15592f16fb6d8e2cef112f14345738e29cf4 by pavel
[lldb] Deduplicate Scalar integral getters

These functions all follow the same pattern. Use template functions to
deduplicate.
The file was modifiedlldb/source/Utility/Scalar.cpp
The file was modifiedlldb/include/lldb/Utility/Scalar.h
Commit d1df56023132914b877e34f6cf475758a96540f2 by 1.int32
[Analyzer][StreamChecker] Use BugType instead of BuiltinBug (NFC) .

Summary:
I do not like the BuiltinBug class.
And it takes no SuppressOnSink parameter that may be needed in the future.

Reviewers: Szelethus, baloghadamsoftware, gamesh411

Reviewed By: Szelethus

Subscribers: rnkovacs, xazax.hun, baloghadamsoftware, szepet, a.sidorin, mikhail.ramalho, Szelethus, donat.nagy, dkrupp, gamesh411, Charusso, martong, ASDenysPetrov, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D82741
The file was modifiedclang/lib/StaticAnalyzer/Checkers/StreamChecker.cpp
Commit 2cb0644f90b7deda78fd5a4df4b74e25bd1db701 by luismarques
[RISCV] Split the pseudo instruction splitting pass

Extracts the atomic pseudo-instructions' splitting from `riscv-expand-pseudo`
/ `RISCVExpandPseudo` into its own pass, `riscv-expand-atomic-pseudo` /
`RISCVExpandAtomicPseudo`. This allows for the expansion of atomic operations
to continue to happen late (the new pass is added in `addPreEmitPass2`, so
those expansions continue to happen in the same place), while the remaining
pseudo-instructions can now be expanded earlier and benefit from more
optimization passes. The nonatomics pass is now added in `addPreSched2`.

Differential Revision: https://reviews.llvm.org/D79635
The file was modifiedllvm/test/CodeGen/RISCV/codemodel-lowering.ll
The file was modifiedllvm/lib/Target/RISCV/RISCV.h
The file was modifiedllvm/lib/Target/RISCV/RISCVExpandPseudoInsts.cpp
The file was modifiedllvm/lib/Target/RISCV/CMakeLists.txt
The file was addedllvm/lib/Target/RISCV/RISCVExpandAtomicPseudoInsts.cpp
The file was modifiedllvm/lib/Target/RISCV/RISCVTargetMachine.cpp
Commit 876df18aecb6e7ce15b6c47684774bd33e169eb9 by llvmgnsyncbot
[gn build] Port 2cb0644f90b
The file was modifiedllvm/utils/gn/secondary/llvm/lib/Target/RISCV/BUILD.gn
Commit 3b95d8346d58396c119e4ac9cc00aeddfb74f00d by spatel
[VectorCombine] refactor - make helper function for extract to shuffle logic; NFC

Preliminary for D82474
The file was modifiedllvm/lib/Transforms/Vectorize/VectorCombine.cpp
Commit 0c332a7784c649038bd237a60fa18b45a3dea90d by Jake.Merdich
[clang-format] Preserve whitespace in selected macros

Summary:
https://bugs.llvm.org/show_bug.cgi?id=46383

When the c preprocessor stringizes tokens, the generated string literals
are affected by the whitespace. This means clang-format can affect
codegen silently, adding spaces and newlines to strings.  Practically
speaking, the vast majority of cases will be harmless, only affecting
single identifiers or debug macros.

In the interest of doing no harm in other cases though, this introduces
a blacklist option 'WhitespaceSensitiveMacros', which contains a list of
names of function-like macros whose contents should not be touched by
clang-format, period. Clang-format can't automatically detect these
without a real compile context, so users will have to specify it
explicitly (it still beats clang-format off'ing at every invocation).

Defaults include "STRINGIZE", "PP_STRINGIZE", and "BOOST_PP_STRINGIZE".

Subscribers: kristof.beyls, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D82620
The file was modifiedclang/lib/Format/Format.cpp
The file was modifiedclang/docs/ClangFormatStyleOptions.rst
The file was modifiedclang/lib/Format/TokenAnnotator.cpp
The file was modifiedclang/lib/Format/FormatToken.h
The file was modifiedclang/unittests/Format/FormatTest.cpp
The file was modifiedclang/lib/Format/FormatTokenLexer.cpp
The file was modifiedclang/include/clang/Format/Format.h
Commit d0b0b252e1e09f6203ca35ff87b58a2d4eafb8aa by Matthew.Arsenault
AMDGPU: Use IsSSA property check instead of asserting on isSSA

Also fix an SSA violation in a test the MIRParser/verifier fails to
catch. It's illegal to define a subregister in SSA. For the purpose of
the test, it just needs to define the super-register to use the
subregister in the use operand.
The file was modifiedllvm/lib/Target/AMDGPU/SILoadStoreOptimizer.cpp
The file was modifiedllvm/lib/Target/AMDGPU/GCNDPPCombine.cpp
The file was modifiedllvm/lib/Target/AMDGPU/R600OptimizeVectorRegisters.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/merge-load-store-vreg.mir
Commit fefa34faf551d10967cf2547003f2dd1b2efa887 by bevin.hansson
[CodeGen] Use the common semantic for fixed-point codegen, not the result semantic.

Summary:
Using the result semantic is wrong in some cases, such as
unsigned fixed-point + signed integer. In this case, the
result semantic is unsigned and the common semantic is
signed.

Reviewers: leonardchan

Subscribers: cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D82662
The file was modifiedclang/test/Frontend/fixed_point_add.c
The file was modifiedclang/lib/CodeGen/CGExprScalar.cpp
The file was modifiedclang/test/Frontend/fixed_point_mul.c
The file was modifiedclang/test/Frontend/fixed_point_sub.c
The file was modifiedclang/test/Frontend/fixed_point_div.c
Commit 1f228e572da238c656958bf7f85b371d773eb588 by n.james93
[clang-tidy] Fix hicpp-named-paramater

Currently this alias instantiates the readability-identifier-naming check, just swap it out to use the readability-named-paramater check.

Reviewed By: aaron.ballman

Differential Revision: https://reviews.llvm.org/D82711
The file was modifiedclang-tools-extra/clang-tidy/hicpp/HICPPTidyModule.cpp
Commit 67ecd7e296d1beabeaf96f984f0f592b22728633 by herhut
[mlir] Clean up NVVM intrinsics definitions a little.

Differential Revision: https://reviews.llvm.org/D82750
The file was modifiedmlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
Commit b6315aee5b420aa5a0be5f1ea86c3c963760a3f2 by spatel
[VectorCombine] try to form vector compare and binop to eliminate scalar ops

binop i1 (cmp Pred (ext X, Index0), C0), (cmp Pred (ext X, Index1), C1)
-->
vcmp = cmp Pred X, VecC
ext (binop vNi1 vcmp, (shuffle vcmp, Index1)), Index0

This is a larger pattern than the existing extractelement folds because we can't
reasonably vectorize the sub-patterns with constants based on cost model calcs
(it doesn't usually make sense to replace a single extracted scalar op with
constant operand with a vector op).

I salvaged as much of the existing logic as I could, but there might be better
ways to share and reduce code.

The motivating case from PR43745:
https://bugs.llvm.org/show_bug.cgi?id=43745
...is the special case of a 2-way reduction. We tried to get SLP to handle that
particular pattern in D59710, but that caused crashing and regressions.
This patch is more general, but hopefully safer.

The v2f64 test with SSE2 surprised me - the cost model accounting looks like this:
OldCost = 0 (free extract of f64 at index 0) + 1 (extract of f64 at index 1) + 2 (scalar fcmps) + 1 (and of bools) = 4
NewCost = 2 (vector fcmp) + 1 (shuffle) + 1 (vector 'and') + 1 (extract of bool) = 5

Differential Revision: https://reviews.llvm.org/D82474
The file was modifiedllvm/lib/Transforms/Vectorize/VectorCombine.cpp
The file was modifiedllvm/test/Transforms/PhaseOrdering/X86/vector-reductions.ll
The file was modifiedllvm/test/Transforms/VectorCombine/X86/extract-cmp-binop.ll
Commit 3621a520d33e64b8c8fb31a2c4b49b33d2938c1f by Matthew.Arsenault
Inliner: Add missing test for alignment assume with byval

No tests were stressing the behavior for hasPassPointeeByValueAttr.
The file was addedllvm/test/Transforms/Inline/byval-align.ll
Commit 6292702d1231378f86a0560a68603fd006911f2f by Jonas Devlieghere
[lldb/Test] Skip TestVSCode_disconnect on Darwin

It's failing on the sanitized bot on GreenDragon.
The file was modifiedlldb/test/API/tools/lldb-vscode/disconnect/TestVSCode_disconnect.py
Commit 57ad8f4730c982813c6f4672c45f4b73f0f0d79f by nemanja.i.ibm
[PowerPC] Don't combine SCALAR_TO_VECTOR without VSX

Most of the patterns for PPCISD::SCALAR_TO_VECTOR_PERMUTED require
VSX. So don't emit them if the subtarget doesn't have VSX.
This resolves the issue reported on
https://reviews.llvm.org/rG1fed131660b2c5d3ea7007e273a7a5da80699445
The file was modifiedllvm/test/CodeGen/PowerPC/canonical-merge-shuffles.ll
The file was modifiedllvm/lib/Target/PowerPC/PPCISelLowering.cpp
Commit 333aa690f4cd16b5c96631c104d1e0d4cf8fe78b by llvm-dev
[X86][SSE] MatchVectorAllZeroTest - handle OR vector reductions (REAPPLIED)

This patch extends MatchVectorAllZeroTest to handle OR vector reduction patterns where the result is compared against zero.

Reapplied with a fix for a chromium regression due to a missing isNullConstant() check in combineSetCC: https://bugs.chromium.org/p/chromium/issues/detail?id=1097758

Fixes PR45378

Differential Revision: https://reviews.llvm.org/D81547
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/test/CodeGen/X86/pr45378.ll
The file was modifiedllvm/test/CodeGen/X86/vector-reduce-or-cmp.ll
Commit e22cae32c5c4cf8c49b674cea34c105a6cb015f9 by benicsbalazs
[analyzer][NFC] Add unittest for FalsePositiveRefutationBRVisitor

Adds the test infrastructure for testing the FalsePositiveRefutationBRVisitor.
It will be extended in the D78457 patch, which demonstrates and fixes a bug in
the visitor.

Differential Revision: https://reviews.llvm.org/D78704
The file was modifiedclang/unittests/StaticAnalyzer/CMakeLists.txt
The file was modifiedclang/lib/StaticAnalyzer/Core/BugReporterVisitors.cpp
The file was addedclang/unittests/StaticAnalyzer/FalsePositiveRefutationBRVisitorTest.cpp
The file was modifiedclang/unittests/StaticAnalyzer/CheckerRegistration.h
Commit cc836950ab2a4309ae68d78a1b2330fd922fa3a2 by bjorn.a.pettersson
[llvm-objcopy] Fix "unused-function" warning in NDEBUG builds

Fixup of commit b925ca37a8f28851 to allow building with
-Werror -Wunused-function.
The file was modifiedllvm/tools/llvm-objcopy/MachO/MachOObjcopy.cpp
Commit a44425f25b5ca417e7ecee6e7e00040224e50a69 by gribozavr
Revert "[analyzer][NFC] Add unittest for FalsePositiveRefutationBRVisitor"

This reverts commit e22cae32c5c4cf8c49b674cea34c105a6cb015f9. It broke
the build:

FalsePositiveRefutationBRVisitorTest.cpp:112:3: error: use of undeclared identifier 'LLVM_WITH_Z3'
The file was modifiedclang/unittests/StaticAnalyzer/CheckerRegistration.h
The file was removedclang/unittests/StaticAnalyzer/FalsePositiveRefutationBRVisitorTest.cpp
The file was modifiedclang/unittests/StaticAnalyzer/CMakeLists.txt
The file was modifiedclang/lib/StaticAnalyzer/Core/BugReporterVisitors.cpp
Commit 5447e5d973bfccb5a32d3ca9cb0105340f178b85 by llvm-dev
Fix MSVC truncation of constant value warning.
The file was modifiedllvm/include/llvm/ADT/Bitfields.h
Commit deb72ce29860f61fe91ddcf97e89abfc9544cf42 by david.green
[ARM] Better reductions

MVE has native reductions for integer add and min/max. The others need
to be expanded to a series of extract's and scalar operators to reduce
the vector into a single scalar. The default codegen for that expands
the reduction into a series of in-order operations.

This modifies that to something more suitable for MVE. The basic idea is
to use vector operations until there are 4 remaining items then switch
to pairwise operations. For example a v8f16 fadd reduction would become:
Y = VREV X
Z = ADD(X, Y)
z0 = Z[0] + Z[1]
z1 = Z[2] + Z[3]
return z0 + z1

The awkwardness (there is always some) comes in from something like a
v4f16, which is first legalized by adding identity values to the extra
lanes of the reduction, and which can then not be optimized away through
the vrev; fadd combo, the inserts remain. I've made sure they custom
lower so that we can produce the pairwise additions before the extra
values are added.

Differential Revision: https://reviews.llvm.org/D81397
The file was modifiedllvm/lib/Target/ARM/ARMISelLowering.cpp
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vecreduce-fmul.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vecreduce-mul.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vecreduce-fadd.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vecreduce-bit.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vecreduce-loops.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vecreduce-fminmax.ll
Commit 1cf2e45c19ffc0635c96279779df43ba51630bba by gribozavr
Compile the RecursiveASTVisitor callbacks test with "/bigobj"

Summary:
This file was exceeding a limit in MSVC:

fatal error C1128: number of sections exceeded object file format limit: compile with /bigobj

Reviewers: erichkeane

Reviewed By: erichkeane

Subscribers: jmorse, gribozavr2, mgorny, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D82766
The file was modifiedclang/unittests/Tooling/CMakeLists.txt
Commit 860aefd0784ed05ffc0d56f36b0d56009776002a by n.james93
[clang-tidy][NFC] Remove unnecessary includes throughout clang-tidy header files

Reviewed By: aaron.ballman

Differential Revision: https://reviews.llvm.org/D82661
The file was modifiedclang-tools-extra/clang-tidy/llvm/HeaderGuardCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/cppcoreguidelines/ProTypeStaticCastDowncastCheck.h
The file was modifiedclang-tools-extra/clang-tidy/ClangTidyProfiling.h
The file was modifiedclang-tools-extra/clang-tidy/modernize/AvoidBindCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/abseil/DurationFactoryScaleCheck.h
The file was modifiedclang-tools-extra/clang-tidy/ClangTidyCheck.h
The file was modifiedclang-tools-extra/clang-tidy/ClangTidy.h
The file was modifiedclang-tools-extra/clang-tidy/abseil/TimeComparisonCheck.h
The file was modifiedclang-tools-extra/clang-tidy/google/AvoidNSObjectNewCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/bugprone/PosixReturnCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/abseil/DurationConversionCastCheck.h
The file was modifiedclang-tools-extra/clang-tidy/ClangTidyModule.h
The file was modifiedclang-tools-extra/clang-tidy/hicpp/MultiwayPathsCoveredCheck.h
The file was modifiedclang-tools-extra/clang-tidy/bugprone/NotNullTerminatedResultCheck.h
The file was modifiedclang-tools-extra/clang-tidy/cppcoreguidelines/OwningMemoryCheck.h
The file was modifiedclang-tools-extra/clang-tidy/abseil/RedundantStrcatCallsCheck.h
The file was modifiedclang-tools-extra/clang-tidy/modernize/UseTrailingReturnTypeCheck.h
The file was modifiedclang-tools-extra/clang-tidy/readability/MagicNumbersCheck.h
The file was modifiedclang-tools-extra/unittests/clang-tidy/ClangTidyTest.h
The file was modifiedclang-tools-extra/clang-tidy/readability/ConvertMemberFunctionsToStatic.cpp
The file was modifiedclang-tools-extra/clang-tidy/cppcoreguidelines/AvoidGotoCheck.h
The file was modifiedclang-tools-extra/clang-tidy/abseil/DurationDivisionCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/cppcoreguidelines/ProTypeReinterpretCastCheck.h
The file was modifiedclang-tools-extra/clang-tidy/abseil/DurationSubtractionCheck.h
The file was modifiedclang-tools-extra/clang-tidy/cppcoreguidelines/InitVariablesCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/performance/NoexceptMoveConstructorCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/abseil/NoNamespaceCheck.h
The file was modifiedclang-tools-extra/clang-tidy/abseil/DurationAdditionCheck.h
The file was modifiedclang-tools-extra/clang-tidy/utils/IncludeSorter.cpp
The file was modifiedclang-tools-extra/clang-tidy/llvm/PreferIsaOrDynCastInConditionalsCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/cppcoreguidelines/ProBoundsPointerArithmeticCheck.h
The file was modifiedclang-tools-extra/clang-tidy/abseil/StringFindStrContainsCheck.h
The file was modifiedclang-tools-extra/clang-tidy/abseil/StringFindStartswithCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/readability/ConvertMemberFunctionsToStatic.h
The file was modifiedclang-tools-extra/clang-tidy/abseil/TimeSubtractionCheck.h
The file was modifiedclang-tools-extra/clang-tidy/bugprone/BadSignalToKillThreadCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/ClangTidy.cpp
The file was modifiedclang-tools-extra/clang-tidy/cppcoreguidelines/ProTypeVarargCheck.h
The file was modifiedclang-tools-extra/clang-tidy/ClangTidyDiagnosticConsumer.h
The file was modifiedclang-tools-extra/clang-tidy/ClangTidyModule.cpp
The file was modifiedclang-tools-extra/clang-tidy/utils/RenamerClangTidyCheck.h
The file was modifiedclang-tools-extra/clang-tidy/readability/MakeMemberFunctionConstCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/cppcoreguidelines/NarrowingConversionsCheck.h
The file was modifiedclang-tools-extra/clang-tidy/ClangTidyDiagnosticConsumer.cpp
The file was modifiedclang-tools-extra/clang-tidy/cppcoreguidelines/ProTypeMemberInitCheck.h
The file was modifiedclang-tools-extra/clang-tidy/readability/ElseAfterReturnCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/utils/TransformerClangTidyCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/abseil/DurationComparisonCheck.h
The file was modifiedclang-tools-extra/clang-tidy/readability/RedundantPreprocessorCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/bugprone/SuspiciousIncludeCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/cppcoreguidelines/SlicingCheck.h
The file was modifiedclang-tools-extra/clang-tidy/openmp/UseDefaultNoneCheck.h
The file was modifiedclang-tools-extra/clang-tidy/openmp/ExceptionEscapeCheck.h
The file was modifiedclang-tools-extra/clang-tidy/cppcoreguidelines/ProTypeConstCastCheck.h
The file was modifiedclang-tools-extra/clang-tidy/cppcoreguidelines/ProTypeUnionAccessCheck.h
The file was modifiedclang-tools-extra/clang-tidy/modernize/ConcatNestedNamespacesCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/abseil/NoInternalDependenciesCheck.h
The file was modifiedclang-tools-extra/clang-tidy/abseil/StringFindStartswithCheck.h
The file was modifiedclang-tools-extra/clang-tidy/modernize/ReplaceDisallowCopyAndAssignMacroCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/misc/UnusedParametersCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/cppcoreguidelines/NoMallocCheck.h
The file was modifiedclang-tools-extra/clangd/ParsedAST.cpp
The file was modifiedclang-tools-extra/clang-tidy/bugprone/BranchCloneCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/abseil/FasterStrsplitDelimiterCheck.h
The file was modifiedclang-tools-extra/clang-tidy/abseil/DurationDivisionCheck.h
The file was modifiedclang-tools-extra/clang-tidy/tool/ClangTidyMain.cpp
The file was modifiedclang-tools-extra/clang-tidy/abseil/TimeSubtractionCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/abseil/UpgradeDurationConversionsCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/abseil/UpgradeDurationConversionsCheck.h
The file was modifiedclang-tools-extra/clang-tidy/bugprone/NotNullTerminatedResultCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/cppcoreguidelines/SpecialMemberFunctionsCheck.h
The file was modifiedclang-tools-extra/clangd/unittests/ParsedASTTests.cpp
The file was modifiedclang-tools-extra/clang-tidy/hicpp/ExceptionBaseclassCheck.h
The file was modifiedclang-tools-extra/clang-tidy/hicpp/NoAssemblerCheck.h
The file was modifiedclang-tools-extra/clang-tidy/cppcoreguidelines/ProBoundsArrayToPointerDecayCheck.h
The file was modifiedclang-tools-extra/clang-tidy/hicpp/SignedBitwiseCheck.h
The file was modifiedclang-tools-extra/clang-tidy/modernize/UseUncaughtExceptionsCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/cppcoreguidelines/ProBoundsConstantArrayIndexCheck.h
The file was modifiedclang-tools-extra/clang-tidy/modernize/UseTrailingReturnTypeCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/bugprone/MisplacedPointerArithmeticInAllocCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/readability/UseAnyOfAllOfCheck.h
The file was modifiedclang-tools-extra/clang-tidy/cppcoreguidelines/MacroUsageCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/utils/TransformerClangTidyCheck.h
The file was modifiedclang-tools-extra/clang-tidy/bugprone/ReservedIdentifierCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/llvmlibc/RestrictSystemLibcHeadersCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/utils/ExprSequence.cpp
The file was modifiedclang-tools-extra/clang-tidy/readability/UppercaseLiteralSuffixCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/fuchsia/DefaultArgumentsDeclarationsCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/abseil/DurationFactoryFloatCheck.h
The file was modifiedclang-tools-extra/clang-tidy/objc/SuperSelfCheck.h
The file was modifiedclang-tools-extra/clang-tidy/bugprone/MisplacedOperatorInStrlenInAllocCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/bugprone/BranchCloneCheck.h
The file was modifiedclang-tools-extra/clang-tidy/cppcoreguidelines/MacroUsageCheck.h
The file was modifiedclang-tools-extra/clang-tidy/cppcoreguidelines/ProTypeCstyleCastCheck.h
The file was modifiedclang-tools-extra/clang-tidy/google/UpgradeGoogletestCaseCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/abseil/DurationUnnecessaryConversionCheck.h
The file was modifiedclang-tools-extra/clang-tidy/objc/NSInvocationArgumentLifetimeCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/abseil/DurationFactoryFloatCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/google/AvoidUnderscoreInGoogletestNameCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/cppcoreguidelines/InterfacesGlobalInitCheck.h
The file was modifiedclang-tools-extra/clang-tidy/portability/RestrictSystemIncludesCheck.h
The file was modifiedclang-tools-extra/clang-tidy/utils/HeaderGuard.h
The file was modifiedclang-tools-extra/clang-tidy/abseil/StrCatAppendCheck.h
Commit 58f2be9671a802acda2f74d2d8105a59ed119933 by gribozavr
RecursiveASTVisitor: inline a macro that is only used once

Reviewers: eduucaldas, ymandel

Reviewed By: ymandel

Subscribers: cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D82760
The file was modifiedclang/include/clang/AST/RecursiveASTVisitor.h
Commit 226cda58d50555f626737c3cb9dffef0cf3d906c by Christudasan.Devadasan
[AMDGPU] Moving SI_RETURN_TO_EPILOG handling out of SIInsertSkips.

For now, moving it to SIPreEmitPeephole.
Should find a right place to have this code.

Reviewed By: nhaehnle

Differential revision: https://reviews.llvm.org/D77544
The file was addedllvm/test/CodeGen/AMDGPU/transform-block-with-return-to-epilog.ll
The file was modifiedllvm/lib/Target/AMDGPU/SIInsertSkips.cpp
The file was modifiedllvm/lib/Target/AMDGPU/SIPreEmitPeephole.cpp
Commit eb68a0ab5ee8a8354f1539fb00409f027a7137b2 by Louis Dionne
[libc++] Do not try creating llvm-lit when LIBCXX_INCLUDE_TESTS is OFF in the standalone build

Doing so doesn't work reliably, since it relies on LLVM_* implementation
detail variables being set. Furthermore, since we rely on the lit.site.cfg
being generated, running the tests requires LIBCXX_INCLUDE_TESTS=ON anyway.
The file was modifiedlibcxx/CMakeLists.txt
Commit 8cc722ffc749b83fcd9f55264ee359ff41cb0ac8 by dfukalov
[NFC] Fixed ignored .hip test.

Reviewers: hliao

Reviewed By: hliao

Subscribers: yaxunl, cfe-commits, llvm-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D82764
The file was addedclang/test/CodeGenHIP/lit.local.cfg
Commit 67e4330facfbf798ecc40cd2449f70e6758078b9 by francesco.petrogalli
[sve][acle] Implement some of the C intrinsics for brain float.

Summary:
The following intrinsics have been extended to support brain float types:

svbfloat16_t svclasta[_bf16](svbool_t pg, svbfloat16_t fallback, svbfloat16_t data)
bfloat16_t svclasta[_n_bf16](svbool_t pg, bfloat16_t fallback, svbfloat16_t data)
bfloat16_t svlasta[_bf16](svbool_t pg, svbfloat16_t op)

svbfloat16_t svclastb[_bf16](svbool_t pg, svbfloat16_t fallback, svbfloat16_t data)
bfloat16_t svclastb[_n_bf16](svbool_t pg, bfloat16_t fallback, svbfloat16_t data)
bfloat16_t svlastb[_bf16](svbool_t pg, svbfloat16_t op)

svbfloat16_t svdup[_n]_bf16(bfloat16_t op)
svbfloat16_t svdup[_n]_bf16_m(svbfloat16_t inactive, svbool_t pg, bfloat16_t op)
svbfloat16_t svdup[_n]_bf16_x(svbool_t pg, bfloat16_t op)
svbfloat16_t svdup[_n]_bf16_z(svbool_t pg, bfloat16_t op)

svbfloat16_t svdupq[_n]_bf16(bfloat16_t x0, bfloat16_t x1, bfloat16_t x2, bfloat16_t x3, bfloat16_t x4, bfloat16_t x5, bfloat16_t x6, bfloat16_t x7)
svbfloat16_t svdupq_lane[_bf16](svbfloat16_t data, uint64_t index)

svbfloat16_t svinsr[_n_bf16](svbfloat16_t op1, bfloat16_t op2)

Reviewers: sdesmalen, kmclaughlin, c-rhodes, ctetreau, efriedma

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

Tags: #clang, #llvm

Differential Revision: https://reviews.llvm.org/D82345
The file was modifiedclang/include/clang/Basic/arm_sve.td
The file was modifiedllvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
The file was addedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_dup-bfloat.c
The file was addedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_insr-bfloat.c
The file was addedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_lasta-bfloat.c
The file was modifiedllvm/test/CodeGen/AArch64/sve-intrinsics-shifts.ll
The file was addedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_clastb-bfloat.c
The file was addedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_clasta-bfloat.c
The file was addedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_dupq-bfloat.c
The file was modifiedllvm/test/CodeGen/AArch64/sve-vector-splat.ll
The file was modifiedllvm/test/CodeGen/AArch64/sve-intrinsics-scalar-to-vec.ll
The file was modifiedllvm/test/CodeGen/AArch64/sve-intrinsics-dup-x.ll
The file was modifiedclang/lib/CodeGen/CGBuiltin.cpp
The file was addedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_lastb-bfloat.c
The file was modifiedllvm/test/CodeGen/AArch64/sve-intrinsics-perm-select.ll
Commit b4130e6e99640046b60452272264823bf0f8813f by sguelton
Correctly report Changed status in FoldBranchToCommonDest

It's possible for the first loop trip(s) to set the `Changed` Status, and to a
later one to early exit, in which case `Changed` must be return.

Differential Revision: https://reviews.llvm.org/D82753
The file was modifiedllvm/lib/Transforms/Utils/SimplifyCFG.cpp
Commit fe0a555aa3c6f37a5b5d79942215b07587893efa by benicsbalazs
[analyzer][NFC] Add unittest for FalsePositiveRefutationBRVisitor

Adds the test infrastructure for testing the FalsePositiveRefutationBRVisitor.
It will be extended in the D78457 patch, which demonstrates and fixes a bug in
the visitor.

Differential Revision: https://reviews.llvm.org/D78704
The file was modifiedclang/unittests/StaticAnalyzer/CheckerRegistration.h
The file was addedclang/unittests/StaticAnalyzer/FalsePositiveRefutationBRVisitorTest.cpp
The file was modifiedclang/unittests/StaticAnalyzer/CMakeLists.txt
Commit 0f95f4c65939af7da23ad1b864219cd119018eef by llvmgnsyncbot
[gn build] Port fe0a555aa3c
The file was modifiedllvm/utils/gn/secondary/clang/unittests/StaticAnalyzer/BUILD.gn
Commit 3936b753bacc17aae4bb421bd8a27f428a9a4173 by omair.javaid
[LLDB] skip TestCreateDuringInstructionStep on aarch64/linux

TestCreateDuringInstructionStep have started failing again on
aarch64/linux after moving to new machine. I am going mark it skipped
for aarch64/linux.
The file was modifiedlldb/test/API/linux/thread/create_during_instruction_step/TestCreateDuringInstructionStep.py
Commit 09943e8de1586dd7f28aa24879fd68717a859588 by Louis Dionne
[libc++] Provide a default LLVM_PATH when building standalone

Since we require that libc++ is built as part of the monorepo layout, we
can assume the path of the rest of LLVM and avoid requiring that LLVM_PATH
be set explicitly.
The file was modifiedlibcxx/docs/BuildingLibcxx.rst
The file was modifiedlibcxx/cmake/Modules/HandleOutOfTreeLLVM.cmake
Commit da940b1a2d06382f11ead4369a48edf617697183 by Louis Dionne
[libc++] Enable tests and documentation by default when building standalone

Since we can always find the rest of the LLVM tree, we can always run the
tests in the standalone mode. Do it so that the default behavior is the
same in the standalone and non-standalone modes.
The file was modifiedlibcxx/cmake/Modules/HandleOutOfTreeLLVM.cmake
Commit 29ea1b4baaa8b9ec5dbd25f91693e422c958db2d by Jonas Devlieghere
[Sphinx] Support older recommonmark versions.

The "new way" of enabling recommonmark is only supported in recommonmark
0.5 and later. Use the deprecated approach with versions of Sphinx that
still support it.

If I understand correctly there's no way to use older versions of
recommonmark (<0.5) with newer versions of Sphinx (>3.0) because the old
approach got removed.

Differential revision: https://reviews.llvm.org/D75284
The file was modifiedllvm/docs/conf.py
Commit 1ef75f53e9e6aeb35a1d46798b3063192ee86f0f by cullen.rhodes
[AArch64][SVE] clang: Add missing svbfloat16_t tests

Summary:
Patch adds tests for mangling of svbfloat16_t and several other type
related tests.

Reviewers: sdesmalen, kmclaughlin, fpetrogalli, efriedma

Reviewed By: sdesmalen, fpetrogalli

Differential Revision: https://reviews.llvm.org/D82668
The file was modifiedclang/test/CodeGenCXX/aarch64-mangle-sve-vectors.cpp
The file was modifiedclang/test/CodeGenCXX/aarch64-sve-typeinfo.cpp
The file was modifiedclang/test/CodeGenObjC/aarch64-sve-types.m
The file was modifiedclang/test/CodeGen/aarch64-sve.c
The file was modifiedclang/test/PCH/aarch64-sve-types.c
The file was modifiedclang/test/Sema/aarch64-sve-types.c
The file was modifiedclang/test/SemaObjC/aarch64-sve-types.m
Commit de361df3f6d0f20bf16a8deb9e6219556d028b81 by benicsbalazs
[analyzer][Z3-refutation] Fix a refutation BugReporterVisitor bug

FalsePositiveRefutationBRVisitor had a bug where the constraints were not
properly collected thus crosschecked with Z3.
This patch demonstratest and fixes that bug.

Bug:
The visitor wanted to collect all the constraints on a BugPath.
Since it is a visitor, it stated the visitation of the BugPath with the node
before the ErrorNode. As a final step, it visited the ErrorNode explicitly,
before it processed the collected constraints.

In principle, the ErrorNode should have visited before every other node.
Since the constraints were collected into a map, mapping each symbol to its
RangeSet, if the map already had a mapping with the symbol, then it was skipped.

This behavior was flawed if:
We already had a constraint on a symbol, but at the end in the ErrorNode we have
a tighter constraint on that. Therefore, this visitor would not utilize that
tighter constraint during the crosscheck validation.

Differential Revision: https://reviews.llvm.org/D78457
The file was modifiedclang/lib/StaticAnalyzer/Core/BugReporter.cpp
The file was modifiedclang/unittests/StaticAnalyzer/FalsePositiveRefutationBRVisitorTest.cpp
The file was modifiedclang/include/clang/StaticAnalyzer/Core/BugReporter/BugReporterVisitors.h
The file was modifiedclang/lib/StaticAnalyzer/Core/BugReporterVisitors.cpp
Commit e73c3bb06b5a35d13cf96d574ce3b849c5d3d56d by cullen.rhodes
[AArch64][SVE] Add bfloat16 to outstanding tuple vector intrinsics

Summary:
* svget2/3/4
* svset2/3/4
* svcreate2/3/4
* svundef/2/3/4

Reviewers: sdesmalen, kmclaughlin, fpetrogalli, efriedma

Reviewed By: fpetrogalli

Differential Revision: https://reviews.llvm.org/D82665
The file was addedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_create2-bfloat.c
The file was addedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_set3-bfloat.c
The file was addedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_set2-bfloat.c
The file was addedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_undef3-bfloat.c
The file was addedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_get2-bfloat.c
The file was modifiedclang/include/clang/Basic/arm_sve.td
The file was addedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_undef2-bfloat.c
The file was modifiedllvm/test/CodeGen/AArch64/sve-intrinsics-create-tuple.ll
The file was addedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_get4-bfloat.c
The file was addedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_create4-bfloat.c
The file was addedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_create3-bfloat.c
The file was addedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_set4-bfloat.c
The file was addedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_get3-bfloat.c
The file was addedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_undef-bfloat.c
The file was addedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_undef4-bfloat.c
Commit d2533d96e14118a86904a69fd2a192c008642f14 by nemanja.i.ibm
[PowerPC] Fix crash for shuffle canonicalization with elt 0 from RHS

Commit 1fed131660b2 assumed that shuffle vector canonicalization will
always ensure that the shuffle mask will be ordered so that element
zero comes from the LHS vector. However there is code out there for
which this is not the case. This patch simply removes that unsafe
assumption and makes the code work regardless of the source of the
first element.
The file was modifiedllvm/lib/Target/PowerPC/PPCISelLowering.cpp
The file was modifiedllvm/test/CodeGen/PowerPC/canonical-merge-shuffles.ll
Commit 5cba1c6336c790877b631e4fcd3cb6e49452a00c by ctetreau
[SVE] Remove calls to VectorType::getNumElements from mlir

Reviewers: efriedma, ftynse, rriddle

Reviewed By: ftynse, rriddle

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

Tags: #mlir

Differential Revision: https://reviews.llvm.org/D82583
The file was modifiedmlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
The file was modifiedmlir/lib/Target/LLVMIR/ModuleTranslation.cpp
The file was modifiedmlir/lib/Conversion/StandardToLLVM/StandardToLLVM.cpp
Commit 5d838808854b9b6a7cb357d7768d37fc94fa7d73 by Louis Dionne
[runtimes] Remove the ability to select the old libc++ testing format

As announced on libcxx-dev at [1], the old libc++ testing format is being
removed in favour of the new one. Follow-up commits will clean up the
code that is dead after the removal of this option.

[1]: http://lists.llvm.org/pipermail/libcxx-dev/2020-June/000885.html
The file was modifiedlibunwind/test/lit.site.cfg.in
The file was modifiedlibcxxabi/test/lit.site.cfg.in
The file was modifiedlibcxx/utils/libcxx/test/config.py
The file was modifiedlibcxx/test/lit.site.cfg.in
Commit 0da1e7ebf9a82e49858e77a5bbe1a14f08ef00d7 by ctetreau
[SVE] Remove calls to VectorType::getNumElements from X86

Reviewers: efriedma, RKSimon, craig.topper, fpetrogalli, c-rhodes

Reviewed By: RKSimon

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

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D82508
The file was modifiedllvm/lib/Target/X86/X86PartialReduction.cpp
The file was modifiedllvm/lib/Target/X86/X86TargetTransformInfo.cpp
The file was modifiedllvm/lib/Target/X86/X86ShuffleDecodeConstantPool.cpp
The file was modifiedllvm/lib/Target/X86/X86InterleavedAccess.cpp
The file was modifiedllvm/lib/Target/X86/X86TargetTransformInfo.h
Commit 01bf8cdf5fa9bc71869e15e5e351b2b68c39feb6 by sam.mccall
[ADT] Support const-qualified unique_functions

Summary:
This technique should extend to rvalue-qualified etc, but I didn't add any.
I removed "volatile" from the future plans, which seems... speculative at best.

While here I moved the callbacks object out of the constructor into a
variable template, which I believe addresses the fixme there about unused
objects.

(I'm not a template guru, so it's always possible the old version was designed
for compile-time performance in a way I'm missing)

Reviewers: kadircet

Subscribers: dexonsmith, llvm-commits, chandlerc

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D82581
The file was modifiedllvm/unittests/ADT/FunctionExtrasTest.cpp
The file was modifiedllvm/include/llvm/ADT/FunctionExtras.h
Commit b8a6f58f696fd1113149a557ac4ecd8cd33688f7 by a.bataev
[DEBUGINFO]Add a test for packed bitfields, NFC.
The file was addedllvm/test/DebugInfo/X86/packed_bitfields.ll
Commit 9963d93b0731e21dd1c9c1cebf8baaecf2010330 by sam.mccall
[clangd] Config: config struct propagated through Context

Summary:
This introduces the "semantic form" of config exposed to features,
contrasted with the "syntactic form" exposed to users in e9fb1506b83d.

The two are not connected, CompiledFragment and Provider will bridge that gap.
Nor is configuration actually set: that needs changes to ClangdServer,
TUScheduler, and BackgroundQueue.

Reviewers: hokein, kadircet

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

Tags: #clang

Differential Revision: https://reviews.llvm.org/D82606
The file was addedclang-tools-extra/clangd/Config.cpp
The file was modifiedclang-tools-extra/clangd/unittests/CompileCommandsTests.cpp
The file was modifiedclang-tools-extra/clangd/CompileCommands.cpp
The file was addedclang-tools-extra/clangd/Config.h
The file was modifiedclang-tools-extra/clangd/CMakeLists.txt
Commit 09b6dffb8ed19d624fddc7a57ce886f8be3c45b2 by nikita.ppv
Revert "[ADT] Support const-qualified unique_functions"

This reverts commit 01bf8cdf5fa9bc71869e15e5e351b2b68c39feb6.

Breaks the build:

llvm/include/llvm/ADT/FunctionExtras.h:223:7: error: explicit template argument list not allowed
  223 |       Callbacks<CallableT, CalledAs, EnableIfTrivial<CallableT>>;
The file was modifiedllvm/unittests/ADT/FunctionExtrasTest.cpp
The file was modifiedllvm/include/llvm/ADT/FunctionExtras.h
Commit c84a952dc7cab11fda4a6f622cf1c955631b99f5 by nikita.ppv
[IndVars] Regenerate test checks (NFC)
The file was modifiedllvm/test/Transforms/IndVarSimplify/elim-extend.ll
Commit 2bad2226801f32362036b471d35a40dc5f343632 by mvels
Add optimization to basic_string::assign for compile-time known constant values.

Summary:
This change optimizes the assign() methods for string where either the contents or lengths are compile time known constants. For small strings (< min_cap) we can execute the assignment entirely inline. For strings up to 128 bytes we allow the compiler to efficiently inline the copy operation after we call the offline __resize<>() method. Short / long branches are taken at the call site for better branch prediction and allowing FDO optimizations.

Benchmarks (unstable / google perflab):
```
name                                                old time/op             new time/op             delta
BM_StringAssignAsciiz_Empty_Opaque                  5.69ns ± 7%             5.97ns ± 7%     ~             (p=0.056 n=5+5)
BM_StringAssignAsciiz_Empty_Transparent             5.39ns ± 7%             0.79ns ± 8%  -85.36%          (p=0.008 n=5+5)
BM_StringAssignAsciiz_Small_Opaque                  11.2ns ± 5%             11.0ns ± 6%     ~             (p=0.548 n=5+5)
BM_StringAssignAsciiz_Small_Transparent             10.1ns ± 7%              1.0ns ± 8%  -89.76%          (p=0.008 n=5+5)
BM_StringAssignAsciiz_Large_Opaque                  23.5ns ± 7%             23.8ns ± 7%     ~             (p=0.841 n=5+5)
BM_StringAssignAsciiz_Large_Transparent             21.4ns ± 7%             12.7ns ± 7%  -40.83%          (p=0.008 n=5+5)
BM_StringAssignAsciiz_Huge_Opaque                    336ns ± 4%              327ns ± 7%     ~             (p=0.421 n=5+5)
BM_StringAssignAsciiz_Huge_Transparent               331ns ± 5%              324ns ± 7%     ~             (p=0.548 n=5+5)
BM_StringAssignAsciizMix_Opaque                     13.6ns ±10%             13.7ns ± 9%     ~             (p=0.690 n=5+5)
BM_StringAssignAsciizMix_Transparent                12.9ns ± 8%              3.6ns ± 8%  -71.82%          (p=0.008 n=5+5)
```

Reviewers: EricWF, #libc!

Subscribers: jfb, libcxx-commits

Tags: #libc

Differential Revision: https://reviews.llvm.org/D82221
The file was modifiedlibcxx/include/string
The file was modifiedlibcxx/include/__string
The file was removedlibcxx/lib/abi/x86_64-apple-darwin.v2.abilist
Commit a450e0d8d092441977d57ca052ba6eb0f800b4fc by llvmgnsyncbot
[gn build] Port 9963d93b073
The file was modifiedllvm/utils/gn/secondary/clang-tools-extra/clangd/BUILD.gn
Commit 6d01a9419351b8ff63b520fd86148795e0d9f381 by rnk
Silence unused var warning in NDEBUG build
The file was modifiedllvm/lib/IR/Function.cpp
Commit 2790516418f4763b5846cd6dd7760a0986ccfa3c by Matthew.Arsenault
X86: Use MOV32r0 pseudo instead of directly emitting xor

This was producing reg = xor undef reg, undef reg. This looks similar
to a use of a value to define itself, and I want to disallow undef
uses for SSA virtual registers. If this were to use implicit_def,
there's no guarantee the two operands end up using the same register
(I think no guarantee exists even if the two operands start out as the
same register, but this was violated when I switched this to use an
explicit implicit_def). The MOV32r0 pseudo evidently exists to handle
this case, so use it instead. This was more work than I expected for
the 64-bit case, but I didn't see any helper for materializing a
64-bit 0.
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/test/CodeGen/X86/shadow-stack.ll
Commit 7c308dc80a5c6efe4dcb85dc6e20b2691da5c367 by Matthew.Arsenault
LowerConstantIntrinsics: Fix missing test for byval behavior
The file was modifiedllvm/test/Transforms/LowerConstantIntrinsics/objectsize_basic.ll
Commit e7a1c2a4959a8543364d9d46b32351ef45a84e18 by Matthew.Arsenault
X86: Upgrade a test to not rely on byval pointee type
The file was modifiedllvm/test/CodeGen/X86/byval-callee-cleanup.ll
Commit f7a14514ee63dc2ab9558c50254efb8ac2ad7cc6 by Alex Lorenz
[darwin][driver] isMacosxVersionLT should check against the minimum supported OS version

This change ensures that the Darwin driver doesn't add unsupported libraries to the link
invocation when linking the Apple Silicon macOS slice.

rdar://61011136

Differential Revision: https://reviews.llvm.org/D82696
The file was modifiedclang/lib/Driver/ToolChains/Darwin.h
The file was addedclang/test/Driver/macos-apple-silicon-slice-link-libs.cpp
The file was modifiedllvm/include/llvm/ADT/Triple.h
The file was modifiedllvm/lib/Support/Triple.cpp
Commit 1c15229ba3a1c950852d8d149abca571a93c19a6 by rnk
[gn build] Add missing llvm-lipo dep to check-lld

Updates gn files for 918948db4dc8718cb7aae8765653c27cba3cfe86
The file was modifiedllvm/utils/gn/secondary/lld/test/BUILD.gn
Commit 5918d49ac152a67575cec84c2aa2c5c40b3612c8 by mtrofin
[llvm][NFC] Use llvm_canonicalize_cmake_booleans for LLVM_HAVE_TF_AOT

Reviewers: thakis

Subscribers: mgorny, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D82776
The file was modifiedllvm/test/CMakeLists.txt
The file was modifiedllvm/test/lit.site.cfg.py.in
Commit f45b41348ba49c4a76baab1e3e302ef8e2bb992b by pklausler
[flang] Defer stmt function body analysis until specification part complete

Expression analysis was being invoked on the bodies of statement functions
as they were being encountered during name resolution.  This led to failures
on some FCVS tests in cases where those expressions contained implicitly
typed objects.  Defer the analysis of statemet function bodies to the end
of the specification part, at which time the symbols of the enclosing scope
will have been typed.

Reviewed By: tskeith

Differential Revision: https://reviews.llvm.org/D82796
The file was modifiedflang/lib/Semantics/resolve-names.cpp
Commit 300bbbcb707ad08200543735326982664136d3bc by ditaliano
[ProcessGDBRemote] Get rid of an unused function.

The define was wrong. I could've fixed it, but given this is
unused I decided to drop the function altogether.
The file was modifiedlldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
Commit 8c288db2c69a2a9c75bfa629d54f80cf8953b11b by sam.mccall
Reland [ADT] Support const-qualified unique_functions

This reverts commit 09b6dffb8ed19d624fddc7a57ce886f8be3c45b2.

Now compiles with GCC!
The file was modifiedllvm/include/llvm/ADT/FunctionExtras.h
The file was modifiedllvm/unittests/ADT/FunctionExtrasTest.cpp
Commit a3684dfc45c3a7bbdf72750d8a527e07e776b608 by sam.mccall
Revert "[clangd] Config: config struct propagated through Context"

This reverts commit 9963d93b0731e21dd1c9c1cebf8baaecf2010330.

Fails on mac/win:
http://45.33.8.238/win/18704/step_9.txt
http://45.33.8.238/mac/16341/step_9.txt
The file was modifiedclang-tools-extra/clangd/unittests/CompileCommandsTests.cpp
The file was removedclang-tools-extra/clangd/Config.h
The file was removedclang-tools-extra/clangd/Config.cpp
The file was modifiedclang-tools-extra/clangd/CompileCommands.cpp
The file was modifiedclang-tools-extra/clangd/CMakeLists.txt
Commit c5a6ee16f2f6cd7fd46616ba6808a98da53e71bd by sam.mccall
Reland [clangd] Config: config struct propagated through Context

This reverts commit a3684dfc45c3a7bbdf72750d8a527e07e776b608.
The file was modifiedclang-tools-extra/clangd/CompileCommands.cpp
The file was addedclang-tools-extra/clangd/Config.h
The file was modifiedclang-tools-extra/clangd/unittests/CompileCommandsTests.cpp
The file was modifiedclang-tools-extra/clangd/CMakeLists.txt
The file was addedclang-tools-extra/clangd/Config.cpp
Commit 7c2cb1448ad2d20e251db5e3ae4a0c84c12aa970 by ndesaulniers
Revert "[clang][SourceManager] cache Macro Expansions"

This reverts commit dffc1420451f674731cb36799c8ae084104ff0b5.

Missed a hunk (D82690).
The file was modifiedclang/lib/Basic/SourceManager.cpp
Commit 7b8cf98b4a9a2f5ea3667fdbf913a4f8952ed36a by ndesaulniers
Reland "[clang][SourceManager] cache Macro Expansions""

This reverts commit 33d63f02ce408d181e13089ee5a667fb2e1cdc78.

Differential Revision: https://reviews.llvm.org/D80681
The file was modifiedclang/lib/Basic/SourceManager.cpp
Commit de172dd17f0334e1fcbbf28a33d0ea24f7cbff1a by leonardchan
[clang][RelativeVTablesABI] Update CodeGenCXX/RelativeVTablesABI/dynamic-cast.cpp

After c7bcd431d9c4bfeb631a3599f1d628603e6351d6, this test started failing when
running with the new pass manager. One of the CHECKs in this file checks how the
vtable is loaded for a void cast, which involves taking 2 bitcasts from the pointer
to the original object. The order of these bitcasts changes under the new PM.
The order doesn't matter, so this relaxes the CHECKs.

Differential Revision: https://reviews.llvm.org/D82802
The file was modifiedclang/test/CodeGenCXX/RelativeVTablesABI/dynamic-cast.cpp
Commit 6f87b99a79a239edb04bf9d0818a529aa5c31f4b by sam.mccall
[ADT] Use more explicit from to initialize member. Appease MSVC?

Or at least get a clearer error message:
http://lab.llvm.org:8011/builders/mlir-windows/builds/3958/steps/build-unified-tree/logs/stdio
The file was modifiedllvm/include/llvm/ADT/FunctionExtras.h
Commit 4a80f1907860c9ebe55d0172d8e7d3ea95aa5d71 by ajcbik
[mlir] [VectorOps] Extend vector reduction integration test with reassoc=true cases.

Reviewed By: reidtatge

Differential Revision: https://reviews.llvm.org/D82674
The file was addedmlir/integration_test/Dialect/Vector/CPU/test-reductions-f64-reassoc.mlir
The file was addedmlir/integration_test/Dialect/Vector/CPU/test-reductions-f32-reassoc.mlir
The file was modifiedmlir/integration_test/Dialect/LLVMIR/CPU/test-vector-reductions-fp.mlir
Commit c48ccb6b4e513e467b22fab1de57a25c23af4361 by Jason Molenda
Simplify conditionals in DNBArchMachARM64::EnableHardwareSingleStep
The file was modifiedlldb/tools/debugserver/source/MacOSX/arm64/DNBArchImplARM64.cpp
Commit 1f14287eab972e76a521a32a2c326b8ff3b8d21f by sam.mccall
[clangd] config() -> Config::current to avoid confict with NS
The file was modifiedclang-tools-extra/clangd/Config.cpp
The file was modifiedclang-tools-extra/clangd/Config.h
The file was modifiedclang-tools-extra/clangd/CompileCommands.cpp
Commit 1bcdea5c36c296dcbf1fc244e14b3b21ca7934d0 by llvm-dev
[X86] Add common prefixes to merge more hadd/sub tests checks
The file was modifiedllvm/test/CodeGen/X86/avx512-hadd-hsub.ll
The file was modifiedllvm/test/CodeGen/X86/avx2-phaddsub.ll
Commit af9cc2d2afe8cbb8dc3b309707f17597ce43071e by lei
[PowerPC] Fix FeatureISA3_1 def in PPC.td to imply FeatureISA3_0.
The file was modifiedllvm/lib/Target/PowerPC/PPC.td
Commit bd2c3014e120949c4acc1d107ac71c4091f00a3d by eschweitz
[flang] Add coarray lowering hooks.

Differential review: https://reviews.llvm.org/D82790
The file was modifiedflang/lib/Lower/CMakeLists.txt
The file was addedflang/include/flang/Lower/Coarray.h
The file was addedflang/lib/Lower/Coarray.cpp
Commit 25055a4fb90292e49f44a0a708390a730cd1116e by zinenko
[mlir] add unsigned comparison builders to Affine EDSC

Current Affine comparison builders, which use operator overload, default to signed comparison.  This creates the possibility of misuse of these builders and potential correctness issues when dealing with unsigned integers.  This change makes the distinction between signed and unsigned comparison builders and forces the caller to make a choice between the two.

Differential Revision: https://reviews.llvm.org/D82323
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Loops.cpp
The file was modifiedmlir/include/mlir/EDSC/Builders.h
The file was modifiedmlir/include/mlir/Dialect/Affine/EDSC/Builders.h
The file was modifiedmlir/lib/Dialect/Linalg/EDSC/Builders.cpp
The file was modifiedmlir/lib/Conversion/VectorToSCF/VectorToSCF.cpp
The file was modifiedmlir/lib/Dialect/Affine/EDSC/Builders.cpp
The file was modifiedmlir/test/EDSC/builder-api-test.cpp
Commit 4d1b7e9820ee9c87541619ce4dd41e92dc43cd9c by richard
Fix a few cases that were incorrectly parsed as unary-expressions
instead of postfix-expressions, and improve error recovery for postfix
operators after unary-expressions.

This covers nullptr, __null, and some calls to type traits with special
parsing rules. We would previously not parse a postfix-expression suffix
for these expressions, so would reject expressions such as
__is_trivial(int)["foo"].

For the case where a postfix-expression suffix is *not* permitted after
a unary-expression (for example, after a new-expression or sizeof
expression), produce a diagnostic if one appears there anyway. That's
always ill-formed, but previously produced very bad diagnostics.
The file was addedclang/test/Parser/expressions.cpp
The file was modifiedclang/lib/Parse/ParseExpr.cpp
The file was modifiedclang/include/clang/Basic/DiagnosticParseKinds.td
Commit 657ac8e717e3cbb121e424c0cb6e2cffdacfd533 by ctetreau
[CMake] Fix incorrect handling of get_target_property failure

Summary:
add_unittest was checking that the result of get_target_property was not
"NOTFOUND", but despite what the documentation says, get_target_property
returns <the var>-NOTFOUND on failure.

Reviewers: efriedma, thakis, serge-sans-paille, chandlerc

Reviewed By: serge-sans-paille

Subscribers: mgorny, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D81762
The file was modifiedllvm/cmake/modules/AddLLVM.cmake
Commit ee394e6842733a38ee0953d8ee018547ecbef8fd by jurahul
[MLIR] Add variadic isa<> for Type, Value, and Attribute

- Also adopt variadic llvm::isa<> in more places.
- Fixes https://bugs.llvm.org/show_bug.cgi?id=46445

Differential Revision: https://reviews.llvm.org/D82769
The file was modifiedmlir/lib/Dialect/Affine/Transforms/AffineDataCopyGeneration.cpp
The file was modifiedmlir/lib/IR/SymbolTable.cpp
The file was modifiedmlir/include/mlir/IR/Matchers.h
The file was modifiedmlir/docs/Tutorials/Toy/Ch-7.md
The file was modifiedmlir/lib/Dialect/Quant/Transforms/ConvertConst.cpp
The file was modifiedmlir/lib/Dialect/Quant/IR/QuantOps.cpp
The file was modifiedmlir/lib/Transforms/Utils/LoopFusionUtils.cpp
The file was modifiedmlir/include/mlir/IR/StandardTypes.h
The file was modifiedmlir/lib/Parser/AttributeParser.cpp
The file was modifiedmlir/lib/Dialect/StandardOps/IR/Ops.cpp
The file was modifiedmlir/lib/Dialect/SPIRV/SPIRVOps.cpp
The file was modifiedmlir/lib/Conversion/StandardToLLVM/StandardToLLVM.cpp
The file was modifiedmlir/lib/Dialect/Traits.cpp
The file was modifiedmlir/include/mlir/IR/Types.h
The file was modifiedmlir/lib/IR/Attributes.cpp
The file was modifiedmlir/lib/Conversion/StandardToSPIRV/ConvertStandardToSPIRV.cpp
The file was modifiedmlir/lib/Parser/TypeParser.cpp
The file was modifiedmlir/examples/toy/Ch7/mlir/Dialect.cpp
The file was modifiedmlir/lib/Dialect/Affine/Transforms/AffineLoopInvariantCodeMotion.cpp
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Fusion.cpp
The file was modifiedmlir/lib/Target/LLVMIR/ModuleTranslation.cpp
The file was modifiedmlir/lib/Dialect/Affine/EDSC/Builders.cpp
The file was modifiedmlir/include/mlir/IR/Value.h
The file was modifiedmlir/include/mlir/EDSC/Builders.h
The file was modifiedmlir/lib/Analysis/Utils.cpp
The file was modifiedmlir/lib/IR/StandardTypes.cpp
The file was modifiedmlir/test/lib/Transforms/TestMemRefDependenceCheck.cpp
The file was modifiedmlir/include/mlir/IR/Attributes.h
Commit cf1d04484344be52ada8178e41d18fd15a9b880c by phosek
[CMake][compiler-rt] Only set lld as available when it was built

The `-fuse-ld=lld` check might succeed because there's a system lld,
but that lld may be out-of-date which would cause any tests that
attempt to use for LTO fail. This was observed on some of the bots.

Differential Revision: https://reviews.llvm.org/D81629
The file was modifiedcompiler-rt/CMakeLists.txt
Commit bdcd20062933df3d6a3401dfe0a1fb8c2cb8071f by ctetreau
[SVE] Remove calls to VectorType::getNumElements from Instrumentation

Reviewers: efriedma, pcc, gchatelet, kmclaughlin, sdesmalen

Reviewed By: sdesmalen

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

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D82241
The file was modifiedllvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
The file was modifiedllvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
Commit 381df1653c927efa9dac86c24a9db2b98f270de0 by jyknight
Clang Driver: Use Apple ld64's new @response-file support.

In XCode 12, ld64 got support for @files, in addition to the old
-filelist mechanism. Response files allow passing all command-line
arguments to the linker via a file, rather than just filenames, and is
therefore preferred.

Because of the way response-file support is currently implemented as
part of the Tool class in Clang, this change requires an ugly backdoor
function to access Args. A follow-up commit fixes this, but I've
ordered this change first, for easier backportability.

I've added no tests here, because unfortunately, there don't appear to
be _any_ response-file emission automated tests, and I don't see an
obvious way to add them. I've tested that this change works as
expected locally.

Differential Revision: https://reviews.llvm.org/D82777
The file was modifiedclang/include/clang/Driver/ToolChain.h
The file was modifiedclang/lib/Driver/ToolChains/Darwin.cpp
The file was modifiedclang/lib/Driver/ToolChains/Darwin.h
Commit 4772b99dffec4f87bb7bc9273495066058ac0186 by jyknight
Clang Driver: refactor support for writing response files to be
specified at Command creation, rather than as part of the Tool.

This resolves the hack I just added to allow Darwin toolchain to vary
its level of support based on `-mlinker-version=`.

The change preserves the _current_ settings for response-file support.
Some tools look likely to be declaring that they don't support
response files in error, however I kept them as-is in order for this
change to be a simple refactoring.

Differential Revision: https://reviews.llvm.org/D82782
The file was modifiedclang/lib/Driver/ToolChains/FreeBSD.cpp
The file was modifiedclang/lib/Driver/ToolChains/MSP430.cpp
The file was modifiedclang/include/clang/Driver/Job.h
The file was modifiedclang/lib/Driver/ToolChains/AVR.h
The file was modifiedclang/lib/Driver/ToolChains/PS4CPU.h
The file was modifiedclang/lib/Driver/ToolChains/Ananas.h
The file was modifiedclang/lib/Driver/ToolChains/NetBSD.h
The file was modifiedclang/lib/Driver/ToolChains/CloudABI.h
The file was modifiedclang/lib/Driver/ToolChains/AIX.cpp
The file was modifiedclang/lib/Driver/ToolChains/Darwin.cpp
The file was modifiedclang/lib/Driver/ToolChains/CrossWindows.cpp
The file was modifiedclang/lib/Driver/ToolChains/MSVC.h
The file was modifiedclang/lib/Driver/ToolChains/Fuchsia.cpp
The file was modifiedclang/lib/Driver/ToolChains/Myriad.cpp
The file was modifiedclang/lib/Driver/ToolChains/Gnu.h
The file was modifiedclang/lib/Driver/ToolChains/AVR.cpp
The file was modifiedclang/lib/Driver/ToolChains/PS4CPU.cpp
The file was modifiedclang/lib/Driver/ToolChains/MSVC.cpp
The file was modifiedclang/lib/Driver/ToolChains/MSP430.h
The file was modifiedclang/lib/Driver/ToolChains/OpenBSD.cpp
The file was modifiedclang/lib/Driver/ToolChains/Clang.cpp
The file was modifiedclang/lib/Driver/ToolChains/HIP.cpp
The file was modifiedclang/lib/Driver/ToolChains/Darwin.h
The file was modifiedclang/lib/Driver/ToolChains/Hexagon.cpp
The file was modifiedclang/lib/Driver/ToolChains/Clang.h
The file was modifiedclang/lib/Driver/ToolChains/Solaris.cpp
The file was modifiedclang/include/clang/Driver/Tool.h
The file was modifiedclang/lib/Driver/ToolChains/Cuda.cpp
The file was modifiedclang/lib/Driver/ToolChains/Ananas.cpp
The file was modifiedclang/lib/Driver/Job.cpp
The file was modifiedclang/lib/Driver/ToolChains/FreeBSD.h
The file was modifiedclang/lib/Driver/ToolChains/OpenBSD.h
The file was modifiedclang/lib/Driver/Tool.cpp
The file was modifiedclang/lib/Driver/ToolChains/Minix.h
The file was modifiedclang/lib/Driver/ToolChains/InterfaceStubs.cpp
The file was modifiedclang/lib/Driver/ToolChains/WebAssembly.cpp
The file was modifiedclang/lib/Driver/Driver.cpp
The file was modifiedclang/lib/Driver/ToolChains/Hexagon.h
The file was modifiedclang/lib/Driver/ToolChains/XCore.cpp
The file was modifiedclang/lib/Driver/ToolChains/AMDGPU.cpp
The file was modifiedclang/lib/Driver/ToolChains/BareMetal.cpp
The file was modifiedclang/lib/Driver/ToolChains/DragonFly.cpp
The file was modifiedclang/lib/Driver/ToolChains/Cuda.h
The file was modifiedclang/lib/Driver/ToolChains/RISCVToolchain.h
The file was modifiedclang/include/clang/Driver/ToolChain.h
The file was modifiedclang/lib/Driver/ToolChains/NaCl.h
The file was modifiedclang/lib/Driver/ToolChains/NetBSD.cpp
The file was modifiedclang/lib/Driver/ToolChains/MinGW.h
The file was modifiedclang/lib/Driver/ToolChains/Myriad.h
The file was modifiedclang/lib/Driver/ToolChains/RISCVToolchain.cpp
The file was modifiedclang/lib/Driver/ToolChains/DragonFly.h
The file was modifiedclang/lib/Driver/ToolChains/WebAssembly.h
The file was modifiedclang/lib/Driver/ToolChains/CloudABI.cpp
The file was modifiedclang/lib/Driver/ToolChains/CrossWindows.h
The file was modifiedclang/lib/Driver/ToolChains/Flang.cpp
The file was modifiedclang/lib/Driver/ToolChains/AMDGPU.h
The file was modifiedclang/lib/Driver/ToolChains/MinGW.cpp
The file was modifiedclang/lib/Driver/ToolChains/Gnu.cpp
The file was modifiedclang/lib/Driver/ToolChains/CommonArgs.cpp
The file was modifiedclang/lib/Driver/ToolChains/Minix.cpp
The file was modifiedclang/lib/Driver/ToolChains/NaCl.cpp
Commit 632438726429859b80a68721bf91daec2d8b7b2a by jdenny.ornl
[FileCheck][NFC] Clean up RUN style in verbose.txt test

Reviewed By: jhenderson, thopre

Differential Revision: https://reviews.llvm.org/D82658
The file was modifiedllvm/test/FileCheck/verbose.txt
Commit 782585a2144e2af019bd3e4dc48cab611545645b by jdenny.ornl
[FileCheck] Permit multiple -v or -vv

`FILECHECK_OPTS` was implemented so that a test runner, such as CI,
can specify FileCheck debugging options, such as `-v` and `-vv`.
However, if a test suite has a FileCheck call that already specifies
`-v` or `-vv`, then that call will fail if `FILECHECK_OPTS` also
specifies it.

For `-vv`, this problem already exists:

`clang/test/CodeGen/aarch64-v8.2a-fp16-intrinsics-constrained.c`

It's not yet clear if the `-vv` in that test was intentional, but this
usage shouldn't fail anyway.  It's already true that FileCheck permits
`-vv` and `-v` together even though `-vv` implies `-v`.

Compare D70784, which fixed the same problem for `-dump-input`.

Reviewed By: jhenderson, thopre

Differential Revision: https://reviews.llvm.org/D82601
The file was modifiedllvm/test/FileCheck/verbose.txt
The file was modifiedllvm/utils/FileCheck/FileCheck.cpp
Commit cd1bc5c15d4e58b574060c844917c8dfeb7a8f54 by antiagainst
[MLIR][SPIRVToLLVM] Convert bitwise and logical not

This patch introduces new conversion patterns for bit and logical
negation op: `spv.Not` and `spv.LogicalNot`. They are implemented
by applying xor on the operand and mask with all bits set.

Differential Revision: https://reviews.llvm.org/D82637
The file was modifiedmlir/lib/Conversion/SPIRVToLLVM/ConvertSPIRVToLLVM.cpp
The file was modifiedmlir/test/Conversion/SPIRVToLLVM/logical-to-llvm.mlir
The file was modifiedmlir/test/Conversion/SPIRVToLLVM/bitwise-ops-to-llvm.mlir
Commit 9b04d69ccefb57ec202a0ecdb36a84ed0568aead by craig.topper
[X86] Prefer AND over PSHUFB for v64i8 when possible

If the shuffle is a blend and one input is a 0 vector, we should prefer AND over PSHUFB since its available on more execution ports.

Differential Revision: https://reviews.llvm.org/D82798
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/test/CodeGen/X86/avx512-mask-op.ll
The file was modifiedllvm/test/CodeGen/X86/vector-shuffle-512-v64.ll
Commit 71b9d89df78f25f373b6352c0f0c1e3a539634d0 by jpienaar
[ods] Update Operator to record Arg->[Attr|Operand]Index mapping

Also fixed bug in type inferface generator to address bug where operands and
attributes are interleaved.

Differential Revision: https://reviews.llvm.org/D82819
The file was modifiedmlir/tools/mlir-tblgen/OpDefinitionsGen.cpp
The file was modifiedmlir/include/mlir/TableGen/Operator.h
The file was modifiedmlir/lib/TableGen/Operator.cpp
The file was modifiedmlir/test/mlir-tblgen/op-result.td
Commit 3819789be6b83ac7af619b8279a0c480f9bffeeb by antiagainst
[MLIR][SPIRVToLLVM] Added Bitcast conversion pattern

Added conversion pattern and tests for `spv.Bitcast` op.  This one has
a direct mapping in LLVM dialect so `DirectConversionPattern` was used.

Differential Revision: https://reviews.llvm.org/D82748
The file was modifiedmlir/test/Conversion/SPIRVToLLVM/cast-ops-to-llvm.mlir
The file was modifiedmlir/lib/Conversion/SPIRVToLLVM/ConvertSPIRVToLLVM.cpp
Commit 31c689e69404bb8208de9599626f60c77b6fa81d by dblaikie
Move Sema::PragmaStack<ValueType>::Act into Sema.h so it can be instantiated as needed

Found by linker failures in ThinLTO where the definition wasn't
available when it needed to be. (eg: ThinLTO may've eliminated the one
caller in the same TU and dropped the definition - breaking accidental
implicit depenednce on that definition from elsewhere)
The file was modifiedclang/lib/Sema/SemaAttr.cpp
The file was modifiedclang/include/clang/Sema/Sema.h
Commit 5a5f5350e1cbe14eaf852d9003523c7fdb1132af by richard
[c++20] Fix handling of operator rewrites naming consteval operator<=>.
The file was modifiedclang/test/SemaCXX/cxx2a-consteval.cpp
The file was modifiedclang/lib/Sema/SemaOverload.cpp
Commit 6792a6077889f1ce77a3aa55b3e4fd3f1eb4333b by Alex Lorenz
[darwin][driver] pass the minimum supported OS version to the linker
if it's newer than the target version

This change ensures that the arm64-apple-macOS slice is linked for
macOS 11 even if the deployment target is earlier than macOS 11.
The file was modifiedclang/lib/Driver/ToolChains/Darwin.cpp
The file was modifiedclang/test/Driver/darwin-ld-platform-version-macos.c
Commit 45bb073da8efc8652f7b8b351709ce0c838ed4b0 by tianshilei1992
[OpenMP] fix clang warning about printf format in CUDA plugin

Summary: Warnings are printed by clang when building LIBOMPTARGET_ENABLE_DEBUG=ON due incorrect format string.

Reviewers: tianshilei1992, jdoerfert

Reviewed By: tianshilei1992

Subscribers: yaxunl, guansong, sstefan1, openmp-commits

Tags: #openmp

Differential Revision: https://reviews.llvm.org/D82789
The file was modifiedopenmp/libomptarget/plugins/cuda/src/rtl.cpp
Commit bb162dfe252a1abc15af411d8ba51dda63af306c by Alex Lorenz
[clang] attempt to fix a linux test failure for the darwin-ld-platform-version-macos.c test

Clang should use explicit -target to ensure that the Darwin driver is used.
Also drop arm64e test-case for now.
The file was modifiedclang/test/Driver/darwin-ld-platform-version-macos.c
Commit 11cd9770174603aa62deabbe96c7d0db64d07058 by dblaikie
Add missing #include

A forward declaration was insufficient here - since Regex needs to be
complete for the implicit dtor to be compiled correctly. (that, or the
dtor would have to be made explicit and out of line)
The file was modifiedclang-tools-extra/clang-tidy/ClangTidyDiagnosticConsumer.h
Commit f01d9e6fc3e291a2faed8c9b7dcbabf760f32bd6 by mkazantsev
[SimplifyCFG] Fix inconsistency in block size assessment for threading

Sometimes SimplifyCFG may decide to perform jump threading. In order
to do it, it follows the following algorithm:

1. Checks if the block is small enough for threading;
2. If yes, inserts a PR Phi relying that the next iteration will remove it
   by performing jump threading;
3. The next iteration checks the block again and performs the threading.

This logic has a corner case: inserting the PR Phi increases block's size
by 1. If the block size at first check was max possible, one more Phi will
exceed this size, and we will neither perform threading nor remove the
created Phi node. As result, we will end up with worse IR than before.

This patch fixes this situation by excluding Phis from block size computation.
Excluding Phis from size computation for threading also makes sense by
itself because in case of threadign all those Phis will be removed.

Differential Revision: https://reviews.llvm.org/D81835
Reviewed By: asbirlea, nikic
The file was modifiedllvm/lib/Transforms/Utils/SimplifyCFG.cpp
The file was modifiedllvm/test/Transforms/SimplifyCFG/unprofitable-pr.ll
Commit 6b9a706200cbb27e5e863cfd41fb3684ee616e23 by riddleriver
Add front/back accessors to indexed_accessor_range.

These map to the similar accessors on ArrayRef and other random access containers.

This fixes a compilation error on MLIR ODS for variadic operands/results, which relied on the availability of front in certain situations.
The file was modifiedmlir/test/lib/Dialect/Test/TestOps.td
The file was modifiedllvm/include/llvm/ADT/STLExtras.h
Commit 46a7f4d6f4bf2cc23a410e771adb587c5968047d by david.sherwood
[SVE][CodeGen] Fix bug in DAGCombiner::reduceBuildVecToShuffle

When trying to reduce a BUILD_VECTOR to a SHUFFLE_VECTOR it's
important that we carefully check the vector types that led to
that BUILD_VECTOR. In the test I have attached to this commit
there is a case where the results of two SVE faddv instructions
are being stored to consecutive memory locations. With my fix,
as part of merging those stores we discover that each BUILD_VECTOR
element came from an extract of a SVE vector element and
therefore bail out.

Differential Revision: https://reviews.llvm.org/D82564
The file was addedllvm/test/CodeGen/AArch64/sve-merging-stores.ll
The file was modifiedllvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Commit 2c663aa539c3c378599776f4a6849f1cbee5fb93 by alexshap
[llvm-objcopy][MachO] Fix segment size alignment

This diff addresses the old TODO in MachOObjcopy.cpp and
correctly sets the page size used for alignment of segments.
In particular, now llvm-objcopy's output is consistent
with the input (the alignment of vmsize doesn't change).

Test plan:

1. make check-all
2. verify that a binary copied via llvm-objcopy now correctly works on iOS.

Differential revision: https://reviews.llvm.org/D82503
The file was modifiedllvm/tools/llvm-objcopy/MachO/MachOObjcopy.cpp
The file was addedllvm/test/tools/llvm-objcopy/MachO/segment-size-alignment.test
Commit ef7aad0db49f0a3623b42af991ba4ae48099a58d by paulsson
[SystemZ] Improve handling of ZERO_EXTEND_VECTOR_INREG.

Instead of doing multiple unpacks when zero extending vectors (e.g. v2i16 ->
v2i64), benchmarks have shown that it is better to do a VPERM (vector
permute) since that is only one sequential instruction on the critical path.

This patch achieves this by

1. Expand ZERO_EXTEND_VECTOR_INREG into a vector shuffle with a zero vector
   instead of (multiple) unpacks.

2. Improve SystemZ::GeneralShuffle to perform a single unpack as the last
   operation if Bytes matches it.

Review: Ulrich Weigand
Differential Revision: https://reviews.llvm.org/D78486
The file was modifiedllvm/lib/Target/SystemZ/SystemZISelLowering.h
The file was addedllvm/test/CodeGen/SystemZ/vec-move-24.ll
The file was modifiedllvm/test/CodeGen/SystemZ/vec-move-16.ll
The file was modifiedllvm/test/CodeGen/SystemZ/vec-zext.ll
The file was modifiedllvm/test/CodeGen/SystemZ/vec-move-23.ll
The file was modifiedllvm/lib/Target/SystemZ/SystemZISelLowering.cpp
Commit c02332a69399a82244298f0097bc98fafdeb3042 by david.sherwood
[CodeGen] Fix warning in getNode for EXTRACT_SUBVECTOR

Fix a warning in getNode() when extracting a subvector from a
concat vector. We can simply replace the call to getVectorNumElements
with getVectorMinNumElements as this follows the defined behaviour
for EXTRACT_SUBVECTOR.

Differential Revision: https://reviews.llvm.org/D82746
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_get4.c
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_get2.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_get3.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_st2.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_st4.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_st3.c
Commit 767c9c5bf5ba4dbaa8edadb1d2e26254321c30c0 by craig.topper
[X86] Remove an isel pattern than can never match. Remove bitcasts of loads from a few others.
The file was modifiedllvm/lib/Target/X86/X86InstrXOP.td
Commit ed4328c607306a2aa6df4833a0dce4482edbc94c by simon.tatham
Fix missing build dependency on omp_gen.

Summary:
`include/llvm/Frontend/OpenMP/CMakeLists.txt` creates a new target
called `omp_gen`, which is automatically added to
`LLVM_COMMON_DEPENDS` by the `add_public_tablegen_target` macro. But
it only gets added to the version of `LLVM_COMMON_DEPENDS` in the
scope of that subsidiary CMakeLists file, and it doesn't propagate all
the way back up to the permanent version of that variable which is
actually used to set dependencies.

The visible effect is that the output build scripts contain a missing
dependency. For example, if I run cmake in Ninja output mode, and then
run

  ninja -t commands tools/clang/examples/PrintFunctionNames/CMakeFiles/PrintFunctionNames.dir/PrintFunctionNames.cpp.o

to list all the commands that are prerequisites of building that
object file, then the list does not include the llvm-tblgen command
that builds `include/llvm/Frontend/OpenMP/OMP.h.inc`, even though that
generated include file is needed (by a chain of includes starting from
`clang/AST/AST.h`), and that object file can't be compiled without it.
This missing dependency can cause intermittent build failures,
depending on the order that Ninja (or whatever) happens to schedule
its commands.

I've fixed it by adding a `set` command in two levels of
`CMakeLists.txt` to propagate the modified version of
`LLVM_COMMON_DEPENDS` back up through the parent scopes so that
`omp_gen` does end up on the version seen by the main
`llvm/CMakeLists.txt`.

Reviewers: clementval, thakis, chandlerc, jdoerfert

Reviewed By: clementval

Subscribers: jdenny, mgorny, sstefan1, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D82659
The file was modifiedllvm/include/llvm/CMakeLists.txt
The file was modifiedllvm/include/llvm/Frontend/OpenMP/CMakeLists.txt
Commit 4f5133a4dcd0b023160879740d32bbcca198664f by gchatelet
[Alignment][NFC] Migrate AArch64, ARM, Hexagon, MSP and NVPTX backends to Align

This patch is part of a series to introduce an Alignment type.
See this thread for context: http://lists.llvm.org/pipermail/llvm-dev/2019-July/133851.html
See this patch for the introduction of the type: https://reviews.llvm.org/D64790

Differential Revision: https://reviews.llvm.org/D82749
The file was modifiedllvm/lib/Target/AArch64/AArch64FrameLowering.cpp
The file was modifiedllvm/lib/Target/ARM/ARMISelLowering.cpp
The file was modifiedllvm/lib/Target/Hexagon/HexagonVExtract.cpp
The file was modifiedllvm/lib/Target/MSP430/MSP430ISelDAGToDAG.cpp
The file was modifiedllvm/lib/Target/ARM/ARMFrameLowering.cpp
The file was modifiedllvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.cpp
The file was modifiedllvm/lib/Target/ARM/ARMISelDAGToDAG.cpp
Commit 19e75717eff2c22e6643addcc44caa8dc2f0125f by anton
[MSP430] Declare comparison LibCalls as returning i16 instead of i32

For TI's distribution of msp430-gcc
```
msp430-elf-gcc -S -o- -Os -x c - <<< "int f(float a, float b) { return a != b; }"
```
does not mention `R13` at all. `__libgcc_cmp_return__` machine mode is 2 byte on MSP430, as well.

Differential Revision: https://reviews.llvm.org/D82635
The file was modifiedllvm/lib/Target/MSP430/MSP430ISelLowering.h
The file was addedllvm/test/CodeGen/MSP430/cmp-return-type.ll
Commit 0ee439b705e82a4fe20e266bc8fea96d0e60e1ec by anton
[builtins] Change si_int to int in some helper declarations

This patch changes types of some integer function arguments or return values from `si_int` to the default `int` type to make it more compatible with `libgcc`.

The compiler-rt/lib/builtins/README.txt has a link to the [libgcc specification](http://gcc.gnu.org/onlinedocs/gccint/Libgcc.html#Libgcc). This specification has an explicit note on `int`, `float` and other such types being just illustrations in some cases while the actual types are expressed with machine modes.

Such usage of always-32-bit-wide integer type may lead to issues on 16-bit platforms such as MSP430. Provided [libgcc2.h](https://gcc.gnu.org/git/?p=gcc.git;a=blob_plain;f=libgcc/libgcc2.h;hb=HEAD) can be used as a reference for all targets supported by the libgcc, this patch fixes some existing differences in helper declarations.

This patch is expected to not change behavior at all for targets with 32-bit `int` type.

Differential Revision: https://reviews.llvm.org/D81285
The file was modifiedcompiler-rt/lib/builtins/ffsti2.c
The file was modifiedcompiler-rt/lib/builtins/popcountti2.c
The file was modifiedcompiler-rt/test/builtins/Unit/parityti2_test.c
The file was modifiedcompiler-rt/lib/builtins/ctzsi2.c
The file was modifiedcompiler-rt/lib/builtins/ctzti2.c
The file was modifiedcompiler-rt/test/builtins/Unit/paritysi2_test.c
The file was modifiedcompiler-rt/test/builtins/Unit/clzsi2_test.c
The file was modifiedcompiler-rt/test/builtins/Unit/clzti2_test.c
The file was modifiedcompiler-rt/lib/builtins/parityti2.c
The file was modifiedcompiler-rt/test/builtins/Unit/powisf2_test.c
The file was modifiedcompiler-rt/lib/builtins/powixf2.c
The file was modifiedcompiler-rt/lib/builtins/powisf2.c
The file was modifiedcompiler-rt/lib/builtins/int_lib.h
The file was modifiedcompiler-rt/test/builtins/Unit/ffsti2_test.c
The file was modifiedcompiler-rt/test/builtins/Unit/ctzti2_test.c
The file was modifiedcompiler-rt/lib/builtins/README.txt
The file was modifiedcompiler-rt/lib/builtins/paritydi2.c
The file was modifiedcompiler-rt/lib/builtins/powidf2.c
The file was modifiedcompiler-rt/test/builtins/Unit/powidf2_test.c
The file was modifiedcompiler-rt/test/builtins/Unit/powitf2_test.c
The file was modifiedcompiler-rt/test/builtins/Unit/clzdi2_test.c
The file was modifiedcompiler-rt/lib/builtins/popcountsi2.c
The file was modifiedcompiler-rt/test/builtins/Unit/powixf2_test.c
The file was modifiedcompiler-rt/test/builtins/Unit/popcountsi2_test.c
The file was modifiedcompiler-rt/lib/builtins/ctzdi2.c
The file was modifiedcompiler-rt/test/builtins/Unit/paritydi2_test.c
The file was modifiedcompiler-rt/lib/builtins/powitf2.c
The file was modifiedcompiler-rt/test/builtins/Unit/ctzsi2_test.c
The file was modifiedcompiler-rt/test/builtins/Unit/popcountti2_test.c
The file was modifiedcompiler-rt/lib/builtins/clzsi2.c
The file was modifiedcompiler-rt/lib/builtins/clzti2.c
The file was modifiedcompiler-rt/lib/builtins/clzdi2.c
The file was modifiedcompiler-rt/lib/builtins/paritysi2.c
Commit a976ea3209b5ad2310882c0895e0095ba4b04eef by gchatelet
[Alignment][NFC] Migrate PPC, X86 and XCore backends to Align

This patch is part of a series to introduce an Alignment type.
See this thread for context: http://lists.llvm.org/pipermail/llvm-dev/2019-July/133851.html
See this patch for the introduction of the type: https://reviews.llvm.org/D64790

Differential Revision: https://reviews.llvm.org/D82779
The file was modifiedllvm/lib/Target/PowerPC/PPCISelLowering.cpp
The file was modifiedllvm/lib/Target/XCore/XCoreFrameLowering.cpp
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/lib/Target/PowerPC/PPCFrameLowering.cpp
The file was modifiedllvm/lib/Target/X86/X86ISelDAGToDAG.cpp
The file was modifiedllvm/lib/Target/XCore/XCoreMachineFunctionInfo.cpp
Commit 5f8bdb3e6a997a3031a447db38bd3c358fee86e4 by gchatelet
[Alignment][NFC] TargetLowering::allowsMemoryAccess

Second patch of a series to adapt TargetLowering::allowsXXX functions

This patch is part of a series to introduce an Alignment type.
See this thread for context: http://lists.llvm.org/pipermail/llvm-dev/2019-July/133851.html
See this patch for the introduction of the type: https://reviews.llvm.org/D64790

Differential Revision: https://reviews.llvm.org/D82785
The file was modifiedllvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
The file was modifiedllvm/lib/CodeGen/TargetLoweringBase.cpp
The file was modifiedllvm/lib/Target/Hexagon/HexagonISelLowering.h
The file was modifiedllvm/lib/Target/Hexagon/HexagonISelLowering.cpp
The file was modifiedllvm/lib/Target/Hexagon/HexagonISelLoweringHVX.cpp
The file was modifiedllvm/include/llvm/CodeGen/TargetLowering.h
Commit 60cde47893476581218c380921e5489c98be40ce by n.james93
[clang-tidy][docs] Fix malformed link in ReleaseNotes
The file was modifiedclang-tools-extra/docs/ReleaseNotes.rst
Commit fe08ab542bd6328a7906e38ae473cf655eb6a228 by Xing
[DWARFYAML][debug_info] Replace 'InitialLength' with 'Format' and 'Length'.

'InitialLength' is replaced with 'Format' (DWARF32 by default) and 'Length' in this patch.
Besides, test cases for DWARFv4 and DWARFv5, DWARF32 and DWARF64 is
added.

Reviewed By: jhenderson

Differential Revision: https://reviews.llvm.org/D82622
The file was modifiedlldb/test/API/functionalities/source-map/a.yaml
The file was modifiedllvm/test/tools/llvm-dwarfdump/X86/verify_overlapping_cu_ranges.yaml
The file was modifiedllvm/unittests/DebugInfo/DWARF/DWARFDieTest.cpp
The file was modifiedllvm/test/ObjectYAML/MachO/DWARF-debug_ranges.yaml
The file was modifiedllvm/test/tools/llvm-objcopy/MachO/Inputs/strip-all-with-dwarf.yaml
The file was modifiedlldb/unittests/SymbolFile/DWARF/DWARFASTParserClangTests.cpp
The file was modifiedlldb/unittests/Symbol/Inputs/inlined-functions.yaml
The file was modifiedllvm/test/ObjectYAML/MachO/DWARF2-AddrSize8-FormValues.yaml
The file was modifiedllvm/unittests/DebugInfo/GSYM/GSYMTest.cpp
The file was modifiedllvm/test/tools/llvm-gsymutil/ARM_AArch64/fat-macho-dwarf.yaml
The file was modifiedllvm/lib/ObjectYAML/DWARFYAML.cpp
The file was modifiedlldb/unittests/Expression/DWARFExpressionTest.cpp
The file was modifiedllvm/test/ObjectYAML/MachO/DWARF-debug_info.yaml
The file was modifiedllvm/include/llvm/ObjectYAML/DWARFYAML.h
The file was modifiedllvm/lib/ObjectYAML/DWARFVisitor.cpp
The file was modifiedllvm/test/ObjectYAML/MachO/DWARF-debug_line.yaml
The file was modifiedllvm/test/ObjectYAML/MachO/DWARF5-debug_info.yaml
The file was modifiedllvm/test/tools/yaml2obj/ELF/DWARF/debug-info.yaml
The file was modifiedllvm/unittests/DebugInfo/DWARF/DWARFDebugInfoTest.cpp
The file was modifiedllvm/lib/ObjectYAML/DWARFEmitter.cpp
The file was modifiedllvm/test/tools/llvm-gsymutil/X86/mach-dwarf.yaml
The file was modifiedllvm/tools/obj2yaml/dwarf2yaml.cpp
Commit 8577a090f5f04e18d72bb2dd387e60082e4da0ca by frgossen
[MLIR][Shape] Fix lowering of `shape.get_extent`

The declarative conversion patterns caused crashes in the asan configuration.
The non-declarative implementation circumvents this.

Differential Revision: https://reviews.llvm.org/D82797
The file was modifiedmlir/lib/Conversion/ShapeToStandard/ShapeToStandardPatterns.td
The file was modifiedmlir/lib/Conversion/ShapeToStandard/ShapeToStandard.cpp
Commit 39ea5d74b283d5a42f34b856d22bfaf806a1c907 by simon.tatham
Revert "Fix missing build dependency on omp_gen."

This reverts commit ed4328c607306a2aa6df4833a0dce4482edbc94c.

My change apparently caused a buildbot to fail with the error

  CMake Error at /b/sanitizer-x86_64-linux-autoconf/build/tsan_release_build/lib/cmake/llvm/AddLLVM.cmake:869 (add_dependencies):
  The dependency target "omp_gen" of target "ScudoBenchmarks.x86_64" does not
  exist.

I don't at all understand why, because as far as I can see, the target
`omp_gen` is only added to `LLVM_COMMON_DEPENDS` after having been
created, so there //should// be no way it can end up on anything's
dependency list if it doesn't exist! But apparently it happened anyway.

Differential Revision: https://reviews.llvm.org/D82659
The file was modifiedllvm/include/llvm/CMakeLists.txt
The file was modifiedllvm/include/llvm/Frontend/OpenMP/CMakeLists.txt
Commit 446b90135f0f88be4b8dddaf6a92842f94e7a43f by thomasraoux
[mlir] Fix case in MLIRGPUtoVulkanTransforms

This changes the casing of MLIRGPUtoVulkanTransforms to be consistent
with other transform libraries.

Differential Revision: https://reviews.llvm.org/D82840
The file was modifiedmlir/lib/Conversion/GPUToVulkan/CMakeLists.txt
Commit 4b980cc9ca08a0b95b4ac6994770155a48881729 by petar.avramovic
[GlobalISel][InlineAsm] Add support for matching input constraints

Find def operand that corresponds to matching constraint and
tie input to that operand.

Differential Revision: https://reviews.llvm.org/D82651
The file was modifiedllvm/lib/CodeGen/GlobalISel/InlineAsmLowering.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-inline-asm.ll
The file was addedllvm/test/CodeGen/AMDGPU/GlobalISel/inline-asm.ll
Commit d7173826331eb2c263ecee607e86cebcf1c08ad7 by petar.avramovic
AMDGPU/GlobalISel: Select icmp intrinsic

Select into corresponding V_CMP instruction based on CmpInst predicate,
stored as immediate, in last operand.

Differential Revision: https://reviews.llvm.org/D82652
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
The file was addedllvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.icmp.ll
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.h
Commit 657c4ab39dc80f569f422d40347b97586c27b2ba by grimar
[yaml2obj] - Add a way to set default values for macros used in a YAML.

Currently we have to override all macros that are declared. But in many
cases it is convenient to use default values and to override only
a particular one or two.

This provides a way to set a default value for any macro:

```
Symbols:
  - Name: [[FOO=foo]]
```

Differential revision: https://reviews.llvm.org/D82455
The file was modifiedllvm/tools/yaml2obj/yaml2obj.cpp
The file was modifiedllvm/test/tools/yaml2obj/macro.yaml
Commit 64bae035ef8c1ca438c412310ef4f3906dd56b77 by grimar
[yaml2obj] - Support reading a content as an array of bytes using the new 'ContentArray' key.

It implements the way to describe a section content using a multi line description. E.g:

```
- Name:         .foo
  Type:         SHT_PROGBITS
  ContentArray: [ 0x11, 0x22, 0x33, 0x44,                                ## .long 11223344
                  0x55, 0x66,                                            ## .short 5566.
                  0x77,                                                  ## .byte 0x77
                  0x88, 0x99, 0xAA, 0xBB, 0xCC, 0xDD, 0xEE, 0xFF, 0x00 ] ## .quad 0x8899aabbccddeeff
```

It was briefly discussed in D75123 thread previously.

Differential revision: https://reviews.llvm.org/D82366
The file was modifiedllvm/lib/ObjectYAML/ELFYAML.cpp
The file was modifiedllvm/include/llvm/ObjectYAML/ELFYAML.h
The file was addedllvm/test/tools/yaml2obj/ELF/content-array.yaml
Commit aa93d84db93451488fc9c645fb970b8f7e481292 by sstipanovic
[IR] NoFree IntrinsicProperty.

Summary:
Separate introduction of IntrNoFree property as suggested in D70365

Reviewers: arsenm, nhaehnle

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D82587
The file was modifiedllvm/include/llvm/IR/Intrinsics.td
The file was modifiedllvm/utils/TableGen/CodeGenTarget.cpp
The file was modifiedllvm/utils/TableGen/CodeGenIntrinsics.h
The file was modifiedllvm/utils/TableGen/IntrinsicEmitter.cpp
Commit 621f84567920bf5a8d79789f01a622115ec8252d by Raphael Isemann
[lldb] Modernize TestOperatorOverload.py asserts
The file was modifiedlldb/test/API/lang/cpp/operator-overload/TestOperatorOverload.py
Commit 2c5ff48e61b5611dee5696c103e654c98d7e43f1 by gchatelet
[Alignment][NFC] Migrate AtomicExpandPass to Align

This is a followup on D78403.
I'm unsure about `getAtomicOpAlign` overloads that take `AtomicRMWInst` and `AtomicCmpXchgInst`, shouldn't `getAlign` provide the correct answer already?

Differential Revision: https://reviews.llvm.org/D81369
The file was modifiedllvm/include/llvm/IR/Instructions.h
The file was modifiedllvm/lib/CodeGen/AtomicExpandPass.cpp
The file was modifiedllvm/lib/IR/Instructions.cpp
Commit d28267f9810ce8642b27279b91a3a195ba932ce2 by hokein.wu
[AST][RecoveryExpr] Add error-bit to NestNameSpecifierDependence and TemplateNameDependence.

Summary:
We might lose the error-bit if the error-bit goes through the code path
"error type/expr" -> "error template argument" -> "nested name specifier" ->
... -> "template Specialization type"

Template name also needs this, as a template can be nested into
an error specifier, e.g. templateName apply in
`TC<decltype(<recovery-expr>(Foo, int()))>::template apply`

Reviewers: sammccall

Subscribers: cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D82526
The file was modifiedclang/test/Sema/invalid-bitwidth-expr.mm
The file was modifiedclang/include/clang/AST/DependenceFlags.h
Commit 6f5da84f7bb31c7c2fcb78e64d5dc3baea1c60f2 by herhut
[mlir] Extended BufferPlacement to support nested region control flow.

Summary: The current BufferPlacement implementation does not support
nested region control flow. This CL adds support for nested regions via
the RegionBranchOpInterface and the detection of branch-like
(ReturnLike) terminators inside nested regions.

Differential Revision: https://reviews.llvm.org/D81926
The file was modifiedmlir/lib/Transforms/BufferPlacement.cpp
The file was modifiedmlir/test/lib/Dialect/Test/TestDialect.cpp
The file was modifiedmlir/test/lib/Dialect/Test/TestOps.td
The file was modifiedmlir/test/Transforms/buffer-placement.mlir
Commit 84ced55d9b7bade7c9db39f3bcebc6af333dc325 by 1585086582
[clangd] Remove redundant `findRefs` calls. NFC.

Summary:
Remove redundant `findRefs` calls.

Reviewers: sammccall, kadircet

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

Tags: #clang

Differential Revision: https://reviews.llvm.org/D82714
The file was modifiedclang-tools-extra/clangd/XRefs.cpp
Commit 815a8100e02966043a41ae6b366f23feb470e736 by benicsbalazs
[llvm][Z3][NFC] Improve mkBitvector performance

We convert `APSInt`s to Z3 Bitvectors in an inefficient way for most cases.
We should not serialize to std::string just to pass an int64 integer.

For the vast majority of cases, we use at most 64-bit width integers (at least
in the Clang Static Analyzer). We should simply call the `Z3_mk_unsigned_int64`
and `Z3_mk_int64` instead of the `Z3_mk_numeral` as stated in the Z3 docs.
Which says:
> It (`Z3_mk_unsigned_int64`, etc.) is slightly faster than `Z3_mk_numeral` since
> it is not necessary to parse a string.

If the `APSInt` is wider than 64 bits, we will use the `Z3_mk_numeral` with a
`SmallString` instead of a heap-allocated `std::string`.

Differential Revision: https://reviews.llvm.org/D78453
The file was modifiedllvm/lib/Support/Z3Solver.cpp
Commit 6764869548a23d03b10b0a9af7aeac534959af29 by iii
[SystemZ] Add NoMerge MIFlag

Summary:
This fixes ASan and MSan tests on SystemZ after
commit 6a822e20ce70 ("[ASan][MSan] Remove EmptyAsm and set the CallInst
to nomerge to avoid from merging.").

Based on commit 80e107ccd088 ("Add NoMerge MIFlag to avoid MIR branch
folding").

Reviewers: uweigand, jonpa

Reviewed By: uweigand

Subscribers: hiraditya, llvm-commits, Andreas-Krebbel

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D82794
The file was addedllvm/test/CodeGen/SystemZ/nomerge.ll
The file was modifiedllvm/lib/Target/SystemZ/SystemZISelLowering.cpp
Commit 502773d743417a7896e184b4000bcf20fddb7ad9 by Raphael Isemann
[lldb][NFC] Remove ImportInProgress lock in ClangASTSource

Summary:

The ClangASTSource has a lock that globally disables all lookups into the
external AST source when we explicitly "guarded" copy a type. It's not used for
anything else, so importing declarations or importing types that are
dependencies of a declaration actually won't activate that lock. The lookups it
is supposed to prevent also don't actually happen in our test suite. The check
in `ClangExpressionDeclMap::FindExternalVisibleDecls` is never executed and the
check in the `ClangASTSource::FindExternalVisibleDeclsByName` is only ever
reached by the `Import-std-module` tests (which explicitly do a lookup into the
expression context on purpose).

This lock was added in 6abfabff6158076eccdf6fcac5a12894039de2c9 as a replacement
for a list of types we already looked up which appeared to be an optimisation
strategy. I assume back then this lock had a purpose but these days the
ASTImporter and LLDB seem to be smart enough to avoid whatever lookups this
tried to prevent.

I would say we remove it from LLDB. The main reason is that it blocks D81561
(which explicitly does a specific lookup to resolve placeholder types produced
by `-flimit-debug-info`) but it's semantics are also very confusing. The naming
implies it's a flag to indicate when we import something at the moment which is
practically never true as described above. Also the fact that it makes our
ExternalASTSource alternate between doing lookups into the debug info and
pretending it doesn't know any external decls could really break our lookup in
some weird way if Clang decides to cache a fake empty lookup result that was
generated while the lock was active.

Reviewers: labath, shafik, JDevlieghere, aprantl

Reviewed By: labath, JDevlieghere, aprantl

Subscribers: aprantl, abidh

Differential Revision: https://reviews.llvm.org/D81749
The file was modifiedlldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.cpp
The file was modifiedlldb/source/Plugins/ExpressionParser/Clang/ClangASTSource.cpp
The file was modifiedlldb/source/Plugins/ExpressionParser/Clang/ClangASTSource.h
Commit 80eb42281feb7834054be5f933f63d8c64af229d by Raphael Isemann
[lldb] Tab completion for `frame select`

Summary: Provided the tab completion for command `frame select`.

Reviewers: teemperor, JDevlieghere

Reviewed By: teemperor

Tags: #lldb

Differential Revision: https://reviews.llvm.org/D81177
The file was modifiedlldb/source/Commands/CommandObjectFrame.cpp
The file was modifiedlldb/test/API/functionalities/completion/TestCompletion.py
Commit 33bae9c265486cd37e0612711a863f0a4b865a26 by bevin.hansson
[AST] Fix handling of some edge cases in fixed-point division.

Division by zero was not being handled, and division of
-EPSILON / MAX did not perform rounding correctly.
The file was modifiedclang/test/Frontend/fixed_point_div.c
The file was modifiedclang/test/Frontend/fixed_point_errors.c
The file was modifiedclang/lib/AST/ExprConstant.cpp
The file was modifiedclang/lib/Basic/FixedPoint.cpp
Commit c37d25f0d1e059b39fbbc1ccc9f52ddba42be6b9 by Raphael Isemann
[lldb] Tab completion for `frame recognizer delete`

Summary: Provided tab completion for command `frame recognizer delete`.

Reviewers: teemperor, JDevlieghere

Reviewed By: teemperor, JDevlieghere

Tags: #lldb

Differential Revision: https://reviews.llvm.org/D81241
The file was modifiedlldb/source/Commands/CommandObjectFrame.cpp
The file was modifiedlldb/test/API/functionalities/completion/TestCompletion.py
Commit 0f8ca20b3e069baa715696d928bcfb1a96fe3a3a by llvm-dev
[X86] Add tests for cmp-zero + and/trunc + or-reduction patterns

Expanding off the original PR44781 test case, show the failure to fold cmp-all-zero patterns when a demanded bits limiting and/trunc is in the way.
The file was modifiedllvm/test/CodeGen/X86/vector-reduce-or-cmp.ll
Commit bc163f63245e88f18de44f8a13a5c94e78cb18bd by Raphael Isemann
[lldb] Fix TestModuleGetXcodeSDK test after DWARFYAML change

D82622 / fe08ab542bd6328a7906e38ae473cf655eb6a228 changes the YAML format
so this test was failing as the test yaml wasn't updated.
The file was modifiedlldb/unittests/SymbolFile/DWARF/XcodeSDKModuleTests.cpp
Commit 1a6cebb4d12c744699e23624f8afda5cbe216fe6 by dfukalov
[PM] Fix new PM to perform SpeculativeExecution as in old PM

Summary:
Old PM runs SpeculativeExecutionPass for targets that have divergent branches.
It uses `createSpeculativeExecutionIfHasBranchDivergencePass` that creates
the pass with `OnlyIfDivergentTarget=true`, whereas new PM just created the
pass with default `OnlyIfDivergentTarget=fase` so it unexpectedly runs and
causes buildbot test fails.

Reviewers: chandlerc, arsenm

Reviewed By: arsenm

Subscribers: wdng, hiraditya, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D82735
The file was modifiedllvm/lib/Passes/PassBuilder.cpp
Commit 2723a9dd6d339ddb452827711bd0453d3a15d05c by sam.parker
[NFC][ARM] Tail predication reduction tests
The file was addedllvm/test/CodeGen/Thumb2/LowOverheadLoops/reductions.ll
Commit 6a6af30d433d76b230560cd4578394c88401b7f0 by gchatelet
[Alignment][NFC] Migrate SelectionDAGTargetInfo::EmitTargetCodeForMemset to Align

This patch is part of a series to introduce an Alignment type.
See this thread for context: http://lists.llvm.org/pipermail/llvm-dev/2019-July/133851.html
See this patch for the introduction of the type: https://reviews.llvm.org/D64790

Differential Revision: https://reviews.llvm.org/D82851
The file was modifiedllvm/lib/Target/SystemZ/SystemZSelectionDAGInfo.h
The file was modifiedllvm/lib/Target/SystemZ/SystemZSelectionDAGInfo.cpp
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblySelectionDAGInfo.h
The file was modifiedllvm/lib/Target/AArch64/AArch64SelectionDAGInfo.h
The file was modifiedllvm/lib/Target/ARM/ARMSelectionDAGInfo.cpp
The file was modifiedllvm/lib/Target/ARM/ARMSelectionDAGInfo.h
The file was modifiedllvm/include/llvm/CodeGen/SelectionDAGTargetInfo.h
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblySelectionDAGInfo.cpp
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
The file was modifiedllvm/lib/Target/AArch64/AArch64SelectionDAGInfo.cpp
The file was modifiedllvm/lib/Target/X86/X86SelectionDAGInfo.cpp
The file was modifiedllvm/lib/Target/X86/X86SelectionDAGInfo.h
Commit 306d7c6929b68d7a6f7f785509250740e1116b46 by gchatelet
[Alignment][NFC] Migrate SelectionDAGTargetInfo::EmitTargetCodeForMemmove to Align

This patch is part of a series to introduce an Alignment type.
See this thread for context: http://lists.llvm.org/pipermail/llvm-dev/2019-July/133851.html
See this patch for the introduction of the type: https://reviews.llvm.org/D64790

Differential Revision: https://reviews.llvm.org/D82850
The file was modifiedllvm/lib/Target/ARM/ARMSelectionDAGInfo.h
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblySelectionDAGInfo.cpp
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblySelectionDAGInfo.h
The file was modifiedllvm/include/llvm/CodeGen/SelectionDAGTargetInfo.h
The file was modifiedllvm/lib/Target/ARM/ARMSelectionDAGInfo.cpp
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
Commit 72568984b8040fa8de70a6b4f9c63b6a5aac8d3f by sam.mccall
[clangd] Suppress GCC -Woverloaded-virtual by renaming ThreadsafeFS extension point

Summary:
By making all overloads non-virtual and delegating to a differently-named
private method, we avoid any (harmless) name-hiding in the subclasses.

Reviewers: kadircet

Subscribers: kristof.beyls, ilya-biryukov, MaskRay, jkorous, arphaman, usaxena95, cfe-commits, Quuxplusone, dblaikie

Tags: #clang

Differential Revision: https://reviews.llvm.org/D82793
The file was modifiedclang-tools-extra/clangd/unittests/TestFS.h
The file was modifiedclang-tools-extra/clangd/support/ThreadsafeFS.cpp
The file was modifiedclang-tools-extra/clangd/unittests/ClangdTests.cpp
The file was modifiedclang-tools-extra/clangd/Preamble.cpp
The file was modifiedclang-tools-extra/clangd/support/ThreadsafeFS.h
Commit c1cd61e02add90ab79b8e4abeb0514d881735870 by gchatelet
[Alignment][NFC] Migrate SelectionDAGTargetInfo::EmitTargetCodeForMemcpy to Align

This patch is part of a series to introduce an Alignment type.
See this thread for context: http://lists.llvm.org/pipermail/llvm-dev/2019-July/133851.html
See this patch for the introduction of the type: https://reviews.llvm.org/D64790

Differential Revision: https://reviews.llvm.org/D82849
The file was modifiedllvm/lib/Target/ARM/ARMSelectionDAGInfo.cpp
The file was modifiedllvm/lib/Target/Hexagon/HexagonSelectionDAGInfo.h
The file was modifiedllvm/lib/Target/X86/X86SelectionDAGInfo.h
The file was modifiedllvm/lib/Target/XCore/XCoreSelectionDAGInfo.h
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
The file was modifiedllvm/lib/Target/XCore/XCoreSelectionDAGInfo.cpp
The file was modifiedllvm/lib/Target/Hexagon/HexagonSelectionDAGInfo.cpp
The file was modifiedllvm/include/llvm/CodeGen/SelectionDAGTargetInfo.h
The file was modifiedllvm/lib/Target/ARM/ARMSelectionDAGInfo.h
The file was modifiedllvm/lib/Target/Lanai/LanaiSelectionDAGInfo.h
The file was modifiedllvm/lib/Target/BPF/BPFSelectionDAGInfo.h
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblySelectionDAGInfo.h
The file was modifiedllvm/lib/Target/Lanai/LanaiSelectionDAGInfo.cpp
The file was modifiedllvm/lib/Target/SystemZ/SystemZSelectionDAGInfo.cpp
The file was modifiedllvm/lib/Target/SystemZ/SystemZSelectionDAGInfo.h
The file was modifiedllvm/lib/Target/X86/X86SelectionDAGInfo.cpp
The file was modifiedllvm/lib/Target/BPF/BPFSelectionDAGInfo.cpp
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblySelectionDAGInfo.cpp
Commit 05c479491c1d3236cae4eccaa3fcd2794598522c by sguelton
Make it possible for client code to consume CLANG_LINK_CLANG_DYLIB

If a client code wants to consume clang libraries, it needs to know
CLANG_LINK_CLANG_DYLIB value in order to decide whether to use the DYLIB or
individual components.

Differential Revision: https://reviews.llvm.org/D82291
The file was modifiedclang/cmake/modules/ClangConfig.cmake.in
Commit 82de01895455c2ac0f2aa7397414ca96757bea06 by llvm-dev
[X86][SSE] LowerVectorAllZero - add support for masked OR-reductions

If we're masking the result of an OR-reduction before comparing against zero, we can fold this into the PTEST() / MOVMSK(CMPEQ()) codegen by pre-masking the source value.

This works particularly well on PTEST which performs the AND as part of its operation, but the MOVMSK variant also benefits for non-V2I64 cases.

Fixes PR44781
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/test/CodeGen/X86/vector-reduce-or-cmp.ll
Commit 35674976f09ec99e74d0d28b4a64b6bce360c128 by pavel
[lldb/Test] Introduce "assertSuccess"

Summary:
A lot of our tests do 'self.assertTrue(error.Success()'. The problem
with that is that when this fails, it produces a completely useless
error message (False is not True) and the most important piece of
information -- the actual error message -- is completely hidden.

Sometimes we mitigate that by including the error message in the "msg"
argument, but this has two additional problems:
- as the msg argument is evaluated unconditionally, one needs to be
  careful to not trigger an exception when the operation was actually
  successful.
- it requires more typing, which means we often don't do it

assertSuccess solves these problems by taking the entire SBError object
as an argument. If the operation was unsuccessful, it can format a
reasonable error message itself. The function still accepts a "msg"
argument, which can include any additional context, but this context now
does not need to include the error message.

To demonstrate usage, I replace a number of existing assertTrue
assertions with the new function. As this process is not easily
automatable, I have just manually updated a representative sample. In
some cases, I did not update the code to use assertSuccess, but I went
for even higher-level assertion apis (runCmd, expect_expr), as these are
even shorter, and can produce even better failure messages.

Reviewers: teemperor, JDevlieghere

Subscribers: arphaman, lldb-commits

Tags: #lldb

Differential Revision: https://reviews.llvm.org/D82759
The file was modifiedlldb/test/API/commands/expression/call-restarts/TestCallThatRestarts.py
The file was modifiedlldb/test/API/commands/expression/dont_allow_jit/TestAllowJIT.py
The file was modifiedlldb/test/API/commands/register/register/register_command/TestRegisters.py
The file was modifiedlldb/packages/Python/lldbsuite/test/lldbtest.py
The file was modifiedlldb/test/API/commands/expression/options/TestExprOptions.py
The file was modifiedlldb/test/API/commands/expression/fixits/TestFixIts.py
The file was modifiedlldb/test/API/commands/expression/context-object/TestContextObject.py
The file was modifiedlldb/test/API/python_api/hello_world/TestHelloWorld.py
The file was modifiedlldb/test/API/commands/expression/weak_symbols/TestWeakSymbols.py
The file was modifiedlldb/test/API/commands/expression/timeout/TestCallWithTimeout.py
The file was modifiedlldb/test/API/commands/expression/unwind_expression/TestUnwindExpression.py
The file was modifiedlldb/test/API/commands/expression/result_numbering/TestResultNumbering.py
The file was modifiedlldb/test/API/commands/expression/pr35310/TestExprsBug35310.py
The file was modifiedlldb/test/API/commands/expression/call-throws/TestCallThatThrows.py
The file was modifiedlldb/test/API/commands/expression/context-object-objc/TestContextObjectObjc.py
The file was modifiedlldb/test/API/commands/expression/scoped_enums/TestScopedEnumType.py
The file was modifiedlldb/test/API/commands/target/auto-install-main-executable/TestAutoInstallMainExecutable.py
Commit 9f865246a81759cdcb056c883e6f92fe6693b3d3 by hokein.wu
[ASTMatcher] Fix a performance regression: memorize the child match.

D80025 introduced a performance regression: in some cases, it makes
clang-tidy readability-container-size-empty ~80x slower (running on an internal
huge TU, before that patch 12s vs after 950s).

after this patch, we go back to 12s.

Differential Revision: https://reviews.llvm.org/D82771
The file was modifiedclang/lib/ASTMatchers/ASTMatchFinder.cpp
Commit 8032727a43ca678b0b923abaa04638f500a060d6 by Xing
[DWARFYAML][MachO] Remove endianness related tests.

fe08ab542bd6328a7906e38ae473cf655eb6a228 makes build bots unhappy
(http://lab.llvm.org:8011/builders/clang-s390x-linux/builds/33624/steps/ninja%20check%201/logs/FAIL%3A%20LLVM%3A%3ADWARF-debug_info.yaml).

This patch removes failed tests.
The file was modifiedllvm/test/ObjectYAML/MachO/DWARF-debug_info.yaml
The file was modifiedllvm/test/ObjectYAML/MachO/DWARF5-debug_info.yaml
Commit b58b61c4b78ce81a4ef974374c707163b3691bfe by Louis Dionne
[libc++] Remove dead code since the removal of the old testing format
The file was removedlibcxx/test/libcxx/selftest/test.sh.cpp
The file was removedlibcxx/test/libcxx/selftest/test.pass.cpp
The file was removedlibcxx/test/libcxx/selftest/exec.sh.cpp
The file was modifiedlibcxx/utils/libcxx/test/config.py
The file was removedlibcxx/test/libcxx/selftest/test.pass.mm
The file was removedlibcxx/utils/libcxx/test/executor.py
The file was removedlibcxx/utils/libcxx/test/tracing.py
The file was removedlibcxx/test/libcxx/selftest/test.arc.pass.mm
The file was removedlibcxx/utils/libcxx/test/format.py
Commit 70f6389257a85a8fa7f128a05a1ccbd0dbba191c by Louis Dionne
[runtimes] Rename newformat to just format, now that the old format has been removed
The file was removedlibcxx/test/libcxx/selftest/newformat/link.pass.cpp/compile-error.link.pass.cpp
The file was addedlibcxx/test/libcxx/selftest/verify.cpp/no-diagnostics-unmarked.verify.cpp
The file was removedlibcxx/test/libcxx/selftest/newformat/shell-escape-pipes.sh.cpp
The file was addedlibcxx/test/libcxx/selftest/compile.fail.cpp/compile-success.compile.fail.cpp
The file was removedlibcxx/test/libcxx/selftest/newformat/pass.mm/link-error.pass.mm
The file was removedlibcxx/test/libcxx/selftest/newformat/additional_compile_flags/substitutes-in-compile-flags.sh.cpp
The file was removedlibcxx/test/libcxx/selftest/newformat/file_dependencies/dir/b.txt
The file was removedlibcxx/test/libcxx/selftest/newformat/file_dependencies/a.txt
The file was removedlibcxx/test/libcxx/selftest/newformat/link.fail.cpp/link-success.link.fail.cpp
The file was addedlibcxx/test/libcxx/selftest/shell-escape-pipes.sh.cpp
The file was addedlibcxx/test/libcxx/selftest/remote-substitutions.sh.cpp
The file was addedlibcxx/test/libcxx/selftest/convenience_substitutions/build_run.sh.cpp
The file was addedlibcxx/test/libcxx/selftest/file_dependencies/a.txt
The file was addedlibcxx/test/libcxx/selftest/pass.mm/run-error.pass.mm
The file was addedlibcxx/test/libcxx/selftest/compile.pass.cpp/link-error.compile.pass.cpp
The file was removedlibcxx/test/libcxx/selftest/newformat/tmpdir-exists.sh.cpp
The file was modifiedlibunwind/test/lit.site.cfg.in
The file was removedlibcxx/test/libcxx/selftest/newformat/run.fail.cpp/link-error.run.fail.cpp
The file was addedlibcxx/test/libcxx/selftest/file_dependencies/substitute-in-dependencies.sh.cpp
The file was addedlibcxx/test/libcxx/selftest/compile.pass.cpp/compile-error.compile.pass.cpp
The file was addedlibcxx/test/libcxx/selftest/pass.mm/no-arc.pass.mm
The file was removedlibcxx/test/libcxx/selftest/newformat/verify.cpp/no-diagnostics-unmarked.verify.cpp
The file was addedlibcxx/test/libcxx/selftest/fail.cpp/lit.local.cfg
The file was removedlibcxx/test/libcxx/selftest/newformat/verify.cpp/wrong-diagnostic.verify.cpp
The file was addedlibcxx/test/libcxx/selftest/verify.cpp/no-diagnostics.verify.cpp
The file was removedlibcxx/test/libcxx/selftest/newformat/fail.cpp/no-diagnostics.fail.cpp
The file was addedlibcxx/test/libcxx/selftest/tmpdir-exists.sh.cpp
The file was removedlibcxx/test/libcxx/selftest/newformat/sh.cpp/substitutions.sh.cpp
The file was removedlibcxx/test/libcxx/selftest/newformat/link.fail.cpp/compile-error.link.fail.cpp
The file was removedlibcxx/test/libcxx/selftest/newformat/link.pass.cpp/run-error.link.pass.cpp
The file was addedlibcxx/test/libcxx/selftest/sh.cpp/run-error.sh.cpp
The file was removedlibcxx/test/libcxx/selftest/newformat/convenience_substitutions/build_run.sh.cpp
The file was addedlibcxx/test/libcxx/selftest/file_dependencies/dir/b.txt
The file was addedlibcxx/test/libcxx/selftest/sh.cpp/werror.sh.cpp
The file was addedlibcxx/test/libcxx/selftest/link.fail.cpp/link-success.link.fail.cpp
The file was addedlibcxx/test/libcxx/selftest/link.pass.cpp/compile-error.link.pass.cpp
The file was removedlibcxx/test/libcxx/selftest/newformat/sh.cpp/run-success.sh.cpp
The file was addedlibcxx/test/libcxx/selftest/verify.cpp/right-diagnostic.verify.cpp
The file was removedlibcxx/test/libcxx/selftest/newformat/compile.pass.cpp/link-error.compile.pass.cpp
The file was addedlibcxx/test/libcxx/selftest/link.fail.cpp/link-error.link.fail.cpp
The file was addedlibcxx/test/libcxx/selftest/pass.mm/run-success.pass.mm
The file was removedlibcxx/test/libcxx/selftest/newformat/link.pass.cpp/link-error.link.pass.cpp
The file was removedlibcxx/test/libcxx/selftest/newformat/link.pass.cpp/link-success.link.pass.cpp
The file was addedlibcxx/test/libcxx/selftest/run.fail.cpp/compile-error.run.fail.cpp
The file was removedlibcxx/test/libcxx/selftest/newformat/file_dependencies/substitute-in-dependencies.sh.cpp
The file was removedlibcxx/test/libcxx/selftest/newformat/additional_compile_flags/substitutes-in-run.sh.cpp
The file was addedlibcxx/test/libcxx/selftest/fail.cpp/compile-success.fail.cpp
The file was addedlibcxx/test/libcxx/selftest/pass.cpp/run-error.pass.cpp
The file was modifiedlibcxxabi/test/lit.site.cfg.in
The file was removedlibcxx/test/libcxx/selftest/newformat/compile.pass.cpp/run-error.compile.pass.cpp
The file was modifiedlibcxx/test/lit.site.cfg.in
The file was addedlibcxx/test/libcxx/selftest/shell-escape.sh.cpp
The file was addedlibcxx/test/libcxx/selftest/fail.cpp/right-diagnostic.fail.cpp
The file was removedlibcxx/test/libcxx/selftest/newformat/fail.cpp/lit.local.cfg
The file was addedlibcxx/test/libcxx/selftest/pass.mm/compile-error.pass.mm
The file was addedlibcxx/test/libcxx/selftest/sh.cpp/substitutions.sh.cpp
The file was removedlibcxx/test/libcxx/selftest/newformat/pass.mm/no-arc.pass.mm
The file was addedlibcxx/test/libcxx/selftest/link.fail.cpp/compile-error.link.fail.cpp
The file was removedlibcxx/test/libcxx/selftest/newformat/pass.cpp/werror.pass.cpp
The file was removedlibcxx/test/libcxx/selftest/newformat/remote-substitutions.sh.cpp
The file was addedlibcxx/test/libcxx/selftest/verify.cpp/no-werror.verify.cpp
The file was removedlibcxx/test/libcxx/selftest/newformat/fail.cpp/no-diagnostics-unmarked.fail.cpp
The file was removedlibcxx/test/libcxx/selftest/newformat/sh.cpp/werror.sh.cpp
The file was removedlibcxx/test/libcxx/selftest/newformat/sh.cpp/run-error.sh.cpp
The file was removedlibcxx/test/libcxx/selftest/newformat/compile.fail.cpp/compile-error.compile.fail.cpp
The file was removedlibcxx/test/libcxx/selftest/newformat/pass.mm/compile-error.pass.mm
The file was addedlibcxx/test/libcxx/selftest/verify.cpp/wrong-diagnostic.verify.cpp
The file was removedlibcxx/test/libcxx/selftest/newformat/compile.pass.cpp/compile-success.compile.pass.cpp
The file was removedlibcxx/test/libcxx/selftest/newformat/run.fail.cpp/run-success.run.fail.cpp
The file was removedlibcxx/test/libcxx/selftest/newformat/link.fail.cpp/link-error.link.fail.cpp
The file was addedlibcxx/test/libcxx/selftest/link.pass.cpp/run-error.link.pass.cpp
The file was removedlibcxx/test/libcxx/selftest/newformat/pass.cpp/compile-error.pass.cpp
The file was addedlibcxx/test/libcxx/selftest/sh.cpp/run-success.sh.cpp
The file was removedlibcxx/test/libcxx/selftest/newformat/lit.local.cfg
The file was addedlibcxx/test/libcxx/selftest/pass.mm/link-error.pass.mm
The file was addedlibcxx/test/libcxx/selftest/pass.cpp/compile-error.pass.cpp
The file was removedlibcxx/test/libcxx/selftest/newformat/pass.mm/use-objective-cxx.pass.mm
The file was removedlibcxx/test/libcxx/selftest/newformat/pass.cpp/run-error.pass.cpp
The file was addedlibcxx/test/libcxx/selftest/link.pass.cpp/link-error.link.pass.cpp
The file was removedlibcxx/utils/libcxx/test/newformat.py
The file was removedlibcxx/test/libcxx/selftest/newformat/fail.cpp/wrong-diagnostic.fail.cpp
The file was addedlibcxx/test/libcxx/selftest/file_dependencies/absolute-and-relative-paths.sh.cpp
The file was removedlibcxx/test/libcxx/selftest/newformat/pass.mm/run-success.pass.mm
The file was addedlibcxx/test/libcxx/selftest/run.fail.cpp/run-success.run.fail.cpp
The file was addedlibcxx/test/libcxx/selftest/fail.cpp/wrong-diagnostic.fail.cpp
The file was addedlibcxx/test/libcxx/selftest/pass.cpp/run-success.pass.cpp
The file was addedlibcxx/test/libcxx/selftest/fail.cpp/no-diagnostics.fail.cpp
The file was addedlibcxx/test/libcxx/selftest/sh.cpp/empty.sh.cpp
The file was addedlibcxx/utils/libcxx/test/format.py
The file was removedlibcxx/test/libcxx/selftest/newformat/verify.cpp/no-diagnostics.verify.cpp
The file was addedlibcxx/test/libcxx/selftest/pass.mm/use-objective-cxx.pass.mm
The file was removedlibcxx/test/libcxx/selftest/newformat/sh.cpp/empty.sh.cpp
The file was addedlibcxx/test/libcxx/selftest/pass.cpp/werror.pass.cpp
The file was addedlibcxx/test/libcxx/selftest/run.fail.cpp/run-error.run.fail.cpp
The file was removedlibcxx/test/libcxx/selftest/newformat/fail.cpp/right-diagnostic.fail.cpp
The file was removedlibcxx/test/libcxx/selftest/newformat/verify.cpp/no-werror.verify.cpp
The file was addedlibcxx/test/libcxx/selftest/link.pass.cpp/link-success.link.pass.cpp
The file was removedlibcxx/test/libcxx/selftest/newformat/pass.cpp/run-success.pass.cpp
The file was addedlibcxx/test/libcxx/selftest/compile.fail.cpp/compile-error.compile.fail.cpp
The file was addedlibcxx/test/libcxx/selftest/compile.pass.cpp/compile-success.compile.pass.cpp
The file was removedlibcxx/test/libcxx/selftest/newformat/pass.mm/run-error.pass.mm
The file was addedlibcxx/test/libcxx/selftest/fail.cpp/compile-failure.fail.cpp
The file was addedlibcxx/test/libcxx/selftest/fail.cpp/no-diagnostics-unmarked.fail.cpp
The file was addedlibcxx/test/libcxx/selftest/pass.cpp/link-error.pass.cpp
The file was removedlibcxx/test/libcxx/selftest/newformat/fail.cpp/compile-success.fail.cpp
The file was removedlibcxx/test/libcxx/selftest/newformat/pass.cpp/link-error.pass.cpp
The file was addedlibcxx/test/libcxx/selftest/compile.pass.cpp/run-error.compile.pass.cpp
The file was removedlibcxx/test/libcxx/selftest/newformat/file_dependencies/absolute-and-relative-paths.sh.cpp
The file was removedlibcxx/test/libcxx/selftest/newformat/run.fail.cpp/run-error.run.fail.cpp
The file was removedlibcxx/test/libcxx/selftest/newformat/fail.cpp/compile-failure.fail.cpp
The file was removedlibcxx/test/libcxx/selftest/newformat/shell-escape.sh.cpp
The file was removedlibcxx/test/libcxx/selftest/newformat/verify.cpp/right-diagnostic.verify.cpp
The file was removedlibcxx/test/libcxx/selftest/newformat/compile.fail.cpp/compile-success.compile.fail.cpp
The file was addedlibcxx/test/libcxx/selftest/additional_compile_flags/substitutes-in-run.sh.cpp
The file was modifiedlibcxx/utils/libcxx/test/dsl.py
The file was addedlibcxx/test/libcxx/selftest/run.fail.cpp/link-error.run.fail.cpp
The file was removedlibcxx/test/libcxx/selftest/newformat/run.fail.cpp/compile-error.run.fail.cpp
The file was removedlibcxx/test/libcxx/selftest/newformat/compile.pass.cpp/compile-error.compile.pass.cpp
The file was addedlibcxx/test/libcxx/selftest/additional_compile_flags/substitutes-in-compile-flags.sh.cpp
Commit d285f29317d6086e9ab941730f1ee5a468196a4e by hokein.wu
[AST][RecoveryExpr] Avoid spurious 'missing typename' diagnostic when the NNS contains errors.

Differential Revision: https://reviews.llvm.org/D82631
The file was modifiedclang/lib/AST/NestedNameSpecifier.cpp
The file was addedclang/test/SemaTemplate/nss-recovery.cpp
The file was modifiedclang/lib/Sema/SemaDecl.cpp
The file was modifiedclang/include/clang/AST/NestedNameSpecifier.h
Commit e9c6b63d4a16c7955bf0e7d5c1ab4adbb9d385cc by ulrich.weigand
[SystemZ] Simplify knownbits.ll test

The knownbits.ll test case is somewhat fragile since:
- it relies on undef inputs; and
- it operates just at the limits of the MaxRecursionDepth

This means that optimization changes may easily cause the test
to spuriously fail.  Rewrite the test so it still validates
the same thing, but in a less fragile manner.
The file was modifiedllvm/test/CodeGen/SystemZ/knownbits.ll
Commit ce404c8b854b18ca2aaa9529986b3eced73793a3 by gchatelet
[NFC] Remove dead code

Differential Revision: https://reviews.llvm.org/D81195
The file was modifiedllvm/include/llvm/CodeGen/CallingConvLower.h
Commit 9945bd5911636e7f821ac82fdcf8fdb22126e7dc by yitzhakm
Add Metadata to Transformer tooling

This change adds a Metadata field to ASTEdit, Edit, and AtomicChange so that
edits can have associated metadata and that metadata can be constructed with
Transformer-based RewriteRules. Metadata is ignored when applying edits to
source, but other consumers of AtomicChange can use this metadata to direct how
they want to consume each edit.

Reviewed By: ymandel, gribozavr2

Differential Revision: https://reviews.llvm.org/D82226
The file was modifiedclang/unittests/Tooling/TransformerTest.cpp
The file was modifiedclang/lib/Tooling/Transformer/RewriteRule.cpp
The file was modifiedclang/lib/Tooling/Transformer/Transformer.cpp
The file was modifiedclang/include/clang/Tooling/Transformer/RewriteRule.h
The file was modifiedclang/unittests/Tooling/RefactoringTest.cpp
The file was modifiedclang/include/clang/Tooling/Refactoring/AtomicChange.h
The file was modifiedclang/lib/Tooling/Refactoring/AtomicChange.cpp
Commit e55a09793d689f42c17f55be861773b6a65751b2 by pavel
[lldb/Scripts]

Fix analyze-project-deps.py. "lldb/Plugins" (home of Plugins.def) does
not depend on anything. Make sure this does not crash the script.
The file was modifiedlldb/scripts/analyze-project-deps.py
Commit 9c795481e2e318a906cc7826aa0144aaaa8cd3dd by Louis Dionne
[libc++abi] Remove empty source file cxa_unexpected.cpp
The file was modifiedlibcxxabi/src/CMakeLists.txt
The file was modifiedllvm/utils/gn/secondary/libcxxabi/src/BUILD.gn
The file was removedlibcxxabi/src/cxa_unexpected.cpp
Commit 833273a81250213d3ba85ca5419d03155604ada2 by n.james93
[clang-tidy] Sanity checks in ClangTidyTest header.

Motivated by a suspicously failing build, but also good to have anyway in general.

Reviewed By: aaron.ballman

Differential Revision: https://reviews.llvm.org/D82815
The file was modifiedclang-tools-extra/unittests/clang-tidy/ClangTidyTest.h
Commit 423458ec09d647050f756e3ee4ca06901239d87c by gchatelet
[Alignment][NFC] TargetLowering::allowsMemoryAccessForAlignment

First patch of a series to adapt TargetLowering::allowsXXX functions

This patch is part of a series to introduce an Alignment type.
See this thread for context: http://lists.llvm.org/pipermail/llvm-dev/2019-July/133851.html
See this patch for the introduction of the type: https://reviews.llvm.org/D64790

Differential Revision: https://reviews.llvm.org/D81372
The file was modifiedllvm/include/llvm/CodeGen/TargetLowering.h
The file was modifiedllvm/lib/CodeGen/TargetLoweringBase.cpp
Commit 2efba0e8122aeca29f878c0e3056a4552d20c720 by n.james93
[clang-tidy] performance-faster-string-find string-view

Extend the default string like classes to include `std::basic_string_view`.

Reviewed By: aaron.ballman

Differential Revision: https://reviews.llvm.org/D82720
The file was modifiedclang-tools-extra/test/clang-tidy/checkers/performance-faster-string-find.cpp
The file was modifiedclang-tools-extra/clang-tidy/performance/FasterStringFindCheck.cpp
The file was modifiedclang-tools-extra/docs/ReleaseNotes.rst
The file was modifiedclang-tools-extra/docs/clang-tidy/checks/performance-faster-string-find.rst
Commit 8ba4867c27000ee029ab70a1194050d884fce6c7 by n.james93
[CodeComplete] Tweak completion for else.

If an `if` statement uses braces for its `then` block, suggest braces for the `else` and `else if` completion blocks, Otherwise don't suggest them.

Reviewed By: sammccall

Differential Revision: https://reviews.llvm.org/D82626
The file was modifiedclang/test/CodeCompletion/patterns.cpp
The file was modifiedclang/include/clang/Sema/Sema.h
The file was modifiedclang/lib/Sema/SemaCodeComplete.cpp
The file was modifiedclang/lib/Parse/ParseStmt.cpp
Commit d9cb811cbfd9d34816497713b318ccc34ce045b7 by samteb02
[ARM] Allow rounding intrinsics to be tail predicated

This patch stops the trunc, rint, round, floor and ceil intrinsics from blocking tail predication.

Differential Revision: https://reviews.llvm.org/D82553
The file was modifiedllvm/lib/Target/ARM/MVETailPredication.cpp
The file was addedllvm/test/CodeGen/Thumb2/LowOverheadLoops/tail-pred-intrinsic-round.ll
Commit 69b2d9f42f6adbd0c06264dc42b4be5760689eac by Jonas Devlieghere
[lldb/Test] Skip recognizer tests when Python is disabled

The `frame recognizer` command only exists when Python scripting is
enabled. Therefore the test should be made conditional on Python.
Without it, the test fails with "'frame recognizer' is not a known
command."
The file was addedlldb/test/Shell/Recognizer/lit.local.cfg
Commit 63b3933d0c3381447a706193d3c0d84927a0fbed by ajcbik
[mlir] [VectorOps] Replace zero fma with mult for vector.contract

More efficient implementation of the multiply-reduce pair,
no need to add in a zero vector. Microbenchmarking on AVX2
yields the following difference in vector.contract speedup
(over strict-order scalar reduction).

SPEEDUP     SIMD-fma SIMD-mul
4x4     1.45 2.00
8x8     1.40 1.90
32x32    5.32 5.80

Reviewed By: ftynse

Differential Revision: https://reviews.llvm.org/D82833
The file was modifiedmlir/lib/Dialect/Vector/VectorTransforms.cpp
The file was modifiedmlir/test/Dialect/Vector/vector-contract-transforms.mlir
Commit af45907653fd312264632b616eff0fad1ae1eb2e by sjoerd.meijer
[ARM][MVE] Tail-predication: clean-up of unused code

After the rewrite of this pass (D79175) I missed one thing: the inserted VCTP
intrinsic can be cloned to exit blocks if there are instructions present in it
that perform the same operation, but this wasn't triggering anymore. However,
it turns out that for handling reductions, see D75533, it's actually easier not
not to have the VCTP in exit blocks, so this removes that code.

This was possible because it turned out that some other code that depended on
this, rematerialization of the trip count enabling more dead code removal
later, wasn't doing much anymore due to more aggressive dead code removal that
was added to the low-overhead loops pass.

Differential Revision: https://reviews.llvm.org/D82773
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/vector-reduce-mve-tail.ll
The file was modifiedllvm/lib/Target/ARM/MVETailPredication.cpp
Commit 249933f254e1eed3c1b90384ef4616b9e87e22a5 by Matthew.Arsenault
X86: Use Register
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
Commit cac655f2330000df68f86a67a428f1cac0259bb3 by Matthew.Arsenault
AMDGPU: Use Register
The file was modifiedllvm/lib/Target/AMDGPU/R600OptimizeVectorRegisters.cpp
The file was modifiedllvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
Commit edb4a5cb369bd87e69ffe8f30132c7b5dd5268a5 by Matthew.Arsenault
TailDuplicator: Use Register
The file was modifiedllvm/lib/CodeGen/TailDuplicator.cpp
The file was modifiedllvm/include/llvm/CodeGen/TailDuplicator.h
Commit af1eeaf38072bca5fcfc0b1483b2d078cdfb2bef by Matthew.Arsenault
BranchFolding: Use Register
The file was modifiedllvm/lib/CodeGen/BranchFolding.cpp
Commit b7f6ecf0c7d4ac86ed4983311d0501e75c659e25 by Matthew.Arsenault
RegAlloc: Start using Register
The file was modifiedllvm/lib/CodeGen/RegAllocGreedy.cpp
The file was modifiedllvm/include/llvm/CodeGen/LiveRangeEdit.h
The file was modifiedllvm/lib/CodeGen/RegAllocPBQP.cpp
The file was modifiedllvm/lib/CodeGen/LiveRangeEdit.cpp
The file was modifiedllvm/lib/CodeGen/LiveDebugValues.cpp
The file was modifiedllvm/lib/CodeGen/LiveDebugVariables.cpp
The file was modifiedllvm/lib/CodeGen/RegisterCoalescer.cpp
The file was modifiedllvm/lib/CodeGen/LiveDebugVariables.h
The file was modifiedllvm/lib/CodeGen/RegAllocBase.cpp
The file was modifiedllvm/lib/CodeGen/InlineSpiller.cpp
The file was modifiedllvm/lib/CodeGen/RegAllocBasic.cpp
The file was modifiedllvm/lib/CodeGen/RegAllocBase.h
Commit c2547f1554d3f1a1af882d594529053699b14839 by Louis Dionne
[libc++abi] Remove unused include of <sys/types.h>

I ran into an error while trying to build libc++abi for a platform that
doesn't have <sys/types.h>. I couldn't find what <sys/types.h> was used
for in the header, so I think it's fine to remove it.

Differential Revision: https://reviews.llvm.org/D82810
The file was modifiedlibcxxabi/src/cxa_guard_impl.h
Commit 66fa313999923d5e0ee08774039aac2c553112c2 by samteb02
[ARM] Allow the usub_sat and ssub_sat intrinsics to be tail predicated

This patch stops the usub_sat and ssub_sat intrinsics from blocking tail predication.

Differential Revision: https://reviews.llvm.org/D82571
The file was addedllvm/test/CodeGen/Thumb2/LowOverheadLoops/tail-pred-intrinsic-sub-sat.ll
The file was modifiedllvm/lib/Target/ARM/MVETailPredication.cpp
Commit 32f8cd9a6a5600aed7d4001b3a16a191a4db90ab by llvm-dev
Pass MDFieldPrinter::printAPInt APInt arg by reference not value.

Noticed by clang-tidy performance-unnecessary-value-param warning.
The file was modifiedllvm/lib/IR/AsmWriter.cpp
Commit 3324e3a6eeb5aab8b704509bb4b40e652da3799d by samteb02
[ARM] Allow the fabs intrinsic to be tail predicated

This patch stops the fabs intrinsic from blocking tail predication.

Differential Revision: https://reviews.llvm.org/D82570
The file was modifiedllvm/lib/Target/ARM/MVETailPredication.cpp
The file was addedllvm/test/CodeGen/Thumb2/LowOverheadLoops/tail-pred-intrinsic-fabs.ll
Commit a1f4e48c4aca8c7339be2018926baf860a562f13 by Jonas Devlieghere
[clang][docs] Add note about using `-flto` with `-g` on macOS

If -Wl,object_path_lto,<lto-filename>.o is not passed at link time
when compiling and linking in separate steps with -flto and -g, the
temporary file used for Link Time Optimization is deleted by the linker,
so the executable is missing debug symbols and can't be easily debugged,
and dsymutil can't be run.

Document this behaviour.

Differential revision: https://reviews.llvm.org/D82733
The file was modifiedclang/docs/CommandGuide/clang.rst

Summary

  1. Set parallel tests to 8 on LLDB Arm/AArch64 Linux builders (details)
Commit 40dd3891d6e81726fb450af140659f52c12bcf43 by omair.javaid
Set parallel tests to 8 on LLDB Arm/AArch64 Linux builders
The file was modifiedbuildbot/osuosl/master/config/builders.py