SuccessChanges

Summary

  1. lib/CodeGen doesn't depend on lib/Passes. (details)
  2. [x86] add tests for another reciprocal sqrt pattern; NFC (details)
  3. [DAGCombiner] reassociate reciprocal sqrt expression to eliminate FP division, part 2 (details)
  4. [ELF] --wrap: set isUsedInRegularObj of __wrap_ if it is defined or shared (details)
  5. [NFC][SimplifyCFG] Count the number of invokes turned into calls due to empty cleanup blocks (details)
  6. [NFC][SimplifyCFG] Add a test showing invoke->call simplification failure (details)
  7. [NFC][SimplifyCFG] Rewrite isCleanupBlockEmpty() to be iterator_range-based (details)
  8. [SimplifyCFG] Fix invoke->call fold w/ multiple invokes in presence of lifetime intrinsics (details)
  9. [Diagnostics] Diagnose missing comma in string array initialization (details)
  10. [Clang] Avoid whitespace in fixit note (details)
  11. [Clang] Fixed buildboit failure; bot defaults to older C++ standard (details)
  12. Change the default target CPU for OpenBSD/i386 to i586 (details)
  13. Fix MSVC "not all control paths return a value" warning. NFC. (details)
  14. [InstCombine] Use CreateVectorSplat(ElementCount) variant directly (details)
  15. [X86] Increase the number of instructions searched for isSafeToClobberEFLAGS in a couple places (details)
  16. [X86][SSE] combineTargetShuffle - use scaleShuffleMask helper to widen shuffle mask. NFCI. (details)
  17. [FileCheckTest] Supress new warning (details)
  18. Revert "[X86] Increase the number of instructions searched for isSafeToClobberEFLAGS in a couple places" (details)
  19. Recommit "[X86] Increase the number of instructions searched for isSafeToClobberEFLAGS in a couple places" (details)
  20. [LLDB] Fix timeout value on expect_gdbremote_sequence (details)
  21. [X86] Remove isSafeToClobberEFLAGS helper and just inline it into the call sites. (details)
  22. [AArch64RegisterInfo] Supress new warning (details)
  23. [X86] Add VPTERNLOG test cases where the root node will be X86ISD::ANDNP. NFC (details)
  24. [X86] Support matching VPTERNLOG when the root node is X86ISD::ANDNP. (details)
  25. [libcxx-fuzzing] Fixed bug found by -Wstring-concatenation (details)
  26. [Reduce] Rewrite function body delta pass again (details)
  27. [X86] Remove a DCI.isBeforeLegalize() call from combineVSelectWithAllOnesOrZeros. (details)
  28. [MLIR] Consider AffineIfOp when getting the index set of an Op wrapped in nested loops (details)
  29. Hook up OpenBSD 64-bit PowerPC support (details)
  30. fix typo (details)
  31. [WebAssembly] Fix FastISel address calculation bug (details)
  32. Backout a test that is dependent on an uncommited diff. Fix another. (details)
  33. [CMake] Simplify CMake handling for zlib (details)
  34. Revert "[CMake] Simplify CMake handling for zlib" (details)
  35. [llvm-profdata] Implement llvm-profdata overlap for sample profiles (details)
  36. [ELF] --wrap: don't leave the original symbol as SHN_UNDEF in .symtab or .dynsym (details)
  37. [NFC][StackSafety] noinline in alias tests (details)
  38. [NFC][StackSafety] Add index test (details)
  39. Revert "[NFC][StackSafety] Add index test" (details)
  40. [X86] Autogenerate complete checks. NFC (details)
  41. [DAGCombiner] Teach SimplifySetCC SETUGE X, SINTMIN -> SETLT X, 0 and SETULE X, SINTMAX  -> SETGT X, -1. (details)
  42. [MLIR][NFC] Fix misleading diagnostic error + clang-tidy fix (details)
  43. [X86][GlobalISel] Remove unneeded code for handling zext i8->16, i8->i64, i16->i64, i32->i64. (details)
  44. [llvm-readobj] - Remove 3 excessive test cases. (details)
  45. [llvm-readelf/obj] - Refine the implementation of printMipsReginfo(). (details)
  46. [ARM] Some formatting and predicate VRHADD patterns. NFC (details)
  47. [ARM] Allow vecreduce_add in tail predicated loops (details)
  48. [ARM] Add VADDV and VMLAV patterns for v16i16 (details)
  49. [Diagnostics] Turn string concat warning to avoid false positives (details)
  50. [Polly] Reuse LLVM's build rules for gtest/gmock (details)
  51. [SCEVExpander] Avoid re-using existing casts if it means updating users. (details)
  52. [VectorCombine] try to create vector loads from scalar loads (details)
  53. [Diagnostics] Handle string concat pattern and avoid false positives (details)
  54. [Tests] Precommit tests for D85593 (details)
  55. [HotColdSplit] Add options for splitting cold functions in separate section (details)
  56. [SCEVExpander] Make sure cast properly dominates Builder's IP. (details)
  57. [InstSimplify/NewGVN] Add option to control the use of undef. (details)
  58. [InstSimplify] Make sure CanUseUndef is initialized in all cases. (details)
  59. Fix 64-bit copy to SCC (details)
  60. [X86][GlobalISel] Enable a test case for sext i32->i64 that was commented out. (details)
  61. [clang] Fix typo in comment (details)
  62. [NFC][StackSafety] Avoid some duplications in tests (details)
  63. [X86] Added testcases for PR47024 and PR46315 (details)
  64. [clangd] Add more error details on the remote index server side (details)
  65. [AST] Fixed string concatenation warnings (details)
  66. [AST] Fixed string list in test (details)
  67. [NFC][StackSafety] Add shell test requirement (details)
  68. [NFC][StackSafety] Add index test (details)
  69. [StackSafety] Use getSignedMin() to serialize ranges (details)
  70. [StackSafety] Don't keep FullSet in index (details)
  71. int64_t and intmax_t are always (signed) long long on OpenBSD. (details)
  72. [Attributor][NFC][AAPotentialValues] Change interface of PotentialValuesState (details)
  73. Re-enable OpenBSD PowerPC64 tests. (details)
  74. [mlir][drr] Make error easier to understand (details)
  75. [BuildLibCalls] Add noundef to standard I/O functions (details)
  76. [docs] Fix typos (details)
  77. [TableGen] Pull the increment of a variable out of an assert. (details)
  78. Add override to fix -Winconsistent-missing-override warning. (details)
  79. [NFC][StackSafety] Avoid assert in getBaseObjec (details)
  80. [StackSafety] Fix union which produces wrapped sets (details)
  81. Improve modeling of variable template specializations with dependent (details)
  82. [NFC][Attributor] Add missing override (details)
  83. [NFC][StackSafety] Count dataflow inputs (details)
  84. More cleanup after removing the ability to reference a dependent (details)
  85. [NFC][StackSafety] Add a couple of early returns (details)
  86. [clang] Allow DynTypedNode to store a TemplateArgumentLoc (details)
  87. [Concepts] Dump template arguments for immediately declared constraint. (details)
  88. [clang-tidy] Fix a crash in bugprone-not-null-terminated-result check when `__STDC_WANT_LIB_EXT1__` was undefined after definition. (details)
  89. AMDGPU/GlobalISel: Lower G_FREM (details)
  90. Free the memory allocated by mlirOperationStateAddXXX methods in mlirOperationCreate. (details)
  91. [DebugInfo] Fix initialization of DwarfCompileUnit::LabelBegin. (details)
  92. [lldb][NFC] Remove dead code in BreakpointResolverAddress (details)
  93. [ScalarizeMaskedMemIntrin] Scalarize constant mask expandload as shuffle(build_vector,pass_through) (details)
  94. [ScalarizeMaskedMemIntrin][X86] Refresh missed transform test cases from rGc0c3b9a25fee (details)
  95. [PowerPC] Add intrinsic to read or set FPSCR register (details)
  96. [SyntaxTree] Implement the List construct. (details)
  97. [LoopInterchange] Form LCSSA phis for values in orig outer loop header. (details)
  98. [LoopInterchange] Move instructions from preheader to outer loop header. (details)
  99. [DebugInfo] Don't error for zero-length arange entries (details)
  100. [clangd] Fix the background index is not disabled when using remote-index. (details)
  101. [InstCombine] rearrange code for readability; NFC (details)
  102. [clang-tidy] Fix a crash in bugprone-not-null-terminated-result check when `__STDC_WANT_LIB_EXT1__` is not a literal. (details)
  103. Revert "[DebugInfo] Don't error for zero-length arange entries" (details)
  104. [InstCombine] auto-generate test checks; NFC (details)
  105. AMDGPU/GlobalISel: Use nicer form of buildInstr (details)
  106. AMDGPU/GlobalISel: Fix typo (details)
  107. AMDGPU/GlobalISel: Merge load/store select cases (details)
  108. GlobalISel: Remove redundant check for empty blocks (details)
  109. PeepholeOptimizer: Use Register (details)
  110. AMDGPU/GlobalISel: Don't try to handle undef source operand (details)
  111. [clang-format] Add space between method modifier and a tuple return type in C# (details)
  112. [X86][SSE] combineTargetShuffle - rearrange shuffle(hop,hop) matching to delay shuffle mask manipulation. NFC. (details)
  113. [X86][SSE] Add single undef element HADD test cases from PR34724 (details)
  114. [SyntaxTree] Implement `NestedNameSpecifier` using the `List` base API (details)
  115. [DebugInfo] Don't error for zero-length arange entries (details)
  116. [ARM] Unrestrict Armv8-a IT when at minsize (details)
  117. [PowerPC] Add option to control PCRel GOT indirect linker optimization (details)
  118. [X86][SSE] Pull out shuffle(hop,hop) combine into combineShuffleWithHorizOp helper. NFC. (details)
  119. [AIX] Static init frontend recovery and backend support (details)
  120. Author: Shuhong Liu <shuhong.liu@ibm.com> (details)
  121. [XCOFF] Adjust .rename emission sequence (details)
  122. [PGO][CUDA][HIP] Skip generating profile on the device stub and wrong-side functions. (details)
  123. [SLP] Regenerate load-merge.ll tests (details)
  124. [X86][SSE] shuffle(hop,hop) - canonicalize unary hop(x,x) shuffle masks (details)
  125. [lld][WebAssembly] Handle weakly referenced symbols when lazy (archive) version is see first (details)
  126. [flang] Version information in flang/f18 (details)
  127. [llvm-symbolizer] Add back --version and add a -v alias (details)
  128. [Hexagon] Avoid creating an empty target feature (details)
  129. [SyntaxTree] Expand support for `NestedNameSpecifier` (details)
  130. Correctly set CompilingPCH in PrecompilePreambleAction. (details)
  131. [gn build] Port e2d61ae5733 (details)
  132. [mlir][vector] Relax transfer_read/transfer_write restriction on memref operand (details)
  133. [PGO] Delete dead comdat renaming code related to GlobalAlias. NFC (details)
  134. [NFC][MLInliner] Set up the logger outside the development mode advisor (details)
  135. [NFC][MLInliner] remove curly braces for a few sinle-line loops (details)
  136. [lldb] Fix NSArray0 data formatter and add test (details)
  137. [clangd] Fix crash-bug in preamble indexing when using modules. (details)
  138. [mlir][spirv] Add OpGroupBroadcast (details)
  139. [lldb] Skip TestSimulatorPlatform with out-of-tree debugserver (details)
  140. [MLIR][TableGen] Fix ambiguous build methods when inferring result types. (details)
  141. [ELF] Avoid creating a 2.1GB output file in arm-exidx-range.s (details)
  142. [WebAssembly] wasm64: fix memory.init operand types (details)
  143. [clangd] Have template template arguments target their referenced template decl (details)
  144. [MLIR] Make gpu.launch_func rewrite pattern part of the LLVM lowering pass. (details)
  145. [BreakFalseDeps][X86] Move operand loop out of X86's getUndefRegClearance and put in the pass. (details)
  146. Re-Re-land: [CodeView] Add full repro to LF_BUILDINFO record (details)
  147. AMDGPU: Fix visiting physreg dest users when folding immediate copies (details)
  148. AMDGPU: Fix assertion in performSHLPtrCombine for 64-bit pointers (details)
  149. [lldb] tab completion for `platform target-install` (details)
  150. [flang] Fix edge case with Hollerith (details)
  151. [flang] Avoid cascading error in subscript triplet (details)
  152. Unbundle KILL bundles in VirtRegRewriter (details)
  153. Fix "CHECK-LABEL: @" typos in llvm/test/CodeGen/AArch64/sve-fixed-length-*.ll (details)
  154. [MSAN RT] Use __sanitizer::mem_is_zero in __msan_test_shadow (details)
  155. [WebAssembly][ConstantFolding] Fold fp-to-int truncation intrinsics (details)
  156. [SampleFDO] Stop letting findCalleeFunctionSamples return unrelated profiles (details)
  157. [MachineOutliner][AArch64] WA for multiple stack fixup cases in MachineOutliner. (details)
  158. [XCOFF][AIX] Use TE storage mapping class when large code model is enabled (details)
  159. Fix "last accessed time" test failing on Windows (details)
  160. [AIX] Try to not use LLVM tools while building runtimes (details)
  161. [InstSimplify] Add test for expand binop undef issue (NFC) (details)
  162. [MLIR] Adding gpu.host_register op and lower it to a runtime call. (details)
  163. [Diagnostics] Avoid false positives with -Wstring-concatenation (details)
  164. [ARM] Speed up arm-cortex-cpus.c test (details)
  165. [Diagnostics] Move -Wstring-concatenation to -Wextra (details)
  166. [InstSimplify][test] Remove unused parameter in vscale.ll (details)
  167. [mlir][Linalg] Allow distribution `scf.parallel` loops generated in (details)
  168. [Clang] implement -fno-eliminate-unused-debug-types (details)
  169. [OpenMP][NFC] Reuse OMPIRBuilder `struct ident_t` handling in Clang (details)
  170. python bindings: fix DeprecationWarning (details)
  171. [mlir] Fix mlir build break due to warning when NDEBUG is not set (details)
  172. [Diagnostics] Ignore structs and long text for -Wstring-concatenation (details)
  173. Add regression test from PR46487. (details)
  174. [CUDA][HIP] Do not externalize implicit constant static variable (details)
  175. Improve diagnostic for an expression that's not constant because it uses (details)
  176. [llvm-jitlink] Update llvm-jitlink to use TargetProcessControl. (details)
  177. [CodeGen] Make MMI immutable NPM pass (details)
  178. test commit (details)
  179. Revert "[AIX] Try to not use LLVM tools while building runtimes" (details)
  180. [lld-macho] Handle command-line option -sectcreate SEG SECT FILE (details)
  181. [lld-macho] improve handling of -platform_version (details)
  182. [macho2yaml] Refactor the DWARF section dumpers. (details)
  183. [AST] add parenthesis locations for IfStmt and SwitchStmt (details)
  184. [lldb] Fix typo in AppleDWARFIndex (details)
  185. [X86][FPEnv] Teach X86 mask compare intrinsics to respect strict FP semantics. (details)
  186. [Sema] Fix missing warning on initializer lists on field initializers with overloaded operators (details)
  187. [macho2yaml][test] Specify the object file's endianness. NFC. (details)
  188. [macho2yaml][test] Specify the object file's endianness. NFC. (details)
  189. [lldb] Add missings moves where appropiate (NFC) (details)
  190. [Sparc] Define __GCC_HAVE_SYNC_COMPARE_AND_SWAP macros on SPARCv9 (details)
  191. [mlir][shape] Fix description copy pasta (details)
  192. Move ELFObjHandler to TextAPI library (details)
  193. [gn build] Port e6f8ba12e6e (details)
  194. Revert "Move ELFObjHandler to TextAPI library" (details)
  195. [gn build] Port db91320a898 (details)
  196. [lldb] Use modern CMake to avoid repetition (NFC) (details)
  197. [lldb] Remove redundant add_definitions() in CMake (NFC) (details)
  198. [CodeGen] Expand float operand for STRICT_FSETCC/STRICT_FSETCCS (details)
  199. [X86] Custom match X86ISD::VPTERNLOG in X86ISelDAGToDAG in order to reduce isel patterns. (details)
  200. [Attributor][NFC] Connect AAPotentialValues with AAValueSimplify (details)
  201. Test requires a debug build to pass. (details)
  202. [LazyValueInfo] Let getEdgeValueLocal look into freeze instructions (details)
  203. Revert "[flang] Version information in flang/f18" (details)
  204. [clangd] Improve diagnostics in dexp interface (details)
  205. [lldb] tab completion for `watchpoint set variable` (details)
  206. [lldb] tab completion for `disassemble -F` (details)
  207. [RDA] Fix DBG_VALUE issues (details)
  208. [lldb][NFC] Remove unused custom reimplementation of realpath for Windows (details)
  209. [Analyzer] Improve invalid dereference bug reporting in DereferenceChecker. (details)
  210. [lldb] tab completion for `thread plan discard` (details)
  211. [lldb][NFC] Fix warning in Thread::AutoCompleteThreadPlans (details)
  212. [lldb] tab completion for 'command delete/unalias' (details)
Commit 38537307e502c1ac9a09e6f75f9208db1327a0bf by benny.kra
lib/CodeGen doesn't depend on lib/Passes.
The file was modifiedllvm/lib/CodeGen/LLVMBuild.txt
Commit ba4c214181d193ae00b91d2aa6e53da829560fdb by spatel
[x86] add tests for another reciprocal sqrt pattern; NFC
The file was modifiedllvm/test/CodeGen/X86/sqrt-fastmath.ll
Commit f22ac1d15b1b3c8e890cad4aa126a8239bec61f7 by spatel
[DAGCombiner] reassociate reciprocal sqrt expression to eliminate FP division, part 2

Follow-up to D82716 / rGea71ba11ab11
We do not have the fabs removal fold in IR yet for the case
where the sqrt operand is repeated, so that's another potential
improvement.
The file was modifiedllvm/test/CodeGen/X86/sqrt-fastmath.ll
The file was modifiedllvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Commit 99cd56906a4dd00db25b045eccddcb6802d39f8d by i
[ELF] --wrap: set isUsedInRegularObj of __wrap_ if it is defined or shared

Fixes PR47017 (a regression when fixing PR46169): if __wrap_ is shared,
it is not exported.
The file was modifiedlld/ELF/Driver.cpp
The file was modifiedlld/test/ELF/wrap-shlib-undefined.s
Commit a587bf3eb074340710a36c0c00c16dadcf5adb79 by lebedev.ri
[NFC][SimplifyCFG] Count the number of invokes turned into calls due to empty cleanup blocks
The file was modifiedllvm/lib/Transforms/Utils/SimplifyCFG.cpp
Commit c2ebb3246551eb144fb4d684bc597c9495c0d0c0 by lebedev.ri
[NFC][SimplifyCFG] Add a test showing invoke->call simplification failure
The file was addedllvm/test/Transforms/SimplifyCFG/invoke_unwind_lifetime.ll
Commit 1f452ac1d784dbeba983aed7986827e3a7cd9c59 by lebedev.ri
[NFC][SimplifyCFG] Rewrite isCleanupBlockEmpty() to be iterator_range-based
The file was modifiedllvm/lib/Transforms/Utils/SimplifyCFG.cpp
Commit e492f0e03b01a5e4ec4b6333abb02d303c3e479e by lebedev.ri
[SimplifyCFG] Fix invoke->call fold w/ multiple invokes in presence of lifetime intrinsics

