SuccessChanges

Summary

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

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

Summary

  1. Double check that passes correctly set their Modified status (details)
  2. [clang][NFC] Also test for serialization in test/AST/ast-dump-APValue-* (details)
  3. [SelectionDAG] Fix incorrect offset when expanding CONCAT_VECTORS. (details)
  4. [lldb] Modernize/clean up ValueObject::GetChildMemberWithName (details)
  5. partial revert on RTBuilder.h to avoid warnings. (details)
  6. [Preallocated] Add @llvm.call.preallocated.teardown (details)
  7. [MIR] Speedup parsing of function with large number of basic blocks (details)
  8. [NewPM][opt] Share -disable-loop-unrolling between pass managers (details)
  9. [libc] Fix typographical error in math_utils.h. (details)
  10. [clang] Fix a crash when passing a C structure of incompatible type to a function with a reference parameter. (details)
  11. [NewPM][opt] Translate "-O#" to NPM's "default<O#>" (details)
  12. [libc++] Mark some tests as unsupported on GCC 5 (details)
  13. [matrix] Add some more Verifier negative tests. NFC. (details)
  14. Revert "Double check that passes correctly set their Modified status" (details)
  15. DomTree: remove explicit use of DomTreeNodeBase::iterator (details)
  16. [SystemZ] Allow specifying integer registers as part of the address calculation (details)
  17. [SampleFDO] Enable sample-profile-top-down-load and sample-profile-merge-inlinee (details)
  18. [NewPM] Add PredicateInfoPrinterPass to PassRegistry.def (details)
  19. [X86] Fix copy+paste typo in combineVectorPack assert message. NFC. (details)
  20. [X86][SSE] Pull out PACK(SHUFFLE(),SHUFFLE()) folds into its own function. NFC. (details)
  21. [DAGCombiner] add enum for store source value; NFC (details)
  22. [DAGCombiner] fix function-name formatting; NFC (details)
  23. [libc++][NFC] Remove outdated TODO item (details)
  24. [RecordLayout] Fix ItaniumRecordLayoutBuilder so that is grabs the correct bases class offsets from the external source (details)
  25. [CUDA][HIP] Let lambda be host device by default (details)
  26. [flang] Fix a crash when cosubscript list is empty (details)
  27. [ELF] Add -z dead-reloc-in-nonalloc=<section_glob>=<value> (details)
  28. [test] Run llvm/test/**/*.yaml & don't run llvm/test/**/*.cxx (not exist) (details)
  29. [ELF] Rename canRelax to toExecRelax. NFC (details)
  30. hwasan: Don't pass the tagged-globals target-feature to non-aarch64 backends. (details)
  31. [X86] Enabled a bunch of 64-bit Interlocked* functions intrinsics on 32-bit Windows to match recent MSVC (details)
  32. Remove the unnecessary `is_nothrow_swappable` condition in `swap`. (details)
  33. [Support] Define llvm::parallel::strategy for -DLLVM_ENABLE_THREADS=off builds after D76885 (details)
  34. [test] Add REQUIRES: x86-registered-target to tools/obj2yaml/COFF/bss.s (details)
  35. [libc++] Reimplement platform detection features without running on the test host (details)
  36. [SVE] Remove calls to VectorType::getNumElements from Scalar (details)
  37. [AMDGPU] Fix and simplify AMDGPUCodeGenPrepare::expandDivRem32 (details)
  38. [AMDGPU] Fix and simplify AMDGPUTargetLowering::LowerUDIVREM (details)
  39. [AMDGPU] Fix and simplify AMDGPULegalizerInfo::legalizeUDIV_UREM32Impl (details)
  40. SILoadStoreOptimizer: add support for GFX10 image instructions (details)
  41. [pstl] Fix a few errors when running PSTL tests through the libc++ test suite (details)
  42. [ELF] Enforce double-dash form for --warn-backrefs-exclude (details)
  43. [DAGCombiner] fix code comment and improve readability; NFC (details)
  44. [DAGCombiner] clean up in mergeConsecutiveStores(); NFC (details)
  45. [pstl] Do not install the __config_site.in file (details)
  46. [NFC] Separate Peeling Properties into its own struct (details)
  47. Revert "[NFC] Separate Peeling Properties into its own struct" (details)
  48. [NFC] Separate Peeling Properties into its own struct (details)
  49. [libc++] Install PSTL when installing libc++ with parallel algorithms enabled (details)
  50. [LangRef] Introduce `noundef` attribute for fully defined function params (details)
  51. [LLVM] Accept `noundef` attribute in function definitions/calls (details)
  52. Tighten description of ISD::BUILD_VECTOR (details)
  53. [Solaris] Fix Solaris build bots (details)
  54. Reword description of ISD::BUILD_VECTOR (details)
  55. [InstSimplify] Handle not inserted instruction gracefully (PR46638) (details)
  56. Revert "[NFC] Separate Peeling Properties into its own struct" (details)
  57. [InstSimplify] Remove select ?, undef, X -> X and select ?, X, undef -> X transforms (details)
  58. Recover more gracefully from stack exhaustion during template argument (details)
  59. Revert "[lldb/API] Overwrite variables with SBLaunchInfo::SetEnvironment(append=true)" (details)
  60. [libclang] Fix crash when visiting a captured VLA (details)
  61. [opt] Remove obsolete --quiet option (details)
  62. [libc++] Make sure the ENABLE_FILESYSTEM variable is always bound (details)
  63. GlobalISel: Verify G_BITCAST changes the type (details)
  64. PR46640: Permit the first parameter of a destroying 'operator delete' to (details)
  65. sanitizers: Add interceptors for getproto{ent,byname,bynumber}_r (details)
  66. [mlir] [VectorOps] Expose lowering pass options programmatically (details)
  67. Unify the ExecutionContextScope computation in Materializer. (details)
  68. [InstSimplify] Add test cases for opportunities to fold select ?, X, undef -> X when we can prove X isn't poison (details)
  69. DAG: Remove redundant handling of reg fixups (details)
  70. Updated the list of supported platforms in LLDB to include Apple silicon. (details)
  71. [OpenMP] Initial support for std::complex in target regions (details)
  72. [gn build] Port d999cbc9883 (details)
  73. DAG: Remove redundant finalizeLowering call (details)
  74. [Sanitizer]: Require !android for protoent test (details)
  75. [NFC] Fix some docs warnings (details)
  76. [openmp] Use switch in isAllowedClauseForDirective instead of multiple if (details)
  77. [lit] Add --show-xxx command line options (details)
  78. Fix debugserver reporting of deployment target (details)
  79. [flang] Fix negative unit number hashing (details)
  80. Improve diagnostics for constant evaluation that fails because a (details)
  81. [mlir] Print 0 element DenseElementsAttr as dense<> to fix parser bugs with expected shape. (details)
  82. [Legalizer] Fix wrong operand in split vector helper (details)
  83. Add missing CMake bool canonicalizations. (details)