SimplifyCFG has two main folds for resumes - one when resume is directly
using the landingpad, and the other one where resume is using a PHI node.

While for the first case, we were already correctly ignoring all the
PHI nodes, and both the debug info intrinsics and lifetime intrinsics,
in the PHI-based-one, we weren't ignoring PHI's in the resume block,
and weren't ignoring lifetime intrinsics. That is clearly a bug.

On RawSpeed library, this results in +9.34% (+81) more invoke->call folds,
-0.19% (-39) landing pads, -0.24% (-81) invoke instructions
but +51 call instructions and -132 basic blocks.

Though, the run-time performance impact appears to be within the noise.
The file was modifiedllvm/lib/Transforms/Utils/SimplifyCFG.cpp
The file was modifiedllvm/test/Transforms/SimplifyCFG/invoke_unwind_lifetime.ll
Commit dc096a66cb519532121fb0fbedb13265bd4b29ec by Dávid Bolvanský
[Diagnostics] Diagnose missing comma in string array initialization

Motivation (from PR37674):

const char *ss[] = {
  "foo", "bar",
  "baz", "qux"  // <-- Missing comma!
  "abc", "xyz"
  };

This kind of bug was recently also found in LLVM codebase (see PR47030).

Solves PR47038, PR37674

Reviewed By: aaron.ballman

Differential Revision: https://reviews.llvm.org/D85545
The file was addedclang/test/Sema/string-concat.c
The file was modifiedclang/include/clang/Basic/DiagnosticSemaKinds.td
The file was modifiedclang/lib/Sema/SemaExpr.cpp
Commit 0fef780aa70b48551ae6df373955b5e4f5130fa4 by Dávid Bolvanský
[Clang] Avoid whitespace in fixit note
The file was modifiedclang/lib/Sema/SemaExpr.cpp
Commit 6cd23558d3a9fbe8bc73e96d4df4e52c8261d1b5 by Dávid Bolvanský
[Clang] Fixed buildboit failure; bot defaults to older C++ standard
The file was modifiedclang/test/Sema/string-concat.c
Commit cd5ab56bc406c3f9a6f593f98c63dafb53547ab1 by brad
Change the default target CPU for OpenBSD/i386 to i586
The file was modifiedclang/test/Driver/openbsd.c
The file was modifiedclang/lib/Driver/ToolChains/Arch/X86.cpp
Commit 090f9d5a55338ee815f5a6ef7aaa1ed712f65e05 by llvm-dev
Fix MSVC "not all control paths return a value" warning. NFC.
The file was modifiedclang/lib/Tooling/Syntax/BuildTree.cpp
Commit f13e92d4b273db255c6955eb7f2269caf1eb60c3 by llvm-dev
[InstCombine] Use CreateVectorSplat(ElementCount) variant directly

This was introduced at rGe20223672100, and the CreateVectorSplat(unsigned NumElements) variant calls it internally
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
Commit 44b260cb0aab387d85e4d59c16fc7b8866264f5e by craig.topper
[X86] Increase the number of instructions searched for isSafeToClobberEFLAGS in a couple places

Previously this function searched 4 instructions forwards or
backwards to determine if it was ok to clobber eflags.

This is called in 3 places: rematerialization, turning 2 operand
leas into adds or splitting 3 ops leas into an lea and add on some
CPU targets.

This patch increases the search limit to 10 instructions for
rematerialization and 2 operand lea to add. I've left the old
treshold for 3 ops lea spliting as that increases code size.

Fixes PR47024 and PR43014
The file was modifiedllvm/lib/Target/X86/X86FixupLEAs.cpp
The file was modifiedllvm/lib/Target/X86/X86InstrInfo.cpp
The file was modifiedllvm/lib/Target/X86/X86InstrInfo.h
The file was modifiedllvm/test/CodeGen/X86/optimize-max-0.ll
Commit cc15380f103f09bc447cd3f22bcdbedca7447b97 by llvm-dev
[X86][SSE] combineTargetShuffle - use scaleShuffleMask helper to widen shuffle mask. NFCI.

Use scaleShuffleMask helper for the shuffle(hadd,hadd) canonicalization.
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
Commit 4cc914280fbe7b3e3e0f921da2b805e23a68f088 by Dávid Bolvanský
[FileCheckTest] Supress new warning
The file was modifiedllvm/unittests/Support/FileCheckTest.cpp
Commit 761f568420a5738a064a0d4203a0f2d783343102 by craig.topper
Revert "[X86] Increase the number of instructions searched for isSafeToClobberEFLAGS in a couple places"

This reverts commit 44b260cb0aab387d85e4d59c16fc7b8866264f5e.

I messed up the bug number in the commit message so I'm reverting
to fix it.
The file was modifiedllvm/lib/Target/X86/X86FixupLEAs.cpp
The file was modifiedllvm/lib/Target/X86/X86InstrInfo.h
The file was modifiedllvm/lib/Target/X86/X86InstrInfo.cpp
The file was modifiedllvm/test/CodeGen/X86/optimize-max-0.ll
Commit 8d3ae64b0403a2718c7e9c21a6595575af040ffc by craig.topper
Recommit "[X86] Increase the number of instructions searched for isSafeToClobberEFLAGS in a couple places"

I messed up the bug numbers in the commit message before

Previously this function searched 4 instructions forwards or
backwards to determine if it was ok to clobber eflags.

This is called in 3 places: rematerialization, turning 2 operand
leas into adds or splitting 3 ops leas into an lea and add on some
CPU targets.

This patch increases the search limit to 10 instructions for
rematerialization and 2 operand lea to add. I've left the old
treshold for 3 ops lea spliting as that increases code size.

Fixes PR47024 and PR46315.
The file was modifiedllvm/lib/Target/X86/X86InstrInfo.cpp
The file was modifiedllvm/lib/Target/X86/X86FixupLEAs.cpp
The file was modifiedllvm/lib/Target/X86/X86InstrInfo.h
The file was modifiedllvm/test/CodeGen/X86/optimize-max-0.ll
The file was addedllvm/test/CodeGen/X86/pr47024.ll
Commit c888694a8edaf2794fc5960a3c1087fbed37ba92 by omair.javaid
[LLDB] Fix timeout value on expect_gdbremote_sequence

D83904 seems to have changed timeout value on expect_gdbremote_sequence which
was 120 previously. This seems to be causing intermittent failures on
lldb-aarch64-ubuntu buildbot.

This patch fixes the timeout value to see the impact on test suite.

Example:
http://lab.llvm.org:8011/builders/lldb-aarch64-ubuntu/builds/7401/steps/test/logs/stdio

Differential Revision: https://reviews.llvm.org/D85514
The file was modifiedlldb/packages/Python/lldbsuite/test/tools/lldb-server/gdbremote_testcase.py
The file was modifiedlldb/packages/Python/lldbsuite/test/tools/lldb-server/lldbgdbserverutils.py
Commit 815a9b256b909572c3161dab056b48b1791d8fbc by craig.topper
[X86] Remove isSafeToClobberEFLAGS helper and just inline it into the call sites.

This is just a thin wrapper around computeRegisterLivness which
we can just call directly. The only real difference is that
isSafeToClobberEFLAGS returns a bool and computeRegisterLivness
returns an enum. So we need to check for the specific enum value
that isSafeToClobberEFLAGS was hiding.

I've also adjusted which sites pass an explicit value for
Neighborhood since the default for computeRegisterLivness is 10.
The file was modifiedllvm/lib/Target/X86/X86InstrInfo.h
The file was modifiedllvm/lib/Target/X86/X86InstrInfo.cpp
The file was modifiedllvm/lib/Target/X86/X86FixupLEAs.cpp
Commit c814eca3e4c625e24be47e66fbfd6567e8375750 by Dávid Bolvanský
[AArch64RegisterInfo] Supress new warning
The file was modifiedllvm/lib/Target/AArch64/AArch64RegisterInfo.cpp
Commit a599e1320c52ef8c429001da197e84c0485e9df8 by craig.topper
[X86] Add VPTERNLOG test cases where the root node will be X86ISD::ANDNP. NFC

We currently fail to match this.
The file was modifiedllvm/test/CodeGen/X86/avx512vl-logic.ll
Commit 966a58e329e012da157ac9d6883f8a99b694ed6c by craig.topper
[X86] Support matching VPTERNLOG when the root node is X86ISD::ANDNP.
The file was modifiedllvm/lib/Target/X86/X86ISelDAGToDAG.cpp
The file was modifiedllvm/test/CodeGen/X86/avx512vl-logic.ll
Commit 48887c4e81d47ebeaa6dc7888143cc51bd0ed7c5 by Dávid Bolvanský
[libcxx-fuzzing] Fixed bug found by -Wstring-concatenation
The file was modifiedlibcxx/test/libcxx/fuzzing/fuzzer_test.h
Commit d4c3f20285aded64e31a4faf6a5a9280352ff6af by lebedev.ri
[Reduce] Rewrite function body delta pass again

It is not enough to replace all uses of users of the function with undef,
the users, we only drop instruction users, so they may stick around.

Let's try different approach - first drop bodies for all the functions
we will drop, which should take care of blockaddress issue the previous
rewrite was dealing with; then, after dropping *all* such bodies,
replace remaining uses with undef (thus all the uses are either
outside of functions, or are in kept functions)
and then finally drop functions.

This seems to work, and passes the *existing* test coverage,
but it is possible that a new issue will be discovered later :)

A new (previously crashing) test added.
The file was addedllvm/test/Reduce/remove-function-bodies-used-in-globals.ll
The file was modifiedllvm/tools/llvm-reduce/deltas/ReduceFunctions.cpp
Commit d3153b5ca29b80d73af449727ca557eb6ccbd973 by craig.topper
[X86] Remove a DCI.isBeforeLegalize() call from combineVSelectWithAllOnesOrZeros.

This was blocking isTypeLegal call so that we could do a particular
transform on illegal types before type legalization. But the we
create a target specific node using that type. We shouldn't do
that if the type isn't legal. So I think we should just always
make sure the type is legal.

I suspect that in order to get the condition VT to not be a vector
of i1 we already completed type legalization anyway so this probably
doesn't matter much in practice.
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
Commit 654e8aadfdda97524c463bcf3552d2ecf2feda93 by uday
[MLIR] Consider AffineIfOp when getting the index set of an Op wrapped in nested loops

This diff attempts to resolve the TODO in `getOpIndexSet` (formerly
known as `getInstIndexSet`), which states "Add support to handle IfInsts
surronding `op`".

Major changes in this diff:

1. Overload `getIndexSet`. The overloaded version considers both
`AffineForOp` and `AffineIfOp`.
2. The `getInstIndexSet` is updated accordingly: its name is changed to
`getOpIndexSet` and its implementation is based on a new API `getIVs`
instead of `getLoopIVs`.
3. Add `addAffineIfOpDomain` to `FlatAffineConstraints`, which extracts
new constraints from the integer set of `AffineIfOp` and merges it to
the current constraint system.
4. Update how a `Value` is determined as dim or symbol for
`ValuePositionMap` in `buildDimAndSymbolPositionMaps`.

Differential Revision: https://reviews.llvm.org/D84698
The file was modifiedmlir/include/mlir/Analysis/Utils.h
The file was modifiedmlir/lib/Transforms/Utils/LoopUtils.cpp
The file was modifiedmlir/lib/Analysis/AffineStructures.cpp
The file was modifiedmlir/lib/Dialect/Affine/Transforms/LoopTiling.cpp
The file was modifiedmlir/test/Transforms/memref-dependence-check.mlir
The file was modifiedmlir/include/mlir/Analysis/AffineAnalysis.h
The file was modifiedmlir/include/mlir/Analysis/AffineStructures.h
The file was modifiedmlir/lib/Analysis/Utils.cpp
The file was modifiedmlir/lib/Analysis/AffineAnalysis.cpp
Commit 4eb4ebf76a6e26b0632968dd299d1dc6ad07e694 by brad
Hook up OpenBSD 64-bit PowerPC support
The file was modifiedclang/test/Preprocessor/init-ppc64.c
The file was modifiedclang/lib/Basic/Targets.cpp
The file was modifiedclang/test/Driver/ppc-abi.c
The file was modifiedclang/lib/Basic/Targets/PPC.h
The file was modifiedclang/lib/Basic/Targets/OSTargets.h
The file was modifiedclang/test/Preprocessor/init.c
The file was modifiedclang/lib/Driver/ToolChains/Clang.cpp
Commit 430db35bf21505015c618e292e98793e2ed49169 by brad
fix typo
The file was modifiedclang/lib/Driver/ToolChains/Clang.cpp
Commit cc612c29084e907900ce63ad9031ab573a64e942 by tlively
[WebAssembly] Fix FastISel address calculation bug

Fixes PR47040, in which an assertion was improperly triggered during
FastISel's address computation. The issue was that an `Address` set to
be relative to the FrameIndex with offset zero was incorrectly
considered to have an unset base. When the left hand side of an add
set the Address to be 0 off the FrameIndex, the right side would not
detect that the Address base had already been set and could try to set
the Address to be relative to a register instead, triggering an
assertion.

This patch fixes the issue by explicitly tracking whether an `Address`
has been set rather than interpreting an offset of zero to mean the
`Address` has not been set.

Differential Revision: https://reviews.llvm.org/D85581
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyFastISel.cpp
The file was addedllvm/test/CodeGen/WebAssembly/fast-isel-pr47040.ll
Commit f4aba9d76c61cc4c87b45e4edb57b1968eb7194c by brad
Backout a test that is dependent on an uncommited diff. Fix another.
The file was modifiedclang/test/Driver/ppc-abi.c
The file was modifiedclang/test/Preprocessor/init.c
Commit ccbc1485b55ff4acd21bcfafbf7aec4ed0fd818d by phosek
[CMake] Simplify CMake handling for zlib

Rather than handling zlib handling manually, use find_package from CMake
to find zlib properly. Use this to normalize the LLVM_ENABLE_ZLIB,
HAVE_ZLIB, HAVE_ZLIB_H. Furthermore, require zlib if LLVM_ENABLE_ZLIB is
set to YES, which requires the distributor to explicitly select whether
zlib is enabled or not. This simplifies the CMake handling and usage in
the rest of the tooling.

This is a reland of abb0075 with all followup changes and fixes that
should address issues that were reported in PR44780.

Differential Revision: https://reviews.llvm.org/D79219
The file was modifiedllvm/utils/gn/secondary/llvm/test/BUILD.gn
The file was modifiedclang/test/lit.site.cfg.py.in
The file was modifiedllvm/lib/Support/CRC.cpp
The file was modifiedllvm/test/CMakeLists.txt
The file was modifiedllvm/utils/gn/secondary/clang/test/BUILD.gn
The file was modifiedllvm/cmake/config-ix.cmake
The file was modifiedllvm/unittests/Support/CompressionTest.cpp
The file was modifiedllvm/lib/Support/Compression.cpp
The file was modifiedlld/test/CMakeLists.txt
The file was modifiedlldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
The file was modifiedllvm/test/lit.site.cfg.py.in
The file was modifiedllvm/utils/gn/secondary/lld/test/BUILD.gn
The file was modifiedcompiler-rt/test/lit.common.configured.in
The file was modifiedlldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.cpp
The file was modifiedllvm/cmake/modules/LLVMConfig.cmake.in
The file was modifiedllvm/utils/gn/secondary/compiler-rt/test/BUILD.gn
The file was modifiedllvm/utils/gn/secondary/llvm/include/llvm/Config/BUILD.gn
The file was modifiedllvm/lib/Support/CMakeLists.txt
The file was modifiedclang/test/CMakeLists.txt
The file was modifiedlld/test/lit.site.cfg.py.in
The file was modifiedllvm/include/llvm/Config/config.h.cmake
The file was modifiedlldb/cmake/modules/LLDBStandalone.cmake
Commit a4d78d23c53451ccefe0df0adfff9a1ac3077f10 by phosek
Revert "[CMake] Simplify CMake handling for zlib"

This reverts commit ccbc1485b55ff4acd21bcfafbf7aec4ed0fd818d which
is still failing on the Windows MLIR bots.
The file was modifiedllvm/utils/gn/secondary/llvm/test/BUILD.gn
The file was modifiedlld/test/lit.site.cfg.py.in
The file was modifiedclang/test/CMakeLists.txt
The file was modifiedcompiler-rt/test/lit.common.configured.in
The file was modifiedlldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.cpp
The file was modifiedllvm/cmake/modules/LLVMConfig.cmake.in
The file was modifiedllvm/utils/gn/secondary/llvm/include/llvm/Config/BUILD.gn
The file was modifiedlldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
The file was modifiedllvm/unittests/Support/CompressionTest.cpp
The file was modifiedllvm/lib/Support/Compression.cpp
The file was modifiedllvm/include/llvm/Config/config.h.cmake
The file was modifiedlld/test/CMakeLists.txt
The file was modifiedllvm/utils/gn/secondary/compiler-rt/test/BUILD.gn
The file was modifiedllvm/test/CMakeLists.txt
The file was modifiedllvm/lib/Support/CRC.cpp
The file was modifiedllvm/lib/Support/CMakeLists.txt
The file was modifiedllvm/utils/gn/secondary/lld/test/BUILD.gn
The file was modifiedlldb/cmake/modules/LLDBStandalone.cmake
The file was modifiedllvm/test/lit.site.cfg.py.in
The file was modifiedclang/test/lit.site.cfg.py.in
The file was modifiedllvm/utils/gn/secondary/clang/test/BUILD.gn
The file was modifiedllvm/cmake/config-ix.cmake
Commit 540489de6816486f98221952d7a54f0293c68d1e by aktoon
[llvm-profdata] Implement llvm-profdata overlap for sample profiles

Implemented the `llvm-profdata overlap` feature for sample profiles. It reports weighted //similarity// and unweighted //overlap// metrics at program and function level for two input profiles. Similarity metrics are symmetric with regards to the order of two input profiles. By default, the tool only reports program-level summary. Users can look into function-level details via additional options `--function`, `--similarity-cutoff`, and `--value-cutoff`.

The similarity metrics are designed as follows:
* Program-level summary
    * Whole program profile similarity is an aggregate over function-level similarity `FS`: `PS = sum(FS(A) * avg_weight(A))` for all function `A`.
    * Whole program sample overlap: `PSO = common_samples / total_samples`.
    * Function overlap: `FO = #common_function / #total_function`.
    * Hot-function overlap: `HFO = #common_hot_function / #total_hot_function`.
    * Hot-block overlap: `HBO = #common_hot_block / #total_hot_block`.
* Function-level details
    * Function-level similarity is an aggregate over line/block-level similarities `BS` of all sample lines/blocks in the function, weighted by the closeness of the function's weights in two profiles: `FS = sum(BS(i)) * (1 - weight_distance(A))`.
    * Function-level sample overlap: `FSO = common_samples / total_samples` for samples in the function.

Reviewed By: wenlei, hoyFB, wmi

Differential Revision: https://reviews.llvm.org/D83852
The file was addedllvm/test/tools/llvm-profdata/Inputs/sample-overlap-1.proftext
The file was modifiedllvm/tools/llvm-profdata/llvm-profdata.cpp
The file was addedllvm/test/tools/llvm-profdata/Inputs/sample-overlap-5.proftext
The file was addedllvm/test/tools/llvm-profdata/Inputs/sample-overlap-3.proftext
The file was addedllvm/test/tools/llvm-profdata/Inputs/sample-overlap-4.proftext
The file was addedllvm/test/tools/llvm-profdata/sample-overlap.test
The file was addedllvm/test/tools/llvm-profdata/Inputs/sample-overlap-2.proftext
The file was addedllvm/test/tools/llvm-profdata/Inputs/sample-overlap-0.proftext
Commit 0334578edc60ad8a7455e7b76e41901376245b56 by i
[ELF] --wrap: don't leave the original symbol as SHN_UNDEF in .symtab or .dynsym
The file was modifiedlld/ELF/SymbolTable.cpp
The file was modifiedlld/test/ELF/wrap-shlib-undefined.s
Commit b317321545aacc03004a3e0c514f7474e9ece422 by Vitaly Buka
[NFC][StackSafety] noinline in alias tests
The file was modifiedllvm/test/Analysis/StackSafetyAnalysis/ipa-alias.ll
The file was modifiedllvm/test/Analysis/StackSafetyAnalysis/Inputs/ipa-alias.ll
Commit 5fd49911db546cda6b35dffb6be440385e8d96d5 by Vitaly Buka
[NFC][StackSafety] Add index test

This directly covers generateParamAccessSummary
The file was modifiedllvm/test/Analysis/StackSafetyAnalysis/ipa-alias.ll
The file was modifiedllvm/test/Analysis/StackSafetyAnalysis/ipa.ll
Commit 6d9b3cb2fb5fc91825c54688f29c4e538c398f7e by Vitaly Buka
Revert "[NFC][StackSafety] Add index test"

This reverts commit 5fd49911db546cda6b35dffb6be440385e8d96d5.

GUIDs don't match.
The file was modifiedllvm/test/Analysis/StackSafetyAnalysis/ipa-alias.ll
The file was modifiedllvm/test/Analysis/StackSafetyAnalysis/ipa.ll
Commit 95e61ed85c1abb7dab20ab665d6204ea66f5bf1f by craig.topper
[X86] Autogenerate complete checks. NFC
The file was modifiedllvm/test/CodeGen/X86/break-false-dep.ll
Commit fdfdee98ac81dc7554bb2d7f5e99614e0086b4f0 by craig.topper
[DAGCombiner] Teach SimplifySetCC SETUGE X, SINTMIN -> SETLT X, 0 and SETULE X, SINTMAX  -> SETGT X, -1.

These aren't the canonical forms we'd get from InstCombine, but
we do have X86 tests for them. Recognizing them is pretty cheap.

While there make use of APInt:isSignedMinValue/isSignedMaxValue
instead of creating a new APInt to compare with. Also use
SelectionDAG::getAllOnesConstant helper to hide the all ones
APInt creation.
The file was modifiedllvm/test/CodeGen/X86/vector-compare-simplify.ll
The file was modifiedllvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
Commit 231c554abc8aad4240705149f785f9e76398d937 by uday
[MLIR][NFC] Fix misleading diagnostic error + clang-tidy fix

Fix misleading diagnostic error in affine.yield verifier + a clang-tidy fix.

Differential Revision: https://reviews.llvm.org/D85587
The file was modifiedmlir/lib/Dialect/Affine/IR/AffineOps.cpp
Commit bc8be3054067ac822fc6d9f4f8e64c841f530f16 by craig.topper
[X86][GlobalISel] Remove unneeded code for handling zext i8->16, i8->i64, i16->i64, i32->i64.

These all seem to be handled by tablegen pattern imports.
The file was modifiedllvm/test/CodeGen/X86/GlobalISel/ext-x86-64.ll
The file was modifiedllvm/test/CodeGen/X86/GlobalISel/ext.ll
The file was modifiedllvm/lib/Target/X86/X86InstructionSelector.cpp
Commit cfd2ee29e0e23fe4174740a97cc001c8b7a21475 by grimar
[llvm-readobj] - Remove 3 excessive test cases.

This patch does the following:

1) Removes mips-options.test and the corresponding Inputs/mips-options.elf-mips64el binary:
This is a test that checks that --dynamic-table is able to print the DT_MIPS_OPTIONS tag.
We are testing it in dynamic-tags-machine-specific.test already.
(https://github.com/llvm/llvm-project/blob/master/llvm/test/tools/llvm-readobj/ELF/dynamic-tags-machine-specific.test#L235)

2) Removes mips-rld-map-rel.test and the corresponding Inputs/mips-rld-map-rel.elf-mipsel binary.
This is a test that checks that --dynamic-table is able to print the DT_MIPS_RLD_MAP_REL tag.
We are testing it in dynamic-tags-machine-specific.test already.
(https://github.com/llvm/llvm-project/blob/master/llvm/test/tools/llvm-readobj/ELF/dynamic-tags-machine-specific.test#L257)

3) Removes ppc64-glink.test test and the corresponding Inputs/ppc64.exe binary.
This is a test that checks that --dynamic-table is able to print the DT_PPC64_GLINK tag.
We are testing it in dynamic-tags-machine-specific.test already.
(https://github.com/llvm/llvm-project/blob/master/llvm/test/tools/llvm-readobj/ELF/dynamic-tags-machine-specific.test#L337)

Differential revision: https://reviews.llvm.org/D85515
The file was removedllvm/test/tools/llvm-readobj/ELF/Inputs/ppc64.exe
The file was removedllvm/test/tools/llvm-readobj/ELF/mips-rld-map-rel.test
The file was removedllvm/test/tools/llvm-readobj/ELF/Inputs/mips-options.elf-mips64el
The file was removedllvm/test/tools/llvm-readobj/ELF/mips-options.test
The file was removedllvm/test/tools/llvm-readobj/ELF/Inputs/mips-rld-map-rel.elf-mipsel
The file was removedllvm/test/tools/llvm-readobj/ELF/ppc64-glink.test
Commit c990455db91e52bd6b8ac9b68b06ef19f7239722 by grimar
[llvm-readelf/obj] - Refine the implementation of printMipsReginfo().

It adds the proper warnings reporting and updates the mips-reginfo.test to
remove using of the precompiled binary.

Differential revision: https://reviews.llvm.org/D85511
The file was modifiedllvm/tools/llvm-readobj/ELFDumper.cpp
The file was removedllvm/test/tools/llvm-readobj/ELF/Inputs/reginfo.obj.elf-mipsel
The file was modifiedllvm/test/tools/llvm-readobj/ELF/mips-reginfo.test
Commit 296faa91ed55c05b40d286be020fc65d2fc262b5 by david.green
[ARM] Some formatting and predicate VRHADD patterns. NFC

This formats some of the MVE patterns, and adds a missing
Predicates = [HasMVEInt] to some VRHADD patterns I noticed
as going through. Although I don't believe NEON would ever
use the patterns (as it would use ADDL and VSHRN instead)
they should ideally be predicated on having MVE instructions.
The file was modifiedllvm/lib/Target/ARM/ARMInstrMVE.td
Commit 8590e5abad51257fe9120313b37192f37aef8eec by david.green
[ARM] Allow vecreduce_add in tail predicated loops

This allows vecreduce_add in loops so that we can tailpredicate them.

Differential Revision: https://reviews.llvm.org/D85454
The file was modifiedllvm/lib/Target/ARM/MVETailPredication.cpp
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vecreduce-loops.ll
Commit 186a7f81e813a59b68fadfe7ea90c348bb760c56 by david.green
[ARM] Add VADDV and VMLAV patterns for v16i16

This adds patterns for v16i16's vecreduce, using all the existing code
to go via an i32 VADDV/VMLAV and truncating the result.

Differential Revision: https://reviews.llvm.org/D85452
The file was modifiedllvm/lib/Target/ARM/ARMISelLowering.cpp
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vecreduce-add.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vecreduce-addpred.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vecreduce-loops.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vecreduce-mlapred.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vecreduce-mla.ll
Commit 04a23f1fe08a6ad0baf1305d7308231d2cb4843b by Dávid Bolvanský
[Diagnostics] Turn string concat warning to avoid false positives
The file was modifiedclang/lib/Sema/SemaExpr.cpp
The file was modifiedclang/test/Sema/string-concat.c
Commit c8b629a3a5854506dd25e84f9b4174b53f8f667b by mgorny
[Polly] Reuse LLVM's build rules for gtest/gmock

Reuse LLVM's CMakeLists.txt for gtest/gmock instead of reinventing
them in Polly.  This fixes a lot of linking errors due to not linking
LLVMSupport in for me.

Differential Revision: https://reviews.llvm.org/D85280
The file was modifiedpolly/CMakeLists.txt
Commit c70f0b9d4a063df396bb63378963cedbaa357bb8 by flo
[SCEVExpander] Avoid re-using existing casts if it means updating users.

Currently the SCEVExpander tries to re-use existing casts, even if they
are not exactly at the insertion point it was asked to create the cast.
To do so in some case, it creates a new cast at the insertion point and
updates all users to use the new cast.

This behavior is problematic, because it changes the IR outside of the
instructions created during the expansion. Therefore we cannot
completely undo all changes made during expansion.

This re-use should be only an extra optimization, so only using the new
cast in the expanded instructions should not be a correctness issue.
There are many cases equivalent instructions are created during
expansion.

This patch also adjusts findInsertPointAfter to skip instructions
inserted during expansion. This enables re-using existing casts without
the renaming any uses, by picking a better insertion point.

Reviewed By: efriedma, lebedev.ri

Differential Revision: https://reviews.llvm.org/D84399
The file was modifiedllvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
The file was modifiedllvm/test/Transforms/LoopStrengthReduce/pr27056.ll
The file was modifiedllvm/test/Transforms/LoopDistribute/bounds-expansion-bug.ll
The file was modifiedllvm/include/llvm/Transforms/Utils/ScalarEvolutionExpander.h
The file was modifiedllvm/test/Transforms/LoopIdiom/reuse-cast.ll
Commit 43bdac290663f4424f9fb3920c47c7288a2aabb4 by spatel
[VectorCombine] try to create vector loads from scalar loads

This patch was adjusted to match the most basic pattern that starts with an insertelement
(so there's no extract created here). Hopefully, that removes any concern about
interfering with other passes. Ie, the transform should almost always be profitable.

We could make an argument that this could be part of canonicalization, but we
conservatively try not to create vector ops from scalar ops in passes like instcombine.

If the transform is not profitable, the backend should be able to re-scalarize the load.

Differential Revision: https://reviews.llvm.org/D81766
The file was modifiedllvm/test/Transforms/VectorCombine/X86/load.ll
The file was modifiedllvm/lib/Transforms/Vectorize/VectorCombine.cpp
Commit 975467e4aa7ce1b8fcf4af0e25cdf053cfa8669e by Dávid Bolvanský
[Diagnostics] Handle string concat pattern and avoid false positives
The file was modifiedclang/lib/Sema/SemaExpr.cpp
The file was modifiedclang/test/Sema/string-concat.c
Commit dee938e5ccdb5b3afe4e5b6e91b41db9c7fe61bd by Dávid Bolvanský
[Tests] Precommit tests for D85593
The file was addedllvm/test/Transforms/InstCombine/not-add.ll
Commit 53ac14484869a62e0c8eb569c6a030e7af1312e8 by aditya7
[HotColdSplit] Add options for splitting cold functions in separate section

Add support for (if enabled) splitting cold functions into a separate section
in order to further boost locality of hot code.

Authored by: rjf (Ruijie Fang)
Reviewed by: hiraditya,rcorcs,vsk

Differential Revision: https://reviews.llvm.org/D85331
The file was addedllvm/test/Transforms/HotColdSplit/section-splitting-custom.ll
The file was addedllvm/test/Transforms/HotColdSplit/section-splitting-default.ll
The file was modifiedllvm/lib/Transforms/IPO/HotColdSplitting.cpp
Commit 23817cbd0b6549d6145e4d0dbc0162370184a21e by flo
[SCEVExpander] Make sure cast properly dominates Builder's IP.

The selected cast must properly dominate the Builder's IP, so we cannot
re-use the cast, if it matches the builder's IP.
The file was addedllvm/test/Transforms/LoopStrengthReduce/X86/expander-crashes.ll
The file was modifiedllvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
Commit d236e1c7b606c461b5cb8a8a87d50ead5d1bcbb9 by flo
[InstSimplify/NewGVN] Add option to control the use of undef.

Making use of undef is not safe if the simplification result is not used
to replace all uses of the result. This leads to problems in NewGVN,
which does not replace all uses in the IR directly. See PR33165 for more
details.

This patch adds an option to SimplifyQuery to disable the use of undef.

Note that I've only guarded uses if isa<UndefValue>/m_Undef where
SimplifyQuery is currently available. If we agree on the general
direction, I'll update the remaining uses.

Reviewed By: nikic

Differential Revision: https://reviews.llvm.org/D84792
The file was addedllvm/test/Transforms/NewGVN/pr33165-distribute-undef.ll
The file was modifiedllvm/include/llvm/Analysis/InstructionSimplify.h
The file was removedllvm/test/Transforms/NewGVN/todo-pr33165-distribute-undef.ll
The file was modifiedllvm/lib/Transforms/Scalar/NewGVN.cpp
The file was modifiedllvm/lib/Analysis/InstructionSimplify.cpp
Commit 5a0d6cdbd16c80d39e3a237582f6bb47aadacb67 by flo
[InstSimplify] Make sure CanUseUndef is initialized in all cases.

This should fix a bunch of buildbot failures.
The file was modifiedllvm/include/llvm/Analysis/InstructionSimplify.h
Commit 62d8b8a2253c4615723e4fdd92505f25d78c75ee by Piotr Sobczak
Fix 64-bit copy to SCC

Fix 64-bit copy to SCC by restricting the pattern resulting
in such a copy to subtargets supporting 64-bit scalar compare,
and mapping the copy to S_CMP_LG_U64.

Before introducing the S_CSELECT pattern with explicit SCC
(0045786f146e78afee49eee053dc29ebc842fee1), there was no need
for handling 64-bit copy to SCC ($scc = COPY sreg_64).

The proposed handling to read only the low bits was however
based on a false premise that it is only one bit that matters,
while in fact the copy source might be a vector of booleans and
all bits need to be considered.

The practical problem of mapping the 64-bit copy to SCC is that
the natural instruction to use (S_CMP_LG_U64) is not available
on old hardware. Fix it by restricting the problematic pattern
to subtargets supporting the instruction (hasScalarCompareEq64).

Differential Revision: https://reviews.llvm.org/D85207
The file was modifiedllvm/test/CodeGen/AMDGPU/select-opt.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/vselect.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/32-bit-local-address-space.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/ctlz_zero_undef.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/mad_uint24.ll
The file was modifiedllvm/lib/Target/AMDGPU/SIInstrInfo.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/addrspacecast.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/insert_vector_elt.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/fceil64.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/ctlz.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/extractelt-to-trunc.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/sdiv.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/trunc.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/udiv64.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/sad.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/sdiv64.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/fshl.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/fshr.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/urem64.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/amdgpu-codegenprepare-idiv.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/srem64.ll
The file was modifiedllvm/lib/Target/AMDGPU/SOPInstructions.td
The file was modifiedllvm/test/CodeGen/AMDGPU/uint_to_fp.f64.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/select64.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/select-vectors.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/sint_to_fp.f64.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/udivrem.ll
Commit 4e681fad46868c1c68a5ff9193447eb245824ca1 by craig.topper
[X86][GlobalISel] Enable a test case for sext i32->i64 that was commented out.

Test case seems to work so I guess whatever lead to it being
commented out with a FIXME has been fixed.
The file was modifiedllvm/test/CodeGen/X86/GlobalISel/ext-x86-64.ll
Commit 898880fe4e329ce7fc6bbe30f309ef3b91535c21 by Dávid Bolvanský
[clang] Fix typo in comment

In the handleIntToFloatConversion() function, 6th parameter is ConvertFloat, 7th parameter is ConvertInt.

Reviewed By: njames93, xbolva00

Differential Revision: https://reviews.llvm.org/D85568
The file was modifiedclang/lib/Sema/SemaExpr.cpp
Commit 2a11d5dcc97a454bfd6db0771709cd554a5ccfac by Vitaly Buka
[NFC][StackSafety] Avoid some duplications in tests
The file was modifiedllvm/test/Analysis/StackSafetyAnalysis/ipa-alias.ll
The file was modifiedllvm/test/Analysis/StackSafetyAnalysis/ipa.ll
Commit 86cc7226874ad471d07066172fa0b023b1c3f37c by Dávid Bolvanský
[X86] Added testcases for PR47024 and PR46315
The file was addedllvm/test/CodeGen/X86/mov-zero-to-xor.ll
Commit 836f937a1f1150d81c0bf2b6a14872146da5b89e by kbobyrev
[clangd] Add more error details on the remote index server side

Reviewed By: kadircet

Differential Revision: https://reviews.llvm.org/D85502
The file was modifiedclang-tools-extra/clangd/index/remote/marshalling/Marshalling.cpp
Commit 9658647d72d24f339f8b8129da9f116c358f30d5 by Dávid Bolvanský
[AST] Fixed string concatenation warnings
The file was modifiedclang/unittests/AST/CommentParser.cpp
Commit eeb7c496e385d2a88c39a0e0ebfe8a9908762cc3 by Dávid Bolvanský
[AST] Fixed string list in test
The file was modifiedclang/unittests/AST/CommentParser.cpp
Commit 2fa401fe53dbad184eeecfe4d0bd20599c5f35ce by Vitaly Buka
[NFC][StackSafety] Add shell test requirement
The file was modifiedllvm/test/Analysis/StackSafetyAnalysis/ipa.ll
The file was modifiedllvm/test/Analysis/StackSafetyAnalysis/ipa-alias.ll
Commit eff04f95951749665e541908e60216ecee926fb3 by Vitaly Buka
[NFC][StackSafety] Add index test

This directly covers generateParamAccessSummary
The file was modifiedllvm/test/Analysis/StackSafetyAnalysis/ipa.ll
Commit 654266bea9ba1fdd0a8e13029b48ac7043bd7cb4 by Vitaly Buka
[StackSafety] Use getSignedMin() to serialize ranges

Almost NFC as it's important only for full sets which should not
be serialized at all.
The file was modifiedllvm/lib/IR/AsmWriter.cpp
The file was modifiedllvm/test/Analysis/StackSafetyAnalysis/ipa.ll
Commit 3a34228bff6fdf45b50cb57cf5fb85d659eeb672 by Vitaly Buka
[StackSafety] Don't keep FullSet in index

Optimization. Missing record is enterpreted as FullSet anyway.
The file was modifiedllvm/lib/Analysis/StackSafetyAnalysis.cpp
The file was modifiedllvm/test/Analysis/StackSafetyAnalysis/ipa.ll
Commit 92e82a2890c38bbb158cbf9dd592328b4c383696 by brad
int64_t and intmax_t are always (signed) long long on OpenBSD.
The file was modifiedclang/lib/Basic/Targets/OSTargets.h
Commit ff1002aab0911c585a9850fe7315b1e604c271f9 by okuraofvegetable
[Attributor][NFC][AAPotentialValues] Change interface of PotentialValuesState

Previously `PotentialValuesState` inherited `BooleanState`.
We have to add `getAssumed` to the state in order to use `clampStateAndIndicateChange` (which will be used in `AAPotentialValuesArgument`).
However `BooleanState::getAssumed` is not a virtual function and we cannot override it.
Therefore, I changed the state not to inherit `BooleanState` and add `getAssumed` to it.

Reviewed By: jdoerfert

Differential Revision: https://reviews.llvm.org/D85610
The file was modifiedllvm/include/llvm/Transforms/IPO/Attributor.h
Commit f5fdb6141c5e7a76a10ea702d6fc046692827c43 by brad
Re-enable OpenBSD PowerPC64 tests.
The file was modifiedclang/test/Preprocessor/init.c
Commit 4b211b94d71386d249e2004c817a9bb659634c2b by jpienaar
[mlir][drr] Make error easier to understand

Changes error from
  error: referencing unbound symbol ''
to
  error: raw string not supported as argument
The file was modifiedmlir/tools/mlir-tblgen/RewriterGen.cpp
Commit ef018cb65c98fdb517930b762b3b3a3c0dd4dbdd by aqjune
[BuildLibCalls] Add noundef to standard I/O functions

This patch adds noundef to return value and arguments of standard I/O functions.
With this patch, passing undef or poison to the functions becomes undefined
behavior in LLVM IR. Since undef/poison is lowered from operations having UB in C/C++,
passing undef to them was already UB in source.

With this patch, the functions cannot return undef or poison anymore as well.
According to C17 standard, ungetc/ungetwc/fgetpos/ftell can generate unspecified
value; 3.19.3 says unspecified value is a valid value of the relevant type,
and using unspecified value is unspecified behavior, which is not UB, so it
cannot be undef (using undef is UB when e.g. it is used at branch condition).

— The value of the file position indicator after a successful call to the ungetc function for a text stream, or the ungetwc function for any stream, until all pushed-back characters are read or discarded (7.21.7.10, 7.29.3.10).
— The details of the value stored by the fgetpos function (7.21.9.1).
— The details of the value returned by the ftell function for a text stream (7.21.9.4).

In the long run, most of the functions listed in BuildLibCalls should have noundefs; to remove redundant diffs which will anyway disappear in the future, I added noundef to a few more non-I/O functions as well.

Reviewed By: jdoerfert

Differential Revision: https://reviews.llvm.org/D85345
The file was modifiedllvm/lib/Transforms/Utils/BuildLibCalls.cpp
The file was modifiedllvm/test/CodeGen/X86/no-plt-libcalls.ll
The file was modifiedllvm/test/Transforms/InferFunctionAttrs/annotate.ll
The file was modifiedclang/test/CodeGen/PR3589-freestanding-libcalls.c
Commit a31b3893c72d7f30b05fc42a26690a331ca7b6ed by kazu
[docs] Fix typos
The file was modifiedllvm/docs/AliasAnalysis.rst
The file was modifiedllvm/docs/TestSuiteGuide.md
The file was modifiedllvm/docs/MemorySSA.rst
The file was modifiedllvm/docs/CMake.rst
The file was modifiedllvm/docs/HowToSetUpLLVMStyleRTTI.rst
The file was modifiedllvm/docs/CommandGuide/llvm-extract.rst
The file was modifiedllvm/docs/BugLifeCycle.rst
The file was modifiedllvm/docs/GlobalISel/GMIR.rst
The file was modifiedllvm/docs/AMDGPUDwarfExtensionsForHeterogeneousDebugging.rst
The file was modifiedllvm/docs/ExceptionHandling.rst
The file was modifiedllvm/docs/Security.rst
The file was modifiedllvm/docs/GlobalISel/GenericOpcode.rst
The file was modifiedllvm/docs/LangRef.rst
The file was modifiedllvm/docs/Phabricator.rst
The file was modifiedllvm/docs/AMDGPUUsage.rst
Commit 1675f8a2516d0a6f90744aef1066482ee072bbc8 by craig.topper
[TableGen] Pull the increment of a variable out of an assert.

The variable is only used by the assert so the code was fine
before, but it was flagged in PR47072.
The file was modifiedllvm/utils/TableGen/RegisterInfoEmitter.cpp
Commit b529c5270c99e0ca18e3cbd9a5f50eb0970e560a by echristo
Add override to fix -Winconsistent-missing-override warning.
The file was modifiedlldb/include/lldb/Target/ThreadPlanPython.h
Commit a6feeb1c6b614ff17ee65a78e0525561adf514af by Vitaly Buka
[NFC][StackSafety] Avoid assert in getBaseObjec
The file was modifiedllvm/lib/Analysis/StackSafetyAnalysis.cpp
Commit dee812a297c2a5810be7674680314ba9150fe50c by Vitaly Buka
[StackSafety] Fix union which produces wrapped sets
The file was modifiedllvm/lib/Analysis/StackSafetyAnalysis.cpp
The file was modifiedllvm/test/Analysis/StackSafetyAnalysis/local.ll
Commit 617007240cbfb97c8ccf6d61b0c4ca0bb62d43c9 by richard
Improve modeling of variable template specializations with dependent
arguments.

Don't build a variable template specialization declaration until its
scope and template arguments are non-dependent.

No functionality change intended, but the AST representation is now more
consistent with how we model other templates.
The file was modifiedclang/include/clang/Basic/DiagnosticSemaKinds.td
The file was modifiedclang/lib/Sema/SemaTemplate.cpp
The file was modifiedclang/lib/Sema/SemaTemplateInstantiateDecl.cpp
The file was modifiedclang/lib/Sema/SemaExprMember.cpp
The file was modifiedclang/include/clang/Sema/Sema.h
Commit fbd33baa27f8acce24ea58013fda0c2421c928f9 by Vitaly Buka
[NFC][Attributor] Add missing override
The file was modifiedllvm/include/llvm/Transforms/IPO/Attributor.h
Commit 8d91ce8f589c0ab62bd782fd314cecdc979556f7 by Vitaly Buka
[NFC][StackSafety] Count dataflow inputs
The file was modifiedllvm/lib/Analysis/StackSafetyAnalysis.cpp
Commit a4ca710d9ca9a779a97050149a483f7a5b24dd02 by richard
More cleanup after removing the ability to reference a dependent
VarTemplateSpecializationDecl.
The file was modifiedclang/lib/Sema/SemaExpr.cpp
Commit 1970eefb17e9790ed8a1087805ac2a05a7f36727 by Vitaly Buka
[NFC][StackSafety] Add a couple of early returns
The file was modifiedllvm/lib/Analysis/StackSafetyAnalysis.cpp
Commit b1c7f84643ffa63e72733b7089cea89723b82afc by zeratul976
[clang] Allow DynTypedNode to store a TemplateArgumentLoc

The patch also adds a templateArgumentLoc() AST matcher.

Differential Revision: https://reviews.llvm.org/D85621
The file was modifiedclang/docs/LibASTMatchersReference.html
The file was modifiedclang/include/clang/ASTMatchers/ASTMatchersInternal.h
The file was modifiedclang/lib/ASTMatchers/ASTMatchFinder.cpp
The file was modifiedclang/include/clang/ASTMatchers/ASTMatchFinder.h
The file was modifiedclang/lib/AST/ASTTypeTraits.cpp
The file was modifiedclang/lib/ASTMatchers/ASTMatchersInternal.cpp
The file was modifiedclang/include/clang/ASTMatchers/ASTMatchers.h
The file was modifiedclang/include/clang/AST/ASTTypeTraits.h
The file was modifiedclang/unittests/ASTMatchers/ASTMatchersTraversalTest.cpp
Commit 626d0f5818b223f04904c510eaa682db7a41c2dd by hokein.wu
[Concepts] Dump template arguments for immediately declared constraint.

The template arguments were dumped as part of the TemplateTypeParmDecl, which
was incorrect.

Differential Revision: https://reviews.llvm.org/D85282
The file was modifiedclang/test/AST/ast-dump-concepts.cpp
The file was modifiedclang/lib/AST/TextNodeDumper.cpp
The file was modifiedclang/include/clang/AST/ASTNodeTraverser.h
Commit 5965fbf81b25217c40b09b48bd808a8f4a5d4e89 by platonov.aleksandr
[clang-tidy] Fix a crash in bugprone-not-null-terminated-result check when `__STDC_WANT_LIB_EXT1__` was undefined after definition.

PP->getMacroInfo() returns nullptr for undefined macro, so we need to check this return value before dereference.
Stack dump:
```
#0 0x0000000002185e6a llvm::sys::PrintStackTrace(llvm::raw_ostream&) (/llvm-project/build/bin/clang-tidy+0x2185e6a)
#1 0x0000000002183e8c llvm::sys::RunSignalHandlers() (/llvm-project/build/bin/clang-tidy+0x2183e8c)
#2 0x0000000002183ff3 SignalHandler(int) (/llvm-project/build/bin/clang-tidy+0x2183ff3)
#3 0x00007f37df9b1390 __restore_rt (/lib/x86_64-linux-gnu/libpthread.so.0+0x11390)
#4 0x000000000052054e clang::tidy::bugprone::NotNullTerminatedResultCheck::check(clang::ast_matchers::MatchFinder::MatchResult const&) (/llvm-project/build/bin/clang-tidy+0x52054e)
```

Reviewed By: hokein

Differential Revision: https://reviews.llvm.org/D85523
The file was addedclang-tools-extra/test/clang-tidy/checkers/bugprone-not-null-terminated-result-undef-stdc-want-lib-ext1.c
The file was modifiedclang-tools-extra/clang-tidy/bugprone/NotNullTerminatedResultCheck.cpp
Commit 0d58d9e8fb937b422baaf96dc7c60e7c3a128302 by petar.avramovic
AMDGPU/GlobalISel: Lower G_FREM

Add custom lower for G_FREM.

Differential Revision: https://reviews.llvm.org/D84324
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.h
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
The file was addedllvm/test/CodeGen/AMDGPU/GlobalISel/frem.ll
The file was modifiedllvm/include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h
Commit 69eb7e36aa3c71997811054bb31d4546b08bfff0 by zinenko
Free the memory allocated by mlirOperationStateAddXXX methods in mlirOperationCreate.

Previously, the memory leaks on heap. Since the MlirOperationState is not intended to be used again after mlirOperationCreate, the patch simplify frees the memory in mlirOperationCreate instead of creating any new API.

Reviewed By: ftynse

Differential Revision: https://reviews.llvm.org/D85629
The file was modifiedmlir/lib/CAPI/IR/IR.cpp
Commit d400606f8cb2474a436df42d7d6c897ba6c9c4ee by ikudrin
[DebugInfo] Fix initialization of DwarfCompileUnit::LabelBegin.

This also fixes the condition in the assertion in
DwarfCompileUnit::getLabelBegin() because it checked something unrelated
to the returned value.

Differential Revision: https://reviews.llvm.org/D85437
The file was modifiedllvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.h
Commit 8119d6c14695b436adb66f0d891863eeea9e62ad by Raphael Isemann
[lldb][NFC] Remove dead code in BreakpointResolverAddress
The file was modifiedlldb/source/Breakpoint/BreakpointResolverAddress.cpp
Commit c0c3b9a25feec84e739cc3a2b30e1ac336648799 by llvm-dev
[ScalarizeMaskedMemIntrin] Scalarize constant mask expandload as shuffle(build_vector,pass_through)

As noticed on D66004, scalarization of an expandload with a constant mask as a chain of irregular loads+inserts makes it tricky to optimize before lowering, resulting in difficulties in merging loads etc.

This patch instead scalarizes the expansion to a build_vector(load0, load1, undef, load2,....) style pattern and then performs a blend shuffle with the pass through vector. This allows us to more easily make use of all the build_vector combines, merging of consecutive loads etc.

Differential Revision: https://reviews.llvm.org/D85416
The file was modifiedllvm/lib/CodeGen/ScalarizeMaskedMemIntrin.cpp
The file was modifiedllvm/test/CodeGen/X86/masked_expandload.ll
Commit 0b26c9eddc4f0112f18f75f64c0fb4e5839a6795 by llvm-dev
[ScalarizeMaskedMemIntrin][X86] Refresh missed transform test cases from rGc0c3b9a25fee

Differential Revision: https://reviews.llvm.org/D85416
The file was modifiedllvm/test/Transforms/ScalarizeMaskedMemIntrin/X86/expand-masked-expandload.ll
Commit dbcfbffc7ae46cc7b84257787681676144a1bd5f by qiucofan
[PowerPC] Add intrinsic to read or set FPSCR register

This patch introduces two intrinsics: llvm.ppc.setflm and
llvm.ppc.readflm. They read from or write to FPSCR register
(floating-point status & control) which contains rounding mode and
exception status.

To ensure correctness of program, we need to prevent FP operations from
being moved across these intrinsics (mffs/mtfsf instruction), so here I
set them as scheduling boundaries. We can relax such restriction if
FPSCR is modeled well in the future.

Reviewed By: steven.zhang

Differential Revision: https://reviews.llvm.org/D84914
The file was modifiedllvm/lib/Target/PowerPC/PPCInstrInfo.td
The file was modifiedllvm/test/CodeGen/PowerPC/2008-10-28-f128-i32.ll
The file was addedllvm/test/CodeGen/PowerPC/read-set-flm.ll
The file was modifiedllvm/include/llvm/IR/IntrinsicsPowerPC.td
The file was modifiedllvm/lib/Target/PowerPC/PPCISelLowering.cpp
The file was modifiedllvm/lib/Target/PowerPC/PPCInstrInfo.h
The file was modifiedllvm/lib/Target/PowerPC/PPCInstrInfo.cpp
Commit a90c78ac52615d256142ecd64fbedabb612dc73f by ecaldas
[SyntaxTree] Implement the List construct.

We defined a List construct to help with the implementation of list-like
grammar rules. This is a first implementation of this API.

Differential Revision: https://reviews.llvm.org/D85295
The file was modifiedclang/lib/Tooling/Syntax/Nodes.cpp
The file was modifiedclang/include/clang/Tooling/Syntax/Tree.h
The file was modifiedclang/lib/Tooling/Syntax/Tree.cpp
The file was modifiedclang/include/clang/Tooling/Syntax/Nodes.h
Commit 54cb552b962097d0e3ef7306b69a3c82cc7fff37 by flo
[LoopInterchange] Form LCSSA phis for values in orig outer loop header.

Values defined in the outer loop header could be used in the inner loop
latch. In that case, we need to create LCSSA phis for them, because after
interchanging they will be defined in the new inner loop and used in the
new outer loop.
The file was modifiedllvm/test/Transforms/LoopInterchange/lcssa-preheader.ll
The file was modifiedllvm/lib/Transforms/Scalar/LoopInterchange.cpp
Commit 8393b9fd1f36d9273fa0720872e3996495aacc1c by flo
[LoopInterchange] Move instructions from preheader to outer loop header.

Instructions defined in the original inner loop preheader may depend on
values defined in the outer loop header, but the inner loop header will
become the entry block in the loop nest. Move the instructions from the
preheader to the outer loop header, so we do not break dominance. We
also have to check for unsafe instructions in the preheader. If there
are no unsafe instructions, all instructions should be movable.

Currently we move all instructions except the terminator and rely on
LICM to hoist out invariant instructions later.

Fixes PR45743
The file was modifiedllvm/test/Transforms/LoopInterchange/lcssa-preheader.ll
The file was addedllvm/test/Transforms/LoopInterchange/pr45743-move-from-inner-preheader.ll
The file was modifiedllvm/lib/Transforms/Scalar/LoopInterchange.cpp
Commit cb3a598c87db2db997401b82dfb3f7f80707194e by james.henderson
[DebugInfo] Don't error for zero-length arange entries

Although the DWARF specification states that .debug_aranges entries
can't have length zero, these can occur in the wild. There's no
particular reason to enforce this part of the spec, since functionally
they have no impact. The patch removes the error and introduces a new
warning for premature terminator entries which does not stop parsing.

Fixes https://bugs.llvm.org/show_bug.cgi?id=46805. See also
https://reviews.llvm.org/D71932 which originally introduced the error.

Reviewed by: ikudrin, dblaikie

Differential Revision: https://reviews.llvm.org/D85313
The file was modifiedllvm/lib/DebugInfo/DWARF/DWARFDebugAranges.cpp
The file was modifiedllvm/lib/DebugInfo/DWARF/DWARFContext.cpp
The file was modifiedllvm/lib/DebugInfo/DWARF/DWARFDebugArangeSet.cpp
The file was modifiedllvm/unittests/DebugInfo/DWARF/DWARFDebugArangeSetTest.cpp
The file was modifiedllvm/include/llvm/DebugInfo/DWARF/DWARFDebugArangeSet.h
Commit 3d2cf72943295d167062b54e663e2f5236df2c5d by hokein.wu
[clangd] Fix the background index is not disabled when using remote-index.

Differential Revision: https://reviews.llvm.org/D85637
The file was modifiedclang-tools-extra/clangd/tool/ClangdMain.cpp
Commit bebca662d4ff77a69f5f492dc7b14dcc5208840a by spatel
[InstCombine] rearrange code for readability; NFC

The code comment refers to the path where we change the
size of the integer type, so handle that first, otherwise
deal with the general case.
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
Commit dcb8d3b72234ea557df2af1141ad30bf1670a03a by platonov.aleksandr
[clang-tidy] Fix a crash in bugprone-not-null-terminated-result check when `__STDC_WANT_LIB_EXT1__` is not a literal.

If `__STDC_WANT_LIB_EXT1__` is not a literal (e.g. `#define __STDC_WANT_LIB_EXT1__ ((unsigned)1)`) bugprone-not-null-terminated-result check crashes.
Stack dump:
```
#0 0x0000000002185e6a llvm::sys::PrintStackTrace(llvm::raw_ostream&) (/llvm-project/build/bin/clang-tidy+0x2185e6a)
#1 0x0000000002183e8c llvm::sys::RunSignalHandlers() (/llvm-project/build/bin/clang-tidy+0x2183e8c)
#2 0x0000000002183ff3 SignalHandler(int) (/llvm-project/build/bin/clang-tidy+0x2183ff3)
#3 0x00007f08d91b1390 __restore_rt (/lib/x86_64-linux-gnu/libpthread.so.0+0x11390)
#4 0x00000000021338bb llvm::StringRef::getAsInteger(unsigned int, llvm::APInt&) const (/llvm-project/build/bin/clang-tidy+0x21338bb)
#5 0x000000000052051c clang::tidy::bugprone::NotNullTerminatedResultCheck::check(clang::ast_matchers::MatchFinder::MatchResult const&) (/llvm-project/build/bin/clang-tidy+0x52051c)
```

Reviewed By: hokein

Differential Revision: https://reviews.llvm.org/D85525
The file was addedclang-tools-extra/test/clang-tidy/checkers/bugprone-not-null-terminated-result-stdc-want-lib-ext1-not-a-literal.c
The file was modifiedclang-tools-extra/clang-tidy/bugprone/NotNullTerminatedResultCheck.cpp
Commit bc5d68dd8a17d2e9cc80481478f3d0c149df32e7 by thakis
Revert "[DebugInfo] Don't error for zero-length arange entries"

This reverts commit cb3a598c87db2db997401b82dfb3f7f80707194e.
Breaks build of check-llvm dep obj2yaml everywhere.
The file was modifiedllvm/lib/DebugInfo/DWARF/DWARFContext.cpp
The file was modifiedllvm/include/llvm/DebugInfo/DWARF/DWARFDebugArangeSet.h
The file was modifiedllvm/lib/DebugInfo/DWARF/DWARFDebugArangeSet.cpp
The file was modifiedllvm/lib/DebugInfo/DWARF/DWARFDebugAranges.cpp
The file was modifiedllvm/unittests/DebugInfo/DWARF/DWARFDebugArangeSetTest.cpp
Commit 3d5118b75c657c64251e191cd9686633b09170df by spatel
[InstCombine] auto-generate test checks; NFC
The file was modifiedllvm/test/Transforms/InstCombine/cast_ptr.ll
The file was modifiedllvm/include/llvm/IR/PatternMatch.h
Commit 9533f0ea68266b0c7c7ba2bed1d4ae410ce23f36 by Matthew.Arsenault
AMDGPU/GlobalISel: Use nicer form of buildInstr
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
Commit c8b17874e571d163637cfac57fd4c876ba242bef by Matthew.Arsenault
AMDGPU/GlobalISel: Fix typo
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
Commit a0ec81f70de2de5367f02e3c2a07e877c7ec7edb by Matthew.Arsenault
AMDGPU/GlobalISel: Merge load/store select cases
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.h
Commit 0bbf4bb8db29bd97ae54fe741baebc3062be60d9 by Matthew.Arsenault
GlobalISel: Remove redundant check for empty blocks
The file was modifiedllvm/lib/CodeGen/GlobalISel/Combiner.cpp
Commit f9c279b0574e8f98cd638170c99f29bd4dea4130 by Matthew.Arsenault
PeepholeOptimizer: Use Register
The file was modifiedllvm/lib/Target/X86/X86InstrInfo.h
The file was modifiedllvm/lib/CodeGen/PeepholeOptimizer.cpp
The file was modifiedllvm/include/llvm/CodeGen/TargetInstrInfo.h
The file was modifiedllvm/lib/Target/X86/X86InstrInfo.cpp
Commit 40188f807dc7e59a5d1db9cd5d59f234af2aa2d6 by Matthew.Arsenault
AMDGPU/GlobalISel: Don't try to handle undef source operand

This is now illegal MIR
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
Commit 5f104a809983aa3b90f75fb411a9c8472545d270 by jbcoe
[clang-format] Add space between method modifier and a tuple return type in C#

"public (string name, int age) methodTuple() {}" is now properly spaced

Patch by lukaszkrawczyk@google.com

Reviewed By: jbcoe, krasimir

Differential Revision: https://reviews.llvm.org/D85016
The file was modifiedclang/unittests/Format/FormatTestCSharp.cpp
The file was modifiedclang/lib/Format/TokenAnnotator.cpp
Commit e6dc2c8ce7dbc307c89f9ca5020087a6a6fb15d0 by llvm-dev
[X86][SSE] combineTargetShuffle - rearrange shuffle(hop,hop) matching to delay shuffle mask manipulation. NFC.

Check that we're shuffling hadd/pack ops first before altering shuffle masks.

First step towards adding extra functionality, plus it avoids costly shuffle mask manipulation if not necessary.
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
Commit 891ddfc6438028c954b20683b31890e553ac109c by llvm-dev
[X86][SSE] Add single undef element HADD test cases from PR34724
The file was modifiedllvm/test/CodeGen/X86/haddsub-undef.ll
Commit fdbd5996533dad25f00687f27ce8e7a8b7573ba3 by ecaldas
[SyntaxTree] Implement `NestedNameSpecifier` using the `List` base API
The file was modifiedclang/lib/Tooling/Syntax/Tree.cpp
The file was modifiedclang/include/clang/Tooling/Syntax/Nodes.h
The file was modifiedclang/lib/Tooling/Syntax/BuildTree.cpp
The file was modifiedclang/lib/Tooling/Syntax/Nodes.cpp
Commit ca05601cd2a1b75050538ef2e78de205f1300692 by james.henderson
[DebugInfo] Don't error for zero-length arange entries

Although the DWARF specification states that .debug_aranges entries
can't have length zero, these can occur in the wild. There's no
particular reason to enforce this part of the spec, since functionally
they have no impact. The patch removes the error and introduces a new
warning for premature terminator entries which does not stop parsing.

This is a relanding of cb3a598c87db, adding the missing obj2yaml part
that was needed.

Fixes https://bugs.llvm.org/show_bug.cgi?id=46805. See also
https://reviews.llvm.org/D71932 which originally introduced the error.

Reviewed by: ikudrin, dblaikie, Higuoxing

Differential Revision: https://reviews.llvm.org/D85313
The file was modifiedllvm/lib/DebugInfo/DWARF/DWARFContext.cpp
The file was modifiedllvm/lib/DebugInfo/DWARF/DWARFDebugArangeSet.cpp
The file was modifiedllvm/lib/DebugInfo/DWARF/DWARFDebugAranges.cpp
The file was modifiedllvm/tools/obj2yaml/dwarf2yaml.cpp
The file was modifiedllvm/test/tools/obj2yaml/ELF/DWARF/debug-aranges.yaml
The file was modifiedllvm/include/llvm/DebugInfo/DWARF/DWARFDebugArangeSet.h
The file was modifiedllvm/unittests/DebugInfo/DWARF/DWARFDebugArangeSetTest.cpp
Commit 4f9f4b21e07ba8137b40659ac5d3955586ce81bb by sam.parker
[ARM] Unrestrict Armv8-a IT when at minsize

IT blocks with more than one instruction were performance deprecated in Armv8
but that doesn't mean we should follow that advise when optimising for size.

Differential Revision: https://reviews.llvm.org/D85638
The file was modifiedllvm/lib/Target/ARM/ARMSubtarget.cpp
The file was modifiedllvm/test/CodeGen/ARM/ifcvt-size.mir
The file was modifiedllvm/lib/Target/ARM/ARMBaseInstrInfo.cpp
The file was modifiedllvm/test/CodeGen/ARM/codesize-ifcvt.mir
Commit 81883ca074556f9598a8a2f43ccfb81489baeb78 by stefanp
[PowerPC] Add option to control PCRel GOT indirect linker optimization

Add a hidden option to the compiler to control a the PC Relative GOT indirect
linker optimization.

If this option is set to false the compiler will no loger produce the
relocations required by the linker to perform the optimization.

Reviewed By: nemanjai, NeHuang, #powerpc

Differential Revision: https://reviews.llvm.org/D85377
The file was addedllvm/test/CodeGen/PowerPC/pcrel-linkeropt-option.ll
The file was modifiedllvm/lib/Target/PowerPC/PPCPreEmitPeephole.cpp
Commit 07e673a02bb163a70b2b5eff8231578646a20120 by llvm-dev
[X86][SSE] Pull out shuffle(hop,hop) combine into combineShuffleWithHorizOp helper. NFC.
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
Commit 6ef801aa6bc01fc49a8e83ddb217470b5e2337dd by Xiangling.Liao
[AIX] Static init frontend recovery and backend support

On the frontend side, this patch recovers AIX static init implementation to
use the linkage type and function names Clang chooses for sinit related function.

On the backend side, this patch sets correct linkage and function names on aliases
created for sinit/sterm functions.

Differential Revision: https://reviews.llvm.org/D84534
The file was modifiedllvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
The file was addedllvm/test/CodeGen/PowerPC/aix-static-init-key-object.ll
The file was addedclang/test/CodeGenCXX/aix-static-init-temp-spec-and-inline-var.cpp
The file was modifiedclang/unittests/CodeGen/IncrementalProcessingTest.cpp
The file was modifiedclang/lib/CodeGen/CGDeclCXX.cpp
The file was addedllvm/test/CodeGen/PowerPC/aix-static-init-default-priority.ll
The file was modifiedclang/test/CodeGenCXX/aix-static-init.cpp
The file was modifiedllvm/include/llvm/CodeGen/AsmPrinter.h
The file was modifiedllvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
The file was addedllvm/test/CodeGen/PowerPC/aix-static-init-no-unique-module-id.ll
The file was modifiedllvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
The file was addedllvm/test/CodeGen/PowerPC/aix-static-init-non-default-priority.ll
The file was modifiedclang/test/CodeGenCXX/aix-static-init-debug-info.cpp
The file was modifiedclang/lib/CodeGen/CodeGenModule.h
The file was modifiedclang/lib/CodeGen/ItaniumCXXABI.cpp
Commit b129c9d81aff8ece71eb29df1e5f31136a48c040 by shuhong.liu
Author: Shuhong Liu <shuhong.liu@ibm.com>
Date:   Mon Aug 10 10:31:50 2020 +0300

    [AIX][Clang][Driver] Generate reference to the C++ library on the link step

    Have the linker find libc++ on its search path by adding -lc++.

    Reviewed by: daltenty, hubert.reinterpretcast, stevewan

    Differential Revision: https://reviews.llvm.org/D85315
The file was modifiedclang/lib/Driver/ToolChains/AIX.h
The file was modifiedclang/lib/Driver/ToolChains/AIX.cpp
The file was modifiedclang/test/Driver/aix-ld.c
Commit 7866442b3f5d395e7f92a5d6b6ed0df3e4ba429b by jasonliu
[XCOFF] Adjust .rename emission sequence

Summary:
AIX assembler does not generate correct relocation when .rename
appear between tc entry label and .tc directive.
So only emit .rename after .tc/.comm or other linkage is emitted.

Reviewed By: daltenty, hubert.reinterpretcast

Differential Revision: https://reviews.llvm.org/D85317
The file was modifiedllvm/lib/MC/MCAsmStreamer.cpp
The file was modifiedllvm/test/CodeGen/PowerPC/aix-xcoff-symbol-rename.ll
The file was modifiedllvm/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.cpp
Commit c7b683c126b849dab5c81e7deecfc1e61f8563a0 by michael.hliao
[PGO][CUDA][HIP] Skip generating profile on the device stub and wrong-side functions.

- Skip generating profile data on `__global__` function in the host
  compilation. It's a host-side stub function only and don't have
  profile instrumentation generated on the real function body. The extra
  profile data results in the malformed instrumentation profile data.
- Skip generating region mapping on functions in the wrong-side, i.e.,
  + For the device compilation, skip host-only functions; and,
  + For the host compilation, skip device-only functions (including
    `__global__` functions.)
- As the device-side profiling is not ready yet, only host-side profile
  code generation is checked.

Differential Revision: https://reviews.llvm.org/D85276
The file was addedclang/test/CodeGenCUDA/profile-coverage-mapping.cu
The file was modifiedclang/lib/CodeGen/CodeGenPGO.cpp
Commit 90f721404ff84d904085687bcb58ae798b5d5209 by llvm-dev
[SLP] Regenerate load-merge.ll tests

Noticed this NFC change in D57779
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/load-merge.ll
Commit 9a368d2b0088a8b7209c4a435427dfe8ad62744f by llvm-dev
[X86][SSE] shuffle(hop,hop) - canonicalize unary hop(x,x) shuffle masks

If a shuffle is referring to both the lower and upper half lanes of an unary horizontal op, then canonicalize the mask to only refer to the lower half.
The file was modifiedllvm/test/CodeGen/X86/haddsub-undef.ll
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
Commit b34ec5969f1ad27f48ebc0d35a3fe37e810a8a32 by sbc
[lld][WebAssembly] Handle weakly referenced symbols when lazy (archive) version is see first

When a weak reference of a lazy symbol occurs we were not correctly
updating the lazy symbol.  We need to tag the existing lazy symbol
as weak and, in the case of a function symbol, give it a signature.

Without the signature we can't then create the dummy function which
is needed when an weakly undefined function is called.

We had tests for weakly referenced lazy symbols but we were only
tests in the case where the reference was seen before the lazy
symbol.

See: https://github.com/WebAssembly/wasi-libc/pull/214

Differential Revision: https://reviews.llvm.org/D85567
The file was modifiedlld/wasm/Symbols.h
The file was modifiedlld/test/wasm/archive-weak-undefined.ll
The file was modifiedlld/wasm/SymbolTable.cpp
The file was modifiedlld/wasm/Symbols.cpp
Commit 89a9db438f85c6d4c0f11ecd0448bb71e1deac24 by richard.barton
[flang] Version information in flang/f18

Fixed some version information in flang/f18:

  - fixed the behavior of the -v switch: this flag enables verbosity with used with arguments, but just displays the version when used alone (related to this bug: https://bugs.llvm.org/show_bug.cgi?id=46017)
- added __FLANG, __FLANG_MAJOR__, __FLANG_MINOR__ and __FLANG_PATCHLEVEL__ (similar to their __F18* counterparts) for compatibility purpose

Reviewed By: sscalpone, AlexisPerry, richard.barton.arm, tskeith

Differential Revision: https://reviews.llvm.org/D84334
The file was addedflang/tools/f18/f18_version.h.in
The file was modifiedflang/test/Driver/version_test.f90
The file was modifiedflang/tools/f18/f18.cpp
The file was addedflang/test/Preprocessing/compiler_defined_macros.F90
The file was modifiedflang/tools/f18/CMakeLists.txt
Commit 0b7f12521966e04bd60df3e7a5327556631d2057 by i
[llvm-symbolizer] Add back --version and add a -v alias

The switch from llvm::cl to OptTable (D83530) dropped --version, which
is needed by some users.

This patch also adds a -v alias, which is available in GNU addr2line.

The version dumping is similar to llvm-objcopy --version (exotic):

```
llvm-symbolizer
LLVM (http://llvm.org/):
  LLVM version 12.0.0git
  Optimized build with assertions.
  Default target: x86_64-unknown-linux-gnu
  Host CPU: skylake-avx512
```

Reviewed By: dyung, jhenderson

Differential Revision: https://reviews.llvm.org/D85624
The file was addedllvm/test/tools/llvm-symbolizer/version.test
The file was modifiedllvm/tools/llvm-symbolizer/Opts.td
The file was modifiedllvm/docs/CommandGuide/llvm-symbolizer.rst
The file was modifiedllvm/tools/llvm-symbolizer/llvm-symbolizer.cpp
Commit 7406eb4f6afd8df9bd4dbb918f5e7005ba71d58c by kparzysz
[Hexagon] Avoid creating an empty target feature

If the CPU string is empty, the target feature map may end up having
an empty string inserted to it. The symptom of the problem is a warning
message:
  '+' is not a recognized feature for this target (ignoring feature)
Also, the target-features attribute in the module will have an empty
string in it.
The file was modifiedclang/lib/Basic/Targets/Hexagon.cpp
The file was addedclang/test/CodeGen/hexagon-empty-cpu-feature.c
Commit f9500cc487573c55ea37b4ee6e9162d115753a48 by ecaldas
[SyntaxTree] Expand support for `NestedNameSpecifier`

Summary:
We want NestedNameSpecifier syntax nodes to be generally supported, not
only for `DeclRefExpr` and `DependentScopedDeclRefExpr`.

To achieve this we:
* Use the `RecursiveASTVisitor`'s API to traverse
`NestedNameSpecifierLoc`s and automatically create its syntax nodes
* Add links from the `NestedNameSpecifierLoc`s to their syntax nodes.

In this way, from any semantic construct that has a `NestedNameSpecifier`,
we implicitly generate its syntax node via RAV and we can easily access
this syntax node via the links we added.
The file was modifiedclang/unittests/Tooling/Syntax/TreeTest.cpp
The file was modifiedclang/include/clang/AST/NestedNameSpecifier.h
The file was modifiedclang/lib/Tooling/Syntax/BuildTree.cpp
Commit e2d61ae5733316a14783b36c84b8e7681b0e3d59 by adamcz
Correctly set CompilingPCH in PrecompilePreambleAction.

This fixes a crash bug in clangd when used with modules. ASTWriter would
end up writing references to submodules into the PCH file, but upon
reading the submodules would not exists and
HeaderFileInfoTrait::ReadData would crash.

Differential Revision: https://reviews.llvm.org/D85532
The file was modifiedclang/lib/Frontend/PrecompiledPreamble.cpp
The file was addedclang-tools-extra/clangd/unittests/ModulesTests.cpp
The file was modifiedclang/unittests/Frontend/ASTUnitTest.cpp
The file was modifiedclang-tools-extra/clangd/unittests/CMakeLists.txt
Commit 1042f079ee658df896766bbbb84126501aa56221 by llvmgnsyncbot
[gn build] Port e2d61ae5733
The file was modifiedllvm/utils/gn/secondary/clang-tools-extra/clangd/unittests/BUILD.gn
Commit 68330ee0a977926d2f2857c62420b7729f4e45d3 by thomasraoux
[mlir][vector] Relax transfer_read/transfer_write restriction on memref operand

Relax the verifier for transfer_read/transfer_write operation so that it can
take a memref with a different element type than the vector being read/written.

This is based on the discourse discussion:
https://llvm.discourse.group/t/memref-cast/1514

Differential Revision: https://reviews.llvm.org/D85244
The file was modifiedmlir/test/Dialect/Vector/ops.mlir
The file was modifiedmlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVM.cpp
The file was modifiedmlir/test/Dialect/Vector/invalid.mlir
The file was modifiedmlir/lib/Dialect/Vector/VectorOps.cpp
The file was modifiedmlir/test/Conversion/VectorToLLVM/vector-to-llvm.mlir
Commit 3b21a07fd7fd09618032db49f919cf917ef8afd7 by i
[PGO] Delete dead comdat renaming code related to GlobalAlias. NFC

A GlobalAlias is an address-taken user of its aliased function.
canRenameComdatFunc has excluded such cases.

Reviewed By: davidxl

Differential Revision: https://reviews.llvm.org/D85597
The file was modifiedllvm/lib/Transforms/Instrumentation/PGOInstrumentation.cpp
The file was modifiedllvm/test/Transforms/PGOProfile/comdat_rename.ll
Commit d5c81be3ca2504e32a99b57711ae101e02d810fa by mtrofin
[NFC][MLInliner] Set up the logger outside the development mode advisor

This allows us to subsequently configure the logger for the case when we
use a model evaluator and want to log additional outputs.

Differential Revision: https://reviews.llvm.org/D85577
The file was modifiedllvm/lib/Analysis/DevelopmentModeInlineAdvisor.cpp
Commit 211117b66029f974c059366003c236713adfcfcb by mtrofin
[NFC][MLInliner] remove curly braces for a few sinle-line loops
The file was modifiedllvm/lib/Analysis/DevelopmentModeInlineAdvisor.cpp
Commit b8ff0daeac0752689ffca9345686845d1b7cfed8 by Jonas Devlieghere
[lldb] Fix NSArray0 data formatter and add test

Fixes PR47089
The file was modifiedlldb/source/Plugins/Language/ObjC/NSArray.cpp
The file was modifiedlldb/test/API/functionalities/data-formatter/nsarraysynth/TestNSArraySynthetic.py
The file was modifiedlldb/test/API/functionalities/data-formatter/nsarraysynth/main.m
Commit 4061d9e42cff621462931ac7df9666806c77a237 by adamcz
[clangd] Fix crash-bug in preamble indexing when using modules.

Summary:
When preamble contains #undef, indexing code finds the matching #define
and uses that during indexing. However, it would only look for local
definitions. If the macro was defined in a module, MacroInfo
would be nullptr and clangd would crash.

This change makes clangd ignore any #undef without a matching #define
inside the same TU.

The indexing of macros happens for preamble only, so then #undef must be
in the preamble, which is why we need two .h files in a test.

Note that clangd is currently not ready for module support, but this
brings us one step closer.

Reviewers: sammccall

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

Tags: #clang

Differential Revision: https://reviews.llvm.org/D80525
The file was modifiedclang-tools-extra/clangd/unittests/TestTU.h
The file was modifiedclang/lib/Index/IndexingAction.cpp
The file was modifiedclang-tools-extra/clangd/unittests/SymbolCollectorTests.cpp
The file was modifiedclang-tools-extra/clangd/unittests/TestFS.h
The file was modifiedclang-tools-extra/clangd/unittests/TestTU.cpp
Commit a8fe40d9732721ed9a083cb917650f8f12b787b3 by thomasraoux
[mlir][spirv] Add OpGroupBroadcast

OpGroupBroadcast added to SPIRV dialect

Differential Revision: https://reviews.llvm.org/D85435
The file was modifiedmlir/test/Dialect/SPIRV/group-ops.mlir
The file was modifiedmlir/include/mlir/Dialect/SPIRV/SPIRVGroupOps.td
The file was modifiedmlir/lib/Dialect/SPIRV/SPIRVOps.cpp
The file was modifiedmlir/include/mlir/Dialect/SPIRV/SPIRVBase.td
The file was modifiedmlir/test/Dialect/SPIRV/Serialization/group-ops.mlir
Commit 3162c6aa4587d5161008d2b9729b5f2873b0fff9 by Jonas Devlieghere
[lldb] Skip TestSimulatorPlatform with out-of-tree debugserver
The file was modifiedlldb/test/API/macosx/simulator/TestSimulatorPlatform.py
Commit 13d05787d0d2dfdfd81939c2e5c41b6a913f5619 by jurahul
[MLIR][TableGen] Fix ambiguous build methods when inferring result types.

- Fix ODS framework to suppress build methods that infer result types and are
  ambiguous with collective variants. This applies to operations with a single variadic
  inputs whose result types can be inferred.
- Extended OpBuildGenTest to test these kinds of ops.

Differential Revision: https://reviews.llvm.org/D85060
The file was modifiedmlir/lib/TableGen/Operator.cpp
The file was modifiedmlir/test/mlir-tblgen/op-result.td
The file was modifiedmlir/include/mlir/TableGen/Operator.h
The file was modifiedmlir/test/lib/Dialect/Test/TestOps.td
The file was modifiedmlir/unittests/TableGen/OpBuildGen.cpp
The file was modifiedmlir/tools/mlir-tblgen/OpDefinitionsGen.cpp
Commit e912fffd3a8c6c9f6e09d2eac4c1ee3a32800a22 by Alexander.Richardson
[ELF] Avoid creating a 2.1GB output file in arm-exidx-range.s

Currently both sections will be placed in the same PT_LOAD and therefore
lld generates a contiguous output file containing both sections.
By using AT(0xffff0000) the .vectors is placed a separate PT_LOAD and the
resulting file is now only a few kilobytes.

Reviewed By: psmith

Differential Revision: https://reviews.llvm.org/D85661
The file was modifiedlld/test/ELF/arm-exidx-range.s
Commit 582fd474ddc0318ca23ade8e22de20df85c492cc by aardappel
[WebAssembly] wasm64: fix memory.init operand types

I had assumed they would all become in i64, but this is not necessary as long as data segments stay 32-bit, see:
https://github.com/WebAssembly/memory64/blob/master/proposals/memory64/Overview.md

Differential Revision: https://reviews.llvm.org/D85552
The file was modifiedlld/wasm/OutputSections.cpp
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyInstrBulkMemory.td
The file was modifiedlld/wasm/SymbolTable.h
The file was modifiedlld/wasm/OutputSegment.h
The file was modifiedlld/wasm/SymbolTable.cpp
The file was modifiedlld/wasm/Writer.cpp
The file was modifiedlld/wasm/InputChunks.cpp
Commit 70d583ad12872ef8714b15f1d1e982f1db6d9a15 by zeratul976
[clangd] Have template template arguments target their referenced template decl

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

Differential Revision: https://reviews.llvm.org/D85503
The file was modifiedclang-tools-extra/clangd/Selection.cpp
The file was modifiedclang-tools-extra/clangd/unittests/SelectionTests.cpp
The file was modifiedclang-tools-extra/clangd/unittests/FindTargetTests.cpp
The file was modifiedclang-tools-extra/clangd/FindTarget.cpp
Commit 0d4b7adb8220f68f5eca08bb53d8af0b0d139c5d by csigg
[MLIR] Make gpu.launch_func rewrite pattern part of the LLVM lowering pass.

Reviewed By: herhut

Differential Revision: https://reviews.llvm.org/D85073
The file was modifiedmlir/tools/mlir-rocm-runner/mlir-rocm-runner.cpp
The file was modifiedmlir/include/mlir/Conversion/GPUCommon/GPUCommonPass.h
The file was modifiedmlir/tools/mlir-cuda-runner/mlir-cuda-runner.cpp
The file was modifiedmlir/include/mlir/Conversion/Passes.td
The file was modifiedmlir/lib/Conversion/GPUCommon/ConvertLaunchFuncToRuntimeCalls.cpp
The file was modifiedmlir/test/Conversion/GPUCommon/lower-launch-func-to-gpu-runtime-calls.mlir
Commit 96dfc783b2bf2eca9b01c6b2161a375cc3ea704d by craig.topper
[BreakFalseDeps][X86] Move operand loop out of X86's getUndefRegClearance and put in the pass.

X86 is the only user of this interface in tree. Previously the
X86 pass would loop over operands looking for one undef operand for
the pass to fix. But there could theoretically be multiple operands
to fix. So it makes more sense for the pass to do the looping and
ask the target if an operand needs to be fixed.
The file was modifiedllvm/lib/CodeGen/BreakFalseDeps.cpp
The file was modifiedllvm/lib/Target/X86/X86InstrInfo.h
The file was modifiedllvm/lib/Target/X86/X86InstrInfo.cpp
The file was modifiedllvm/include/llvm/CodeGen/TargetInstrInfo.h
Commit a3036b386383f1c1e9d32c2c8dba995087959da3 by alexandre.ganea
Re-Re-land: [CodeView] Add full repro to LF_BUILDINFO record

This patch adds the missing information to the LF_BUILDINFO record, which allows for rebuilding a .CPP without any external dependency but the .OBJ itself (other than the compiler).

Some external tools that we are using (Recode, Live++) are extracting the information to reproduce a build without any knowledge of the build system. The LF_BUILDINFO stores a full path to the compiler, the PWD (CWD at program startup), a relative or absolute path to the TU, and the full CC1 command line. The command line needs to be freestanding (not depend on any environment variables). In the same way, MSVC doesn't store the provided command-line, but an expanded version (somehow their equivalent of CC1) which is also freestanding.

For more information see PR36198 and D43002.

Differential Revision: https://reviews.llvm.org/D80833
The file was addedlld/test/COFF/pdb-relative-source-lines2.test
The file was modifiedclang/cmake/caches/BaremetalARM.cmake
The file was modifiedlld/test/COFF/Inputs/pdb_lines_2_relative.yaml
The file was modifiedllvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp
The file was modifiedllvm/test/DebugInfo/COFF/build-info.ll
The file was modifiedlld/COFF/PDB.cpp
The file was modifiedclang/test/CMakeLists.txt
The file was modifiedlld/test/COFF/pdb-relative-source-lines.test
The file was modifiedllvm/test/DebugInfo/COFF/global-type-hashes.ll
The file was modifiedllvm/test/DebugInfo/COFF/types-data-members.ll
The file was modifiedclang/cmake/caches/Fuchsia-stage2.cmake
The file was modifiedllvm/test/DebugInfo/COFF/types-basic.ll
The file was modifiedclang/cmake/caches/CrossWinToARMLinux.cmake
The file was addedclang/test/CodeGen/debug-info-codeview-buildinfo.c
The file was modifiedlld/test/COFF/Inputs/pdb_lines_1_relative.yaml
Commit 68fab44acfc7ce7fecd86ad784fb207f088c5366 by Matthew.Arsenault
AMDGPU: Fix visiting physreg dest users when folding immediate copies

This can fold the immediate into the physical destination, but this
should not look for further users of the register. Fixes regression
introduced by 766cb615a3b96025192707f4670cdf171da84034.
The file was addedllvm/test/CodeGen/AMDGPU/visit-physreg-vgpr-imm-folding-bug.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/fold-imm-copy.mir
The file was modifiedllvm/lib/Target/AMDGPU/SIFoldOperands.cpp
Commit 6fe6b29c294e8ad7eb9842e2a5e9b6334ecf9483 by Matthew.Arsenault
AMDGPU: Fix assertion in performSHLPtrCombine for 64-bit pointers
The file was addedllvm/test/CodeGen/AMDGPU/shl_add_ptr_global.ll
The file was modifiedllvm/lib/Target/AMDGPU/SIISelLowering.cpp
Commit e3820570d406f56a25eee681df03a394882febb0 by Raphael Isemann
[lldb] tab completion for `platform target-install`

1. Applied the common completion `eDiskFileCompletion` to the first argument of
the command `platform target-install`.
2. Added a related test case.

Reviewed By: teemperor

Differential Revision: https://reviews.llvm.org/D84179
The file was modifiedlldb/test/API/functionalities/completion/TestCompletion.py
The file was modifiedlldb/source/Commands/CommandObjectPlatform.cpp
Commit 189c0833dfd654f08a8655ca765e11e8890a92ae by pklausler
[flang] Fix edge case with Hollerith

To prevent mistokenization of CHARACTER*2HXY as a Hollerith
literal constant while allowing it in DATA A/2*2HXY/, there's
a little state that tracks whether a / has been seen earlier
in the same statement.  But it was being reset on each line,
not statement, so Hollerith in a DATA statement continuation
line was incorrectly tokenized.  Fixed.

Differential Revision: https://reviews.llvm.org/D85571
The file was modifiedflang/lib/Parser/prescan.cpp
The file was addedflang/test/Preprocessing/hollerith.f
The file was modifiedflang/lib/Parser/prescan.h
Commit 7f5928ef5a5743ee7e65c6c9d1e1c9bc6af03063 by tkeith
[flang] Avoid cascading error in subscript triplet

If a bound of a subscript triplet is present but fails to analyze
due to an error, return nullopt rather than returning a Triplet with
that bound missing. This is so we can distinguish an absent bound from
an erroneous one and avoid spurious errors.

Differential Revision: https://reviews.llvm.org/D85672
The file was modifiedflang/lib/Semantics/expression.cpp
The file was modifiedflang/test/Semantics/assign04.f90
Commit 08803f0e62e82539756b94e2655dabdbdab39014 by Stanislav.Mekhanoshin
Unbundle KILL bundles in VirtRegRewriter

SplitKit forms invalid COPY subreg bundles without a leading
BUNDLE instruction. That manifests itself in post-RA scheduler
counting instruction and asserting on "Instruction count mismatch".

The bundle shall be undone by VirtRegRewriter::expandCopyBundle(),
but it does not because VirtRegRewriter::handleIdentityCopy() can
turn COPY bundle into a KILL bundle.

Process KILLs as well.

Differential Revision: https://reviews.llvm.org/D85484
The file was modifiedllvm/lib/CodeGen/VirtRegMap.cpp
The file was addedllvm/test/CodeGen/AMDGPU/splitkit-copy-bundle.mir
Commit ab6a517ea41e1cb63856cce6f7fa4a196ffca368 by paul.walker
Fix "CHECK-LABEL: @" typos in llvm/test/CodeGen/AArch64/sve-fixed-length-*.ll
The file was modifiedllvm/test/CodeGen/AArch64/sve-fixed-length-int-log.ll
The file was modifiedllvm/test/CodeGen/AArch64/sve-fixed-length-fp-arith.ll
The file was modifiedllvm/test/CodeGen/AArch64/sve-fixed-length-int-arith.ll
Commit c0b5000bd848303320c03f80fbf84d71e74518c9 by guiand
[MSAN RT] Use __sanitizer::mem_is_zero in __msan_test_shadow

The former function is particularly optimized for exactly the
use case we're interested in: an all-zero buffer.

This reduces the overhead of calling this function some 80% or
more. This is particularly for instrumenting code heavy with
string processing functions, like grep. An invocation of grep
with the pattern '[aeiou]k[aeiou]' has its runtime reduced by
~75% with this patch

Differential Revision: https://reviews.llvm.org/D84961
The file was modifiedcompiler-rt/lib/msan/msan.cpp
Commit 514445e0353e82fa0bd59eeea437499500e232cd by tlively
[WebAssembly][ConstantFolding] Fold fp-to-int truncation intrinsics

Constant fold both the trapping and saturating versions of the
WebAssembly truncation intrinsics. The tests are adapted from the
WebAssembly spec tests for the corresponding instructions.

Requested in PR46982.

Differential Revision: https://reviews.llvm.org/D85392
The file was addedllvm/test/Analysis/ConstantFolding/WebAssembly/trunc.ll
The file was addedllvm/test/Analysis/ConstantFolding/WebAssembly/trunc_saturate.ll
The file was modifiedllvm/lib/Analysis/ConstantFolding.cpp
Commit 4cd8e9b169f4dc5dde19807585c86f6d6113d3ff by wmi
[SampleFDO] Stop letting findCalleeFunctionSamples return unrelated profiles
for invoke instructions.

We see a warning of "No debug information found in function foo: Function
profile not used" in a case. The function foo is called by an invoke
instruction. It has no debug information because it has attribute((nodebug))
in the definition. It shouldn't have profile instance in the sample profile
but compiler thinks it does, that turns out to be a compiler bug in
findCalleeFunctionSamples. The bug is exposed when sample-profile-merge-inlinee
is enabled recently.

Currently in findCalleeFunctionSamples, CalleeName is unset and is empty for
invoke instruction. For empty CalleeName, findFunctionSamplesAt will treat
the call as an indirect call and will return any inline instance profile at
the same location as the instruction. That leads to a wrong profile being
returned to function foo.

The patch set CalleeName when the instruction is an invoke.

Differential Revision: https://reviews.llvm.org/D85664
The file was modifiedllvm/lib/Transforms/IPO/SampleProfile.cpp
The file was addedllvm/test/Transforms/SampleProfile/nodebug-error.ll
Commit 7bc03f55539f7f081daea5363f2e4845b2e75f57 by puyan
[MachineOutliner][AArch64] WA for multiple stack fixup cases in MachineOutliner.

In cases where MachineOutliner candidates either are:

  * noreturn
  * have calls with no available LR or free regs
  * Don't use SP

we can end up hitting stack fixup code for the caller and the callee for
a FrameID of MachineOutlinerDefault. This triggers the assert:

  `assert(OF.FrameConstructionID != MachineOutlinerDefault &&
          "Can only fix up stack references once");`

in AArch64InstrInfo.cpp. This assert exists for now because a lot of the
fixup code is not tested to handle fixing up more than once and needs
some better checks and enhancements to avoid potentially generating
illegal code.

I've filed a Bugzilla report to track this until these cases are handled
by the AArch64 MachineOutliner: https://bugs.llvm.org/show_bug.cgi?id=46767

This diff detects cases that will cause these multiple stack fixups and
prune the Candidates from `RepeatedSequenceLocs`.

    Differential Revision: https://reviews.llvm.org/D83923
The file was addedllvm/test/CodeGen/AArch64/machine-outliner-no-noreturn-no-stack.mir
The file was addedllvm/test/CodeGen/AArch64/machine-outliner-2fixup-blr-terminator.mir
The file was modifiedllvm/lib/Target/AArch64/AArch64InstrInfo.cpp
The file was addedllvm/test/CodeGen/AArch64/machine-outliner-noreturn-no-stack.mir
Commit 20abff0481d598c850d2690083f90700fc8c9603 by jasonliu
[XCOFF][AIX] Use TE storage mapping class when large code model is enabled

Summary:
Use TE SMC instead of TC SMC in large code model mode,
so that large code model TOC entries could get placed after all
the small code model TOC entries, which reduces the chance of TOC overflow.

Reviewed By: Xiangling_L

Differential Revision: https://reviews.llvm.org/D85455
The file was modifiedllvm/lib/MC/MCSectionXCOFF.cpp
The file was modifiedllvm/test/CodeGen/PowerPC/aix-lower-jump-table.ll
The file was modifiedllvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
The file was modifiedllvm/test/CodeGen/PowerPC/lower-globaladdr32-aix-asm.ll
The file was modifiedllvm/include/llvm/Target/TargetLoweringObjectFile.h
The file was modifiedllvm/test/CodeGen/PowerPC/aix-lower-constant-pool-index.ll
The file was modifiedllvm/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.cpp
The file was modifiedllvm/test/CodeGen/PowerPC/lower-globaladdr64-aix-asm.ll
The file was modifiedllvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
The file was modifiedllvm/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h
The file was modifiedllvm/test/CodeGen/PowerPC/aix-lower-block-address.ll
Commit a680ea2c720751a3d724fd8282515924acb3bd32 by alexandre.ganea
Fix "last accessed time" test failing on Windows

Before this patch, the tests in llvm/test/tools/llvm-objcopy/ELF/strip-preserve-atime.test used to fail on my machine, because the "last accessed time" is disabled in the OS by default since Windows XP. One needs to explicitly enable it for the feature to work. Otherwise the last access time is the last write time. Please see: https://superuser.com/questions/251263/the-last-access-date-is-not-changed-even-after-reading-the-file-on-windows-7

    Differential Revision: https://reviews.llvm.org/D85669
The file was modifiedllvm/test/tools/llvm-objcopy/ELF/strip-preserve-atime.test
Commit 50dd75c8e0b81815c6da209d5a3dd7bf899d1262 by daltenty
[AIX] Try to not use LLVM tools while building runtimes

Since 64-bit XCOFF and the big AR format is not yet supported in some of these tools, this patch avoids additional setup of these tools. This patch is not intended to prevent picking up the LLVM tools if they happen to be available otherwise.

Reviewed By: hubert.reinterpretcast

Differential Revision: https://reviews.llvm.org/D85329
The file was modifiedllvm/runtimes/CMakeLists.txt
Commit 566a66703f020996d07191323ae8ad6f7ad827b3 by nikita.ppv
[InstSimplify] Add test for expand binop undef issue (NFC)

Add test case from https://reviews.llvm.org/D83360#2146539.
The file was modifiedllvm/test/Transforms/InstSimplify/select.ll
Commit 2c48e3629cfb25ac1034117fa8945fd0d342f2ae by csigg
[MLIR] Adding gpu.host_register op and lower it to a runtime call.

Reviewed By: herhut

Differential Revision: https://reviews.llvm.org/D85631
The file was modifiedmlir/test/mlir-cuda-runner/all-reduce-xor.mlir
The file was modifiedmlir/lib/Conversion/StandardToLLVM/StandardToLLVM.cpp
The file was modifiedmlir/test/mlir-cuda-runner/all-reduce-max.mlir
The file was modifiedmlir/test/mlir-cuda-runner/all-reduce-region.mlir
The file was modifiedmlir/tools/mlir-cuda-runner/cuda-runtime-wrappers.cpp
The file was modifiedmlir/test/mlir-cuda-runner/shuffle.mlir
The file was modifiedmlir/include/mlir/Conversion/StandardToLLVM/ConvertStandardToLLVM.h
The file was modifiedmlir/lib/Conversion/GPUCommon/ConvertLaunchFuncToRuntimeCalls.cpp
The file was modifiedmlir/test/mlir-cuda-runner/all-reduce-op.mlir
The file was modifiedmlir/test/mlir-rocm-runner/two-modules.mlir
The file was modifiedmlir/test/mlir-cuda-runner/all-reduce-and.mlir
The file was modifiedmlir/test/mlir-rocm-runner/gpu-to-hsaco.mlir
The file was modifiedmlir/include/mlir/Dialect/GPU/GPUOps.td
The file was modifiedmlir/test/mlir-cuda-runner/multiple-all-reduce.mlir
The file was modifiedmlir/test/mlir-cuda-runner/all-reduce-min.mlir
The file was modifiedmlir/test/mlir-cuda-runner/two-modules.mlir
The file was modifiedmlir/test/mlir-rocm-runner/vecadd.mlir
The file was modifiedmlir/test/mlir-rocm-runner/vector-transferops.mlir
The file was modifiedmlir/tools/mlir-rocm-runner/rocm-runtime-wrappers.cpp
The file was modifiedmlir/test/mlir-cuda-runner/all-reduce-or.mlir
The file was modifiedmlir/test/mlir-cuda-runner/gpu-to-cubin.mlir
Commit 62223ff1376b540dc9612239fdfb11b376d796d3 by Dávid Bolvanský
[Diagnostics] Avoid false positives with -Wstring-concatenation
The file was modifiedclang/test/Sema/string-concat.c
The file was modifiedclang/lib/Sema/SemaExpr.cpp
Commit 9c8ae40860311e94de0a898101818f706228e958 by tra
[ARM] Speed up arm-cortex-cpus.c test

Trailing wildcard regex searches greedily continue searching through the whole
input and make the test unnecessarily slow.

Using equivalent plain text partial match speeds up the test execution time from
~35s to ~12s.

Differential Revision: https://reviews.llvm.org/D85575
The file was modifiedclang/test/Driver/arm-cortex-cpus.c
Commit b2c9b631bb48087c988d798adc5465499b155a9a by Dávid Bolvanský
[Diagnostics] Move -Wstring-concatenation to -Wextra
The file was modifiedclang/include/clang/Basic/DiagnosticGroups.td
The file was modifiedclang/include/clang/Basic/DiagnosticSemaKinds.td
The file was modifiedclang/test/Sema/string-concat.c
The file was modifiedclang/lib/Sema/SemaExpr.cpp
Commit aae349e2760e5e5986b34ca5ca9f2672377c41bf by aeubanks
[InstSimplify][test] Remove unused parameter in vscale.ll

Reviewed By: huihuiz

Differential Revision: https://reviews.llvm.org/D85688
The file was modifiedllvm/test/Transforms/InstSimplify/vscale.ll
Commit 41d4120017f99386a62a9c0aac25fd2a369d0e02 by ravishankarm
[mlir][Linalg] Allow distribution `scf.parallel` loops generated in
Linalg to processors.

This changes adds infrastructure to distribute the loops generated in
Linalg to processors at the time of generation. This addresses use
case where the instantiation of loop is done just to distribute
them. The option to distribute is added to TilingOptions for now and
will allow specifying the distribution as a transformation option,
just like tiling and promotion are specified as options.

Differential Revision: https://reviews.llvm.org/D85147
The file was modifiedmlir/include/mlir/Dialect/Linalg/Utils/Utils.h
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Tiling.cpp
The file was modifiedmlir/lib/Dialect/Linalg/Utils/Utils.cpp
The file was addedmlir/test/Dialect/Linalg/tile-and-distribute.mlir
The file was modifiedmlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h
The file was modifiedmlir/test/lib/Transforms/TestLinalgTransforms.cpp
Commit 4f2ad15db535873dda9bfe248a2771023b64a43c by ndesaulniers
[Clang] implement -fno-eliminate-unused-debug-types

Fixes pr/11710.
Signed-off-by: Nick Desaulniers <ndesaulniers@google.com>

Resubmit after breaking Windows and OSX builds.

Reviewed By: dblaikie

Differential Revision: https://reviews.llvm.org/D80242
The file was modifiedclang/lib/CodeGen/CGDebugInfo.cpp
The file was modifiedclang/lib/Frontend/CompilerInvocation.cpp
The file was modifiedclang/lib/CodeGen/CGDebugInfo.h
The file was modifiedclang/include/clang/Basic/CodeGenOptions.def
The file was modifiedclang/include/clang/Driver/Options.td
The file was modifiedclang/lib/Driver/ToolChains/Clang.cpp
The file was modifiedclang/docs/CommandGuide/clang.rst
The file was modifiedclang/include/clang/Basic/CodeGenOptions.h
The file was modifiedclang/lib/CodeGen/CGDecl.cpp
The file was addedclang/test/CodeGen/debug-info-unused-types.cpp
The file was modifiedclang/docs/ClangCommandLineReference.rst
The file was modifiedclang/docs/UsersManual.rst
The file was modifiedclang/test/Driver/debug-options.c
The file was modifiedclang/include/clang/Basic/DebugInfoOptions.h
The file was modifiedclang/lib/CodeGen/CodeGenModule.cpp
The file was addedclang/test/CodeGen/debug-info-unused-types.c
Commit fa5d22a045de543b4df9eb5edfb8d70ce43bd13a by johannes
[OpenMP][NFC] Reuse OMPIRBuilder `struct ident_t` handling in Clang

Replace the `ident_t` handling in Clang with the methods offered by the
OMPIRBuilder. This cuts down on the clang code as well as the
differences between the two, making further transitions easier. Tests
have changed but there should not be a real functional change. The most
interesting difference is probably that we stop generating local ident_t
allocations for now and just use globals. Given that this happens only
with debug info, the location part of the `ident_t` is probably bigger
than the test anyway. As the location part is already a global, we can
avoid the allocation, memcpy, and store in favor of a constant global
that is slightly bigger. This can be revisited if there are
complications.

Reviewed By: ABataev

Differential Revision: https://reviews.llvm.org/D80735
The file was modifiedllvm/lib/IR/IRBuilder.cpp
The file was modifiedllvm/test/Transforms/OpenMP/deduplication.ll
The file was modifiedllvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
The file was modifiedclang/test/OpenMP/single_firstprivate_codegen.cpp
The file was modifiedclang/test/OpenMP/taskloop_in_reduction_codegen.cpp
The file was modifiedclang/test/OpenMP/distribute_codegen.cpp
The file was modifiedclang/test/OpenMP/parallel_codegen.cpp
The file was modifiedclang/test/OpenMP/parallel_master_taskloop_reduction_codegen.cpp
The file was modifiedclang/test/OpenMP/for_lastprivate_codegen.cpp
The file was modifiedllvm/include/llvm/IR/IRBuilder.h
The file was modifiedclang/test/OpenMP/sections_reduction_codegen.cpp
The file was modifiedclang/test/OpenMP/sections_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_parallel_for_proc_bind_codegen.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_simd_proc_bind_codegen.cpp
The file was modifiedclang/lib/CodeGen/CGOpenMPRuntime.cpp
The file was modifiedclang/test/OpenMP/target_teams_num_teams_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_codegen.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_proc_bind_codegen.cpp
The file was modifiedclang/test/OpenMP/for_linear_codegen.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_simd_num_threads_codegen.cpp
The file was modifiedclang/test/OpenMP/parallel_reduction_codegen.cpp
The file was modifiedclang/test/OpenMP/target_parallel_depend_codegen.cpp
The file was modifiedclang/test/OpenMP/parallel_copyin_codegen.cpp
The file was modifiedclang/test/OpenMP/distribute_parallel_for_num_threads_codegen.cpp
The file was modifiedclang/test/OpenMP/taskloop_simd_in_reduction_codegen.cpp
The file was modifiedclang/test/OpenMP/for_firstprivate_codegen.cpp
The file was modifiedclang/test/OpenMP/openmp_win_codegen.cpp
The file was modifiedclang/test/OpenMP/parallel_for_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_parallel_for_simd_proc_bind_codegen.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_num_threads_codegen.cpp
The file was modifiedclang/test/OpenMP/distribute_parallel_for_simd_proc_bind_codegen.cpp
The file was modifiedclang/test/OpenMP/ordered_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_simd_codegen.cpp
The file was modifiedllvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
The file was modifiedclang/test/OpenMP/master_taskloop_in_reduction_codegen.cpp
The file was modifiedclang/test/OpenMP/parallel_master_codegen.cpp
The file was modifiedclang/test/OpenMP/single_codegen.cpp
The file was modifiedclang/test/OpenMP/for_reduction_codegen.cpp
The file was modifiedclang/test/OpenMP/for_reduction_codegen_UDR.cpp
The file was modifiedclang/test/OpenMP/target_parallel_for_simd_codegen.cpp
The file was modifiedclang/test/OpenMP/distribute_parallel_for_proc_bind_codegen.cpp
The file was modifiedclang/test/OpenMP/taskloop_reduction_codegen.cpp
The file was modifiedclang/test/OpenMP/taskloop_simd_reduction_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_thread_limit_codegen.cpp
The file was modifiedclang/test/OpenMP/sections_firstprivate_codegen.cpp
The file was modifiedclang/test/OpenMP/target_depend_codegen.cpp
The file was modifiedclang/test/OpenMP/teams_codegen.cpp
The file was modifiedclang/test/OpenMP/target_parallel_num_threads_codegen.cpp
The file was modifiedclang/test/OpenMP/sections_lastprivate_codegen.cpp
The file was modifiedclang/test/OpenMP/target_parallel_for_codegen.cpp
The file was modifiedclang/test/OpenMP/target_parallel_if_codegen.cpp
The file was modifiedclang/test/OpenMP/task_in_reduction_codegen.cpp
The file was modifiedclang/test/OpenMP/parallel_master_taskloop_simd_reduction_codegen.cpp
The file was modifiedclang/test/OpenMP/master_taskloop_reduction_codegen.cpp
The file was modifiedclang/test/OpenMP/target_parallel_codegen.cpp
The file was modifiedclang/test/OpenMP/target_simd_depend_codegen.cpp
The file was modifiedclang/test/OpenMP/master_taskloop_simd_in_reduction_codegen.cpp
The file was modifiedclang/test/OpenMP/threadprivate_codegen.cpp
The file was modifiedclang/test/OpenMP/distribute_simd_codegen.cpp
The file was modifiedclang/test/OpenMP/for_codegen.cpp
The file was modifiedclang/lib/CodeGen/CGOpenMPRuntime.h
The file was modifiedclang/test/OpenMP/master_taskloop_simd_reduction_codegen.cpp
The file was modifiedclang/test/OpenMP/parallel_proc_bind_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_codegen.cpp
The file was modifiedclang/test/OpenMP/distribute_parallel_for_simd_num_threads_codegen.cpp
The file was modifiedclang/test/OpenMP/parallel_num_threads_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_depend_codegen.cpp
Commit 05d74dbc3bb1d943a029e4abea211288c920f559 by ndesaulniers
python bindings: fix DeprecationWarning

Fixes observed warning running `ninja check-all`:
llvm-project/clang/bindings/python/tests/cindex/test_diagnostics.py:100:
DeprecationWarning: Please use assertRegex instead.
  self.assertRegexpMatches(children[0].spelling

Looks like unittest.assertRegexpMatches has been deprecated in favor of
unittest.assertRegex since Python 3.2, according to:
https://docs.python.org/3/library/unittest.html#deprecated-aliases

Reviewed By: MaskRay

Differential Revision: https://reviews.llvm.org/D85692
The file was modifiedclang/bindings/python/tests/cindex/test_diagnostics.py
Commit 0de60b550b727fa3a0202a9ab5ca30520e291dd5 by thomasraoux
[mlir] Fix mlir build break due to warning when NDEBUG is not set
The file was modifiedmlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVM.cpp
Commit 4b59dc77dc473bba849c1b08f3a1ab7be5733ad1 by Dávid Bolvanský
[Diagnostics] Ignore structs and long text for -Wstring-concatenation
The file was modifiedclang/test/Sema/string-concat.c
The file was modifiedclang/lib/Sema/SemaExpr.cpp
Commit 09517a90682f05f13dca7d976aeaa5437beeb8f3 by richard
Add regression test from PR46487.

The underlying crash here has already been fixed, presumably by ongoing
work on error recovery.
The file was modifiedclang/test/SemaCXX/typo-correction.cpp
Commit fb04d7b4a69831f6b999b1776da738557b108e0d by Yaxun.Liu
[CUDA][HIP] Do not externalize implicit constant static variable

Differential Revision: https://reviews.llvm.org/D85686
The file was modifiedclang/lib/AST/ASTContext.cpp
The file was modifiedclang/test/CodeGenCUDA/static-device-var-no-rdc.cu
The file was modifiedclang/lib/Sema/SemaExpr.cpp
The file was modifiedclang/include/clang/AST/ASTContext.h
Commit 0fd3d379e26da3cb02b6d960198e2efbc5190650 by richard
Improve diagnostic for an expression that's not constant because it uses
the address of a constexpr local variable.

Suggest adding 'static' to give the constexpr local variable a constant
address.
The file was modifiedclang/include/clang/Basic/DiagnosticASTKinds.td
The file was modifiedclang/test/SemaCXX/constant-expression-cxx11.cpp
The file was modifiedclang/test/SemaCXX/builtins.cpp
The file was modifiedclang/lib/AST/ExprConstant.cpp
Commit 6fd30f0669a2dd9af7b87325e30ec1af79b86f28 by Lang Hames
[llvm-jitlink] Update llvm-jitlink to use TargetProcessControl.
The file was modifiedllvm/lib/ExecutionEngine/Orc/TargetProcessControl.cpp
The file was modifiedllvm/include/llvm/ExecutionEngine/Orc/TargetProcessControl.h
The file was modifiedllvm/tools/llvm-jitlink/llvm-jitlink.cpp
The file was modifiedllvm/tools/llvm-jitlink/llvm-jitlink.h
Commit d04f3e028d3287e43d4b84efcc33c2816ac9d3d6 by Yuanfang Chen
[CodeGen] Make MMI immutable NPM pass
The file was modifiedllvm/include/llvm/CodeGen/MachineModuleInfo.h
Commit ed66df6705a9dffc36fecc3468cc3ab430849182 by conanap
test commit
The file was modifiedclang/test/CodeGen/builtins-ppc-p10vector.c
Commit 48cd6b8ca54edaa4682153874301df216747fc2d by hubert.reinterpretcast
Revert "[AIX] Try to not use LLVM tools while building runtimes"

This reverts commit 50dd75c8e0b81815c6da209d5a3dd7bf899d1262.
@phosek reports a build break.
The file was modifiedllvm/runtimes/CMakeLists.txt
Commit a379f2c251d0dbe3b191888fcd9c3d1eb42a980b by jezng
[lld-macho] Handle command-line option -sectcreate SEG SECT FILE

Handle command-line option `-sectcreate SEG SECT FILE`, which inputs a binary blob from `FILE` into `SEG,SECT`

Reviewed By: int3

Differential Revision: https://reviews.llvm.org/D85501
The file was modifiedlld/MachO/InputFiles.h
The file was modifiedlld/MachO/Options.td
The file was addedlld/test/MachO/sectcreate.s
The file was modifiedlld/MachO/Driver.cpp
The file was modifiedlld/MachO/InputFiles.cpp
Commit 49fb1c2e901848c31ff1ea1caaf34cd51b85c5a3 by jezng
[lld-macho] improve handling of -platform_version

This improves the handling of `-platform_version` by addressing the FIXME in the code to process the arguments.

Reviewed By: int3, #lld-macho

Differential Revision: https://reviews.llvm.org/D81413
The file was removedlld/test/MachO/platform-version.test
The file was modifiedlld/MachO/Driver.cpp
The file was addedlld/test/MachO/platform-version.s
The file was modifiedlld/MachO/Config.h
Commit 3c5758964c591481947dd7ab99ba901688068488 by Xing
[macho2yaml] Refactor the DWARF section dumpers.

This patch refactors the DWARF section dumpers. When dumping a DWARF
section, if the DWARF parser fails to parse the section, we will dump it
as a raw content section. This patch also fixes a bug in
DWARFYAML::Data::isEmpty(). Finally, a test case that tests dumping the
__debug_aranges section is added.

Reviewed By: jhenderson, grimar

Differential Revision: https://reviews.llvm.org/D85506
The file was modifiedllvm/tools/obj2yaml/dwarf2yaml.cpp
The file was modifiedllvm/tools/obj2yaml/obj2yaml.h
The file was modifiedllvm/lib/ObjectYAML/DWARFYAML.cpp
The file was modifiedllvm/test/ObjectYAML/MachO/DWARF-pubsections.yaml
The file was removedllvm/test/tools/obj2yaml/MachO/DWARF-debug_aranges-error.yaml
The file was modifiedllvm/tools/obj2yaml/macho2yaml.cpp
The file was addedllvm/test/tools/obj2yaml/MachO/unrecognized-debug-section.yaml
The file was addedllvm/test/tools/obj2yaml/MachO/debug-aranges.yaml
Commit 94c6ceab539efe26a1707124e803f444139c1b12 by zequanwu
[AST] add parenthesis locations for IfStmt and SwitchStmt

Differential Revision: https://reviews.llvm.org/D85696
The file was modifiedclang/include/clang/AST/Stmt.h
The file was modifiedclang/lib/Parse/ParseStmt.cpp
The file was modifiedclang/lib/Serialization/ASTReaderStmt.cpp
The file was modifiedclang/lib/Serialization/ASTWriterStmt.cpp
The file was modifiedclang/lib/Analysis/BodyFarm.cpp
The file was modifiedclang/lib/AST/Stmt.cpp
The file was modifiedclang/lib/Sema/SemaStmt.cpp
The file was modifiedclang/lib/AST/ASTImporter.cpp
The file was modifiedclang/include/clang/Sema/Sema.h
The file was modifiedclang/lib/Sema/SemaDeclCXX.cpp
The file was modifiedclang/lib/Sema/TreeTransform.h
Commit b448eda4066ff5dee2517018e386893ab629f9e8 by Jonas Devlieghere
[lldb] Fix typo in AppleDWARFIndex

apple_names_table_up appeared twice in the binary expression, while the
second instance was meant to check apple_namespaces_table_up.

Fixes PR47101
The file was modifiedlldb/source/Plugins/SymbolFile/DWARF/AppleDWARFIndex.cpp
Commit 9512525947028df71ed5c5312629a1a0ce25d661 by pengfei.wang
[X86][FPEnv] Teach X86 mask compare intrinsics to respect strict FP semantics.

When we use mask compare intrinsics under strict FP option, the masked
elements shouldn't raise any exception. So, we cann't replace the
intrinsic with a full compare + "and" operation.

Reviewed By: craig.topper

Differential Revision: https://reviews.llvm.org/D85385
The file was modifiedllvm/lib/IR/AutoUpgrade.cpp
The file was modifiedllvm/test/CodeGen/X86/avx512-cmp-kor-sequence.ll
The file was modifiedllvm/test/CodeGen/X86/avx512vl-vec-masked-cmp.ll
The file was modifiedclang/test/CodeGen/avx512f-builtins-constrained-cmp.c
The file was modifiedllvm/lib/Target/X86/X86InstrFragmentsSIMD.td
The file was modifiedllvm/test/CodeGen/X86/avx512-intrinsics.ll
The file was modifiedllvm/lib/Target/X86/X86IntrinsicsInfo.h
The file was modifiedclang/lib/CodeGen/CGBuiltin.cpp
The file was modifiedllvm/test/CodeGen/X86/stack-folding-fp-avx512.ll
The file was modifiedllvm/include/llvm/IR/IntrinsicsX86.td
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.h
The file was removedllvm/test/Transforms/InstCombine/X86/X86FsubCmpCombine.ll
The file was modifiedllvm/test/CodeGen/X86/avx512vl-intrinsics.ll
The file was modifiedllvm/lib/Target/X86/X86InstrAVX512.td
The file was modifiedllvm/test/CodeGen/X86/avx512-intrinsics-upgrade.ll
The file was modifiedllvm/test/CodeGen/X86/stack-folding-fp-avx512vl.ll
The file was modifiedclang/test/CodeGen/avx512vl-builtins-constrained-cmp.c
The file was modifiedllvm/lib/Target/X86/X86ISelDAGToDAG.cpp
The file was modifiedllvm/lib/Target/X86/X86InstCombineIntrinsic.cpp
The file was modifiedllvm/test/CodeGen/X86/avx512-cmp-mask.ll
The file was modifiedllvm/test/CodeGen/X86/avx512vl-intrinsics-upgrade.ll
The file was modifiedllvm/test/CodeGen/X86/vector-shuffle-v1.ll
Commit 4aaa97700377a811dbcaf88a81ec068a5b517a4d by zequanwu
[Sema] Fix missing warning on initializer lists on field initializers with overloaded operators

Differential Revision: https://reviews.llvm.org/D85574
The file was modifiedclang/lib/Sema/SemaDeclCXX.cpp
The file was modifiedclang/test/SemaCXX/uninitialized.cpp
Commit 655923de3d8a5a40b2dc4592ed78f0d6f38a6fbe by Xing
[macho2yaml][test] Specify the object file's endianness. NFC.

This change specifies the endianness of the generated object file to fix
the testing failure.

Testing failure: http://lab.llvm.org:8011/builders/clang-ppc64be-linux/builds/52449
The file was modifiedllvm/test/tools/obj2yaml/MachO/debug-aranges.yaml
Commit 02af25df2be7a52fb8620782afa1f5e8c1b91159 by Xing
[macho2yaml][test] Specify the object file's endianness. NFC.

This patch is intended to fix testing failure on big endian machine.

Failed testing: http://lab.llvm.org:8011/builders/clang-ppc64be-linux/builds/52450
The file was modifiedllvm/test/tools/obj2yaml/MachO/debug-aranges.yaml
Commit c4701c9c620fecfd6975e2885dae02d6e1b96698 by Jonas Devlieghere
[lldb] Add missings moves where appropiate (NFC)

Manually curated list of things found by clang-tidy's
performance-unnecessary-value-param.
The file was modifiedlldb/source/Core/Debugger.cpp
The file was modifiedlldb/include/lldb/DataFormatters/TypeSynthetic.h
The file was modifiedlldb/include/lldb/Core/ValueObject.h
The file was modifiedlldb/include/lldb/Target/InstrumentationRuntime.h
The file was modifiedlldb/include/lldb/DataFormatters/FormattersContainer.h
The file was modifiedlldb/include/lldb/Target/Process.h
The file was modifiedlldb/include/lldb/DataFormatters/StringPrinter.h
The file was modifiedlldb/source/Core/ValueObjectSyntheticFilter.cpp
The file was modifiedlldb/include/lldb/Host/FileSystem.h
The file was modifiedlldb/include/lldb/DataFormatters/TypeCategory.h
The file was modifiedlldb/include/lldb/Breakpoint/Breakpoint.h
The file was modifiedlldb/include/lldb/DataFormatters/TypeSummary.h
The file was modifiedlldb/include/lldb/DataFormatters/TypeCategoryMap.h
Commit 5fe171321c018a811debc306a776dbdf27a306dd by brad
[Sparc] Define __GCC_HAVE_SYNC_COMPARE_AND_SWAP macros on SPARCv9
The file was modifiedclang/lib/Basic/Targets/Sparc.cpp
The file was modifiedclang/test/Preprocessor/predefined-arch-macros.c
Commit 4514a3cfa4765ec77e8ccf56e84ae124ea5afa63 by jpienaar
[mlir][shape] Fix description copy pasta
The file was modifiedmlir/include/mlir/Dialect/Shape/IR/ShapeBase.td
Commit e6f8ba12e6ea97cbf4374b70e78309c2d859ca1c by haowei
Move ELFObjHandler to TextAPI library

This change moves ELFObjHandler to llvm/TextAPI library so it can
be used by different llvm tools.
The file was modifiedllvm/tools/llvm-elfabi/llvm-elfabi.cpp
The file was addedllvm/lib/TextAPI/ELF/ELFObjHandler.cpp
The file was removedllvm/tools/llvm-elfabi/ELFObjHandler.h
The file was modifiedllvm/tools/llvm-elfabi/CMakeLists.txt
The file was addedllvm/include/llvm/TextAPI/ELF/ELFObjHandler.h
The file was modifiedllvm/lib/TextAPI/CMakeLists.txt
The file was removedllvm/tools/llvm-elfabi/ELFObjHandler.cpp
Commit a423c1846251303bff38e40750b9e206320a992b by llvmgnsyncbot
[gn build] Port e6f8ba12e6e
The file was modifiedllvm/utils/gn/secondary/llvm/lib/TextAPI/BUILD.gn
The file was modifiedllvm/utils/gn/secondary/llvm/tools/llvm-elfabi/BUILD.gn
Commit db91320a898625484184d47a86b8ac1e4ae25aee by haowei
Revert "Move ELFObjHandler to TextAPI library"

This reverts commit e6f8ba12e6ea97cbf4374b70e78309c2d859ca1c due
to build failures.
The file was modifiedllvm/tools/llvm-elfabi/CMakeLists.txt
The file was modifiedllvm/lib/TextAPI/CMakeLists.txt
The file was removedllvm/lib/TextAPI/ELF/ELFObjHandler.cpp
The file was modifiedllvm/tools/llvm-elfabi/llvm-elfabi.cpp
The file was removedllvm/include/llvm/TextAPI/ELF/ELFObjHandler.h
The file was addedllvm/tools/llvm-elfabi/ELFObjHandler.cpp
The file was addedllvm/tools/llvm-elfabi/ELFObjHandler.h
Commit a542eec4622c62bdb7b35d8f6dae7560f581ba50 by llvmgnsyncbot
[gn build] Port db91320a898
The file was modifiedllvm/utils/gn/secondary/llvm/tools/llvm-elfabi/BUILD.gn
The file was modifiedllvm/utils/gn/secondary/llvm/lib/TextAPI/BUILD.gn
Commit bca43666e7dc41207b91fe28d7c6442b60d0e787 by Jonas Devlieghere
[lldb] Use modern CMake to avoid repetition (NFC)

Use the target variants of include_directories and add_definitions to
avoid repetition.
The file was modifiedlldb/unittests/debugserver/CMakeLists.txt
The file was modifiedlldb/unittests/TestingSupport/CMakeLists.txt
The file was modifiedlldb/unittests/Process/Linux/CMakeLists.txt
The file was modifiedlldb/unittests/Process/POSIX/CMakeLists.txt
The file was modifiedlldb/unittests/TestingSupport/Symbol/CMakeLists.txt
Commit a22301ef9899b77d02cc8ad6bea68009baa60413 by Jonas Devlieghere
[lldb] Remove redundant add_definitions() in CMake (NFC)

Remove the unused LLDB_CONFIGURATION_RELEASE and move LLDB_USE_OS_LOG
under debugserver which is the only one using it.
The file was modifiedlldb/tools/debugserver/source/CMakeLists.txt
The file was modifiedlldb/CMakeLists.txt
Commit 61ede38da0c4760e0824dc38c96e95a1c81d4eb1 by qshanz
[CodeGen] Expand float operand for STRICT_FSETCC/STRICT_FSETCCS

This patch is the continue work of https://reviews.llvm.org/D69281
to implement the way that expands STRICT_FSETCC/STRICT_FSETCCS.

Reviewed By: uweigand

Differential Revision: https://reviews.llvm.org/D81906
The file was modifiedllvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp
The file was modifiedllvm/test/CodeGen/PowerPC/fp-strict-fcmp.ll
The file was modifiedllvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
Commit 9201efb3b96e5ae229268aba8576832e80acef71 by craig.topper
[X86] Custom match X86ISD::VPTERNLOG in X86ISelDAGToDAG in order to reduce isel patterns.

By factoring out the end of tryVPTERNLOG, we can use the same code
to directly match X86ISD::VPTERNLOG. This allows us to remove
around 3-4K worth of X86GenDAGISel.inc.
The file was modifiedllvm/lib/Target/X86/X86InstrAVX512.td
The file was modifiedllvm/lib/Target/X86/X86ISelDAGToDAG.cpp
Commit 06eee8748fb4089d6ab859c56f3a0a4a7e8acf93 by okuraofvegetable
[Attributor][NFC] Connect AAPotentialValues with AAValueSimplify

This patch enables `AAValueSimplify` to use information from `AAPotentialValues`

Reviewed By: jdoerfert

Differential Revision: https://reviews.llvm.org/D85668
The file was modifiedllvm/test/Transforms/Attributor/dereferenceable-1.ll
The file was modifiedllvm/test/Transforms/Attributor/lvi-after-jumpthreading.ll
The file was modifiedllvm/test/Transforms/Attributor/potential.ll
The file was modifiedllvm/include/llvm/Transforms/IPO/Attributor.h
The file was modifiedllvm/lib/Transforms/IPO/AttributorAttributes.cpp
The file was modifiedllvm/test/Transforms/Attributor/value-simplify.ll
Commit 9564821144f8ac5159d346e6ec8176c6b63c0b36 by echristo
Test requires a debug build to pass.
The file was modifiedllvm/test/CodeGen/PowerPC/read-set-flm.ll
Commit 63b5b92bc958291637bfd4ebb52e4f2eb58da1e6 by aqjune
[LazyValueInfo] Let getEdgeValueLocal look into freeze instructions

This patch makes getEdgeValueLocal more precise when a freeze instruction is
given, by adding support for freeze into constantFoldUser

Reviewed By: efriedma

Differential Revision: https://reviews.llvm.org/D84629
The file was modifiedllvm/lib/Analysis/LazyValueInfo.cpp
The file was modifiedllvm/test/Transforms/JumpThreading/freeze-lvi-edgevaluelocal.ll
Commit 0057532e3f45508bd9aa2115948afee5859ed70c by richard.barton
Revert "[flang] Version information in flang/f18"

Patch breaks out of tree builds and fails its regression test on buildbots.

This reverts commit 6e67a74ed73e60a9609f2666e9ac9f44c63c3e0f.
The file was modifiedflang/tools/f18/f18.cpp
The file was modifiedflang/tools/f18/CMakeLists.txt
The file was removedflang/tools/f18/f18_version.h.in
The file was modifiedflang/test/Driver/version_test.f90
The file was removedflang/test/Preprocessing/compiler_defined_macros.F90
Commit c6d2078a35d536c8fa152fa9205924f8f10cbaac by kbobyrev
[clangd] Improve diagnostics in dexp interface

When running dexp in remote mode without --project-root it shuts down
with an assertion. This is not the desired behaviour: instruct user on
how to run it properly when the configuration is incorrect.
The file was modifiedclang-tools-extra/clangd/index/dex/dexp/Dexp.cpp
Commit 2e653327e364aae564209af99d3b6a4625e25b68 by Raphael Isemann
[lldb] tab completion for `watchpoint set variable`

1. Applied the common completion `eVariablePathCompletion` to command
`watchpoint set variable`;

2. Added a related test case.

Reviewed By: teemperor, JDevlieghere

Differential Revision: https://reviews.llvm.org/D84177
The file was modifiedlldb/source/Commands/CommandObjectWatchpoint.cpp
The file was modifiedlldb/test/API/functionalities/completion/TestCompletion.py
Commit 8a5e296975b3da5d5d849ae8185ef3d98ca77795 by Raphael Isemann
[lldb] tab completion for `disassemble -F`

1.Added a new common completion DisassemblyFlavors;

2. Bound DisassemblyFlavors to argument of type eArgTypeDisassemblyFlavor in
CommandObject.cpp;

3. Added a related test case.
The file was modifiedlldb/source/Interpreter/CommandObject.cpp
The file was modifiedlldb/test/API/functionalities/completion/TestCompletion.py
The file was modifiedlldb/source/Commands/CommandCompletions.cpp
The file was modifiedlldb/include/lldb/Interpreter/CommandCompletions.h
Commit 8f92f3c2eab02fe17a03fc39fefa0082b1c4b72f by sam.parker
[RDA] Fix DBG_VALUE issues

We skip debug instructions in RDA so we cannot attempt to look them
up in our instruction map without causing a crash. But some of the
methods select the last instruction in the block and this
instruction may be a debug instruction... So, use getLastNonDebugInstr
instead of calling back on a MachineBasicBlock.

MachineBasicBlock iterators have also been updated to use
instructionsWithoutDebug so we can avoid the manual checks for debug
instructions.

Differential Revision: https://reviews.llvm.org/D85658
The file was modifiedllvm/lib/CodeGen/ReachingDefAnalysis.cpp
Commit 51117e3c51754f3732ee34758310a0abc6fd3b75 by Raphael Isemann
[lldb][NFC] Remove unused custom reimplementation of realpath for Windows

No one is calling this function it seems and according to
https://bugs.llvm.org/show_bug.cgi?id=47088 this can leak memory, so let's just
remove it:

Quote from the bug report:
> Before return on line 146, the memory allocated on line 130 is not freed.

Reviewed By: amccarth

Differential Revision: https://reviews.llvm.org/D85633
The file was modifiedlldb/source/Host/windows/Windows.cpp
The file was modifiedlldb/include/lldb/Host/windows/PosixApi.h
Commit 497d060d0a741e13dd5e6218ba7301a7ec96f332 by 1.int32
[Analyzer] Improve invalid dereference bug reporting in DereferenceChecker.

Report undefined pointer dereference in similar way as null pointer dereference.

Reviewed By: NoQ

Differential Revision: https://reviews.llvm.org/D84520
The file was addedclang/test/Analysis/invalid-deref.c
The file was modifiedclang/lib/StaticAnalyzer/Checkers/DereferenceChecker.cpp
The file was modifiedclang/test/Analysis/misc-ps-region-store.m
Commit f99a18bbaa02037b8f2e9fc066d50e2373b5017e by Raphael Isemann
[lldb] tab completion for `thread plan discard`

Dedicated completion for the command `thread plan discard` with a corresponding
test case.

Reviewed By: teemperor

Differential Revision: https://reviews.llvm.org/D83234
The file was modifiedlldb/test/API/functionalities/completion/TestCompletion.py
The file was addedlldb/test/API/functionalities/completion/thread_plan_script.py
The file was modifiedlldb/source/Target/Thread.cpp
The file was modifiedlldb/include/lldb/Target/Thread.h
The file was modifiedlldb/source/Commands/CommandObjectThread.cpp
Commit df916062c885f9b010f8348c87e9effae06a10c4 by Raphael Isemann
[lldb][NFC] Fix warning in Thread::AutoCompleteThreadPlans
The file was modifiedlldb/source/Target/Thread.cpp
Commit 31fd64ac57a2005c0691b8870e28b4421cf67047 by Raphael Isemann
[lldb] tab completion for 'command delete/unalias'

Provided dedicated tab completions for `command delete/unalias`.

Reviewed By: teemperor

Differential Revision: https://reviews.llvm.org/D81128
The file was modifiedlldb/include/lldb/Interpreter/CommandInterpreter.h
The file was modifiedlldb/source/Commands/CommandObjectCommands.cpp
The file was modifiedlldb/test/API/functionalities/completion/TestCompletion.py

Summary

  1. Reduce the number of parallell LLDB tests executing. (details)
  2. Also limit the number of parallel debuginfo-tests (details)
  3. Reduce the amount of parallelism in the debuginfo tests even further. (details)
  4. Add flang slaves builds with clang10 and gcc10 (details)
Commit 382c69834410f98b4ddda45a820d097a7709e039 by Adrian Prantl
Reduce the number of parallell LLDB tests executing.
The file was modifiedzorg/jenkins/jobs/jobs/lldb-cmake
Commit 82db1ca53f02d6b9d9da834851a69bfc3baa1c2f by Adrian Prantl
Also limit the number of parallel debuginfo-tests
The file was modifiedzorg/jenkins/jobs/jobs/lldb-cmake
Commit da75a91597836a646a345fb5ba699915a6baa69e by Adrian Prantl
Reduce the amount of parallelism in the debuginfo tests even further.
The file was modifiedzorg/jenkins/jobs/jobs/lldb-cmake
Commit b06887ba004d88769b9d55fa4572aa92d95eec68 by caroline.concatto
Add flang slaves builds with clang10 and gcc10

Differential Revision: https://reviews.llvm.org/D85529
The file was modifiedbuildbot/osuosl/master/config/builders.py
The file was modifiedbuildbot/osuosl/master/config/slaves.py
The file was modifiedbuildbot/osuosl/master/config/status.py