Commit 37afd99c768b29c7df7c5f2eb645362fb61f9915 by sguelton
Double check that passes correctly set their Modified status

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

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

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

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

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

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

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

Add LangRef.

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

Reviewed By: efriedma

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

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

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

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

Reviewed By: echristo

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

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

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

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

Reviewed By: riccibruno

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

Fixes 52 check-llvm tests under NPM.

Reviewed By: hans

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

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

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

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

Change-Id: I4b5bd71e32d71b0c67b03d4927d93fe9413726d4

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

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

Tags: #clang, #mlir, #llvm

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

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

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

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

Author: anirudhp

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Reviewers: klausler, tskeith, DavidTruby

Subscribers: llvm-commits

Tags: #llvm

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

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

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

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

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

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

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

Reviewed By: thakis

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

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

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

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

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

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

Reviewed By: grimar, jhenderson, rupprecht

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

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

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

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

Reviewed By: grimar, psmith

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

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

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

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

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

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

Fixes PR46595

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

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

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

Reviewed By: ldionne, #libc

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

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

Reviewers: efriedma, fhahn, reames, kmclaughlin, sdesmalen

Reviewed By: sdesmalen

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

Tags: #llvm

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

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

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

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

Use the algorithm from AMDGPUCodeGenPrepare::expandDivRem32.

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

Use the algorithm from AMDGPUCodeGenPrepare::expandDivRem32.

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

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

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

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

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

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

Author: sidbav (Sidharth Baveja)

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

Reviewed By: Meinersbur (Michael Kruse)

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

Tag: LLVM

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

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

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

Author: sidbav (Sidharth Baveja)

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

Reviewed By: Meinersbur (Michael Kruse)

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

Tag: LLVM

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

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

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

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

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

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

This patch allows LLVM to parse the attribute.

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

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

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

Reviewers: ro

Subscribers: llvm-commits

Tags: #llvm

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

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

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

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

This reverts commit 0369dc98f958a1ca2ec05f1897f091129bb16e8a.

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

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

This same transform still exists in DAGCombiner.

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

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

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

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

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

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

Reviewed By: hans

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

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

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

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

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

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

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

Reviewed By: nicolasvasilache

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

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

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

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

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

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

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

Reviewed By: tra, JonChesterfield

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

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

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

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

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

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

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

Reviewers: lattner

Reviewed By: lattner

Subscribers: llvm-commits

Tags: #llvm

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

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

Reviewers: jdoerfert, jdenny

Reviewed By: jdenny

Subscribers: yaxunl, guansong, sstefan1, llvm-commits

Tags: #llvm

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

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

Reviewed By: jdenny

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

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

rdar://problem/65001691

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

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

Reviewed By: sscalpone

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

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

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

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

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

Reviewed By: uweigand

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

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

Reviewers: stephenneuendorffer

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

Tags: #mlir

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

Summary

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

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