SuccessChanges

Changes from Git (git http://labmaster3.local/git/llvm-zorg.git)

Summary

  1. [libc++] Remove several bots that now exist in Buildkite (details)
Commit 162771fdf6cadfe94b7205dd079302ff22720e45 by Louis Dionne
[libc++] Remove several bots that now exist in Buildkite

Our Buildkite pipeline has these bots (and more), and it is executed
both on Phabricator reviews and regularly against the master branch.

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

Changes from Git (git http://labmaster3.local/git/llvm-project.git)

Summary

  1. [OpenMP] libomp: add UNLIKELY hints to rarely executed branches (details)
  2. [InstCombine] Improve vector undef handling for sext(ashr(shl(trunc()))) fold, 2 (details)
  3. [InstCombine] Optimize away the unnecessary multi-use sign-extend (details)
  4. [X86] Add PR48223 usubsat test case (details)
  5. [VE] Add vmul and vdiv intrinsic instructions (details)
  6. [RISCV][crt] support building without init_array (details)
  7. lld/ELF: Make three rarely-used flags work with --reproduce (details)
  8. [ConstraintElimination] Decompose GEP %ptr, ZEXT(SHL()). (details)
  9. [DAG] Move vselect(icmp_ult, 0, sub(x,y)) -> usubsat(x,y) to DAGCombine (PR40111) (details)
  10. [lldb][NFC] Modernize and cleanup TestClassTemplateParameterPack (details)
  11. [InstCombine] canonicalize sign-bit-shift of difference to ext(icmp) (details)
  12. [ARM] Mark select and selectcc of MVE vector operations as expand. (details)
  13. [DAG] Remove unused variable. NFC. (details)
  14. [x86] adjust cost model values for minnum/maxnum with fast-math-flags (details)
  15. [HIP] Fix static-lib test CHECK bug (details)
  16. [MergeICmps] Fix missing split. (details)
  17. [InstSimplify] Add tests that fold instructions with poison operands (NFC) (details)
  18. [X86] Support modifier @PLTOFF for R_X86_64_PLTOFF64 (details)
  19. [ELF][test] Add some tests for versioned symbols in object files (details)
  20. [ELF] Make foo@@v1 resolve undefined foo@v1 (details)
  21. [MemCpyOpt] Port to MemorySSA (details)
  22. [ELF] Error for undefined foo@v1 (details)
  23. [LV] Epilogue Vectorization with Optimal Control Flow (details)
  24. clang/darwin: Use response files with ld64.lld.darwinnew (details)
  25. [NFC][clang-tidy] Port rename_check.py to Python3 (details)
  26. [BasicAA] Add test for suboptimal result with unknown sizes (NFC) (details)
  27. Let .llvm_bb_addr_map section use the same unique id as its associated .text section. (details)
  28. [libc++] Optimize the number of assignments in std::exclusive_scan (details)
  29. Revert "[LV] Epilogue Vectorization with Optimal Control Flow" (details)
  30. [LTO][NewPM] Run verifier when doing LTO (details)
  31. [ELF][test] Fix lto/version-script2.ll (details)
  32. static const char *const foo => const char foo[] (details)
  33. Argument dependent lookup with class argument is recursing into base (details)
  34. APINotes: constify `dump` methods (NFC) (details)
  35. [DAGCombiner][NFC] Replace duplicate implementation flipBoolean with DAG.getLogicalNOT (details)
  36. [gn build] sync script: try to make sync script even clearer (details)
  37. [CMake][NewPM] Move ENABLE_EXPERIMENTAL_NEW_PASS_MANAGER into llvm/ (details)
  38. [clang-scan-deps] Improve argument parsing to find target object file path. (details)
  39. [MLIR][LLVM] Fix a tiny typo in the dialect docs. (details)
  40. [OpenMP] Add support for Intel's umonitor/umwait (details)
  41. [LTO][wasm][NewPM] Allow using new pass manager for wasm LTO (details)
  42. Fix erroneous edit in https://github.com/llvm/llvm-project/actions/runs/394499364 (details)
  43. Revert "[CMake][NewPM] Move ENABLE_EXPERIMENTAL_NEW_PASS_MANAGER into llvm/" (details)
  44. [MLIR] Fix genTypeInterfaceMethods() to work correctly with InferTypeOpInterface (details)
  45. [LLD][ELF][NewPM] Add option to force legacy PM (details)
  46. [libc++] NFC: Remove unused macros in <__config> (details)
  47. Reland [CMake][NewPM] Move ENABLE_EXPERIMENTAL_NEW_PASS_MANAGER into llvm/ (details)
  48. [OpenMP51][DOCS] Claim "add present modifier in defaultmap clause", NFC. (details)
  49. RegisterInfoPOSIX_arm64 remove unused bytes from g/G packet (details)
  50. Make offset field optional in RegisterInfo packet for Arm64 (details)
  51. [lldb] [test] Reenable two passing tests on FreeBSD (details)
  52. Revert "[FastISel] Flush local value map on ever instruction" and dependent patches (details)
  53. [lld-macho] Extend PIE option handling (details)
  54. Avoid redundant inline with LLVM_ATTRIBUTE_ALWAYS_INLINE (details)
  55. [ms] [llvm-ml] Introduce command-line compatibility for ml.exe and ml64.exe (details)
  56. [libc++abi] Don't try calling __libcpp_aligned_free when aligned allocation is disabled (details)
  57. [lld][WebAssembly] Feedback from D92038. NFC (details)
  58. [clang-format] Add new option PenaltyIndentedWhitespace (details)
  59. [gn build] (manually) port 8fee2ee9a68 (details)
  60. [lld-macho] Emit STABS symbols for debugging, and drop debug sections (details)
  61. [lld-macho] Emit local symbols in symtab; record metadata in LC_DYSYMTAB (details)
  62. [lld-macho] Emit empty string as first entry of string table (details)
  63. [lld-macho] Add archive name and file modtime to STABS output (details)
  64. [lld-macho] Flesh out STABS implementation (details)
  65. [lld-macho] Add isCodeSection() (details)
  66. [mlir][PDL] Add support for PDL bytecode and expose PDL support to OwningRewritePatternList (details)
  67. [ms] [llvm-ml] Support command-line defines (details)
  68. [gn build] Manually port 8fee2ee9 (details)
  69. [gn build] Format all gn files (details)
  70. [gn build] Port 3fcb0eeb152 (details)
  71. [NFC][AMDGPU] AMDGPU code object V4 ABI documentation (details)
  72. [AArch64][GlobalISel] Select Bcc when it's better than TB(N)Z (details)
  73. [llvm] Fix for failing test from fdbd84c6c819d4462546961f6086c1524d5d5ae8 (details)
  74. [lld/mac] Fix issues around thin archives (details)
  75. [RISCVAsmParser] Allow a SymbolRef operand to be a complex expression (details)
  76. [NFC] Extract ForEachDVT (details)
  77. [sanitizer] Make DTLS_on_tls_get_addr signal safer (details)
  78. github actions: Update branch_sync to push to main (details)
  79. Remove CXXBasePaths::found_decls and simplify and modernize its only (details)
  80. [AArch64][GlobalISel] Don't write to WZR in non-flag-setting G_BRCOND case (details)
  81. [WebAssembly] Rename --lto-no-new-pass-manager to --no-lto-new-pass-manager (details)
  82. [NFC] Disable new test from D92428 on PPC TSAN (details)
  83. Fix typo in testcase runline that got there because I have very bad hands (details)
  84. Recommit "[clang][Fuchsia] Add relative-vtables multilib" (details)
  85. [lld] Use -1 as tombstone value for discarded code ranges (details)
  86. [msan] Replace 8 by kShadowTLSAlignment (details)
  87. [mlir][PDL] Add append specialization for ByteCode OpCode to fix GCC5 build (details)
Commit 6bf84871e9382fe7bde1117194bc15abb2b09f68 by Andrey.Churbanov
[OpenMP] libomp: add UNLIKELY hints to rarely executed branches

Added UNLIKELY hint to one-time or rarely executed branches.
This improves performance of the library on some tasking benchmarks.

Differential Revision: https://reviews.llvm.org/D92322
The file was modifiedopenmp/runtime/src/kmp_tasking.cpp
The file was modifiedopenmp/runtime/src/kmp_itt.inl
Commit 94ead0190ff18be337c5c84abccc315fd68f41fc by lebedev.ri
[InstCombine] Improve vector undef handling for sext(ashr(shl(trunc()))) fold, 2

If the shift amount was undef for some lane, the shift amount in opposite
shift is irrelevant for that lane, and the new shift amount for that lane
can be undef.
The file was modifiedllvm/test/Transforms/InstCombine/trunc.ll
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
The file was modifiedllvm/test/Transforms/InstCombine/sext.ll
Commit fd679107d670d8fd31b62245b433187b4d72a9d0 by lebedev.ri
[InstCombine] Optimize away the unnecessary multi-use sign-extend

C.f. https://bugs.llvm.org/show_bug.cgi?id=47765

Added a case for handling the sign-extend (Shl+AShr) for multiple uses,
to optimize it away for an individual use,
when the demanded bits aren't affected by sign-extend.

https://rise4fun.com/Alive/lgf

Reviewed By: lebedev.ri

Differential Revision: https://reviews.llvm.org/D91343
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
The file was modifiedllvm/test/Transforms/InstCombine/and.ll
Commit 00f4269cef3773df932158728de9fe07d2f7ff41 by llvm-dev
[X86] Add PR48223 usubsat test case
The file was modifiedllvm/test/CodeGen/X86/usub_sat_vec.ll
Commit 10b164d2f72aa696e077507b4c5a3a5e11be8e6f by marukawa
[VE] Add vmul and vdiv intrinsic instructions

Add vmul and vdiv intrinsic instructions and regression tests.

Reviewed By: simoll

Differential Revision: https://reviews.llvm.org/D92377
The file was modifiedllvm/lib/Target/VE/VEInstrIntrinsicVL.gen.td
The file was modifiedllvm/include/llvm/IR/IntrinsicsVEVL.gen.td
The file was addedllvm/test/CodeGen/VE/VELIntrinsics/vmul.ll
The file was addedllvm/test/CodeGen/VE/VELIntrinsics/vdiv.ll
Commit 17427ec3f31c2a95c106dbaa98c43b72a7c06a31 by kupokupokupopo
[RISCV][crt] support building without init_array

Reviewed By: luismarques, phosek, kito-cheng

Differential Revision: https://reviews.llvm.org/D87997
The file was modifiedcompiler-rt/lib/crt/crtbegin.c
Commit 4431c212a0a08c2b6552e6a476a15b142d7c6bb9 by thakis
lld/ELF: Make three rarely-used flags work with --reproduce

All three use readFile() for their argument so their argument file is
already copied to the tar, but we weren't rewriting the argument to
point to the path used in the tar file.

No test because the change is trivial (several other flags in
createResponseFile() also aren't tested, likely for the same reason.)

Differential Revision: https://reviews.llvm.org/D92356
The file was modifiedlld/ELF/DriverUtils.cpp
Commit 7a4f1d59b82e5defbce4498347291e6ef9f1281c by flo
[ConstraintElimination] Decompose GEP %ptr, ZEXT(SHL()).

Add support to decompose a GEP with a ZEXT(SHL()) operand.
The file was modifiedllvm/lib/Transforms/Scalar/ConstraintElimination.cpp
The file was modifiedllvm/test/Transforms/ConstraintElimination/geps.ll
Commit 1b209ff9e3e13492fd56ae6662989ef47510db4d by llvm-dev
[DAG] Move vselect(icmp_ult, 0, sub(x,y)) -> usubsat(x,y) to DAGCombine (PR40111)

Move the X86 VSELECT->USUBSAT fold to DAGCombiner - there's nothing target specific about these folds.
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/test/CodeGen/X86/usub_sat_vec.ll
The file was modifiedllvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Commit 64f04629aa7a4cf9d2deb725683959faa4a857fe by Raphael Isemann
[lldb][NFC] Modernize and cleanup TestClassTemplateParameterPack

* Un-inline the test.
* Use expect_expr everywhere and also check all involved types.
* Clang-format the test sources.
* Explain what we're actually testing with the 'C' and 'D' templates.
* Split out the non-template-parameter-pack part of the test into its own small test.
The file was addedlldb/test/API/lang/cpp/class-template-parameter-pack/Makefile
The file was addedlldb/test/API/lang/cpp/non-type-template-param/Makefile
The file was modifiedlldb/test/API/lang/cpp/class-template-parameter-pack/main.cpp
The file was addedlldb/test/API/lang/cpp/non-type-template-param/main.cpp
The file was addedlldb/test/API/lang/cpp/non-type-template-param/TestAlignAsBaseClass.py
The file was modifiedlldb/test/API/lang/cpp/class-template-parameter-pack/TestClassTemplateParameterPack.py
Commit 9f60b8b3d2e2cd38b9ae45da7e36a77b3c9dd258 by spatel
[InstCombine] canonicalize sign-bit-shift of difference to ext(icmp)

icmp is the preferred spelling in IR because icmp analysis is
expected to be better than any other analysis. This should
lead to more follow-on folding potential.

It's difficult to say exactly what we should do in codegen to
compensate. For example on AArch64, which of these is preferred:
sub w8, w0, w1
lsr w0, w8, #31

vs:
cmp w0, w1
cset w0, lt

If there are perf regressions, then we should deal with those in
codegen on a case-by-case basis.

A possible motivating example for better optimization is shown in:
https://llvm.org/PR43198 but that will require other transforms
before anything changes there.

Alive proof:
https://rise4fun.com/Alive/o4E

  Name: sign-bit splat
  Pre: C1 == (width(%x) - 1)
  %s = sub nsw %x, %y
  %r = ashr %s, C1
  =>
  %c = icmp slt %x, %y
  %r = sext %c

  Name: sign-bit LSB
  Pre: C1 == (width(%x) - 1)
  %s = sub nsw %x, %y
  %r = lshr %s, C1
  =>
  %c = icmp slt %x, %y
  %r = zext %c
The file was modifiedllvm/test/Transforms/InstCombine/sub-ashr-and-to-icmp-select.ll
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineShifts.cpp
The file was modifiedllvm/test/Transforms/InstCombine/ashr-lshr.ll
The file was modifiedllvm/test/Transforms/InstCombine/sub-ashr-or-to-icmp-select.ll
Commit eedf0ed63e82ba2f8d2cbc12d6dae61035ed4f9a by david.green
[ARM] Mark select and selectcc of MVE vector operations as expand.

We already expand select and select_cc in codegenprepare, but they can
still be generated under some situations. Explicitly mark them as expand
to ensure they are not produced, leading to a failure to select the
nodes.

Differential Revision: https://reviews.llvm.org/D92373
The file was modifiedllvm/lib/Target/ARM/ARMISelLowering.cpp
The file was modifiedllvm/test/CodeGen/Thumb2/mve-selectcc.ll
Commit 107e92dff8ca3c27478baccc50e183d81da7ea17 by benny.kra
[DAG] Remove unused variable. NFC.
The file was modifiedllvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Commit 136f98e5236522f55693b8b2d23e87692987f734 by spatel
[x86] adjust cost model values for minnum/maxnum with fast-math-flags

Without FMF, we lower these intrinsics into something like this:

vmaxsd %xmm0, %xmm1, %xmm2
vcmpunordsd %xmm0, %xmm0, %xmm0
vblendvpd %xmm0, %xmm1, %xmm2, %xmm0

But if we can ignore NANs, the single min/max instruction is enough
because there is no need to fix up the x86 logic that corresponds to
X > Y ? X : Y.

We probably want to make other adjustments for FP intrinsics with FMF
to account for specialized codegen (for example, FSQRT).

Differential Revision: https://reviews.llvm.org/D92337
The file was modifiedllvm/lib/Target/X86/X86TargetTransformInfo.cpp
The file was modifiedllvm/test/Analysis/CostModel/X86/fminnum.ll
The file was modifiedllvm/test/Analysis/CostModel/X86/fmaxnum.ll
Commit cd5897d55908827faf3e16c505bd79732a8f6eb6 by enye.shi
[HIP] Fix static-lib test CHECK bug

Fix hip test failures that were introduced by
previous changes to hip-toolchain-rdc-static-lib.hip
test. The .*lld.* is matching a longer string than
expected.

Differential Revision: https://reviews.llvm.org/D92342
The file was modifiedclang/test/Driver/hip-toolchain-rdc-static-lib.hip
Commit 735e6c888ec8d647609d242a165e3631423a709d by courbet
[MergeICmps] Fix missing split.

We were not correctly splitting a blocks for chains of length 1.

Before that change, additional instructions for blocks in chains of
length 1 were not split off from the block before removing (this was
done correctly for chains of longer size).
If this first block contained an instruction referenced elsewhere,
deleting the block, would result in invalidation of the produced value.

This caused a miscompile which motivated D92297 (before D17993,
nonnull and dereferenceable attributed were not added so MergeICmps were
not triggered.) The new test gep-references-bb.ll demonstrate the issue.

The regression was introduced in
rG0efadbbcdeb82f5c14f38fbc2826107063ca48b2.

This supersedes D92364.

Test case by MaskRay (Fangrui Song).

Differential Revision: https://reviews.llvm.org/D92375
The file was addedllvm/test/Transforms/MergeICmps/X86/gep-references-bb.ll
The file was modifiedllvm/lib/Transforms/Scalar/MergeICmps.cpp
Commit 864dda5fd50471acaee335c1643cbd424ef319ce by aqjune
[InstSimplify] Add tests that fold instructions with poison operands (NFC)
The file was addedllvm/test/Transforms/InstSimplify/and.ll
The file was addedllvm/test/Transforms/InstSimplify/insertvalue.ll
The file was modifiedllvm/test/Transforms/InstSimplify/or.ll
The file was modifiedllvm/test/Transforms/InstSimplify/select.ll
The file was addedllvm/test/Transforms/InstSimplify/fp-undef-poison.ll
The file was modifiedllvm/test/Transforms/InstSimplify/phi.ll
The file was modifiedllvm/test/Transforms/InstSimplify/gep.ll
The file was removedllvm/test/Transforms/InstSimplify/fp-undef.ll
The file was modifiedllvm/test/Transforms/InstSimplify/shufflevector.ll
The file was modifiedllvm/test/Transforms/InstSimplify/extract-element.ll
The file was modifiedllvm/test/Transforms/InstSimplify/mul.ll
The file was modifiedllvm/test/Transforms/InstSimplify/maxmin_intrinsics.ll
The file was addedllvm/test/Transforms/InstSimplify/xor.ll
The file was modifiedllvm/test/Transforms/InstSimplify/sub.ll
The file was modifiedllvm/test/Transforms/InstSimplify/icmp.ll
The file was modifiedllvm/test/Transforms/InstSimplify/fminmax-folds.ll
The file was addedllvm/test/Transforms/InstSimplify/fcmp.ll
The file was modifiedllvm/test/Transforms/InstSimplify/add.ll
The file was modifiedllvm/test/Transforms/InstSimplify/shift.ll
The file was modifiedllvm/test/Transforms/InstSimplify/saturating-add-sub.ll
The file was modifiedllvm/test/Transforms/InstSimplify/call.ll
The file was modifiedllvm/test/Transforms/InstSimplify/insertelement.ll
The file was modifiedllvm/test/Transforms/InstSimplify/rem.ll
The file was modifiedllvm/test/Transforms/InstSimplify/div.ll
Commit f0659c0673417582038aa4a3c13edbfa0abb6b9a by i
[X86] Support modifier @PLTOFF for R_X86_64_PLTOFF64

`gcc -mcmodel=large` can emit @PLTOFF.

Reviewed By: grimar

Differential Revision: https://reviews.llvm.org/D92294
The file was modifiedllvm/lib/MC/MCExpr.cpp
The file was modifiedllvm/lib/Target/X86/MCTargetDesc/X86ELFObjectWriter.cpp
The file was modifiedllvm/include/llvm/MC/MCExpr.h
The file was addedllvm/test/MC/X86/pltoff.s
Commit a5f95887d0f8d27f1c33f19944d0c1da66aef606 by i
[ELF][test] Add some tests for versioned symbols in object files

Test the symbol resolution related to

* defined foo@@v1 and foo@v1 in object files/shared objects
* undefined foo@v1
* weak foo@@v1 and foo@v1
* visibility
* interaction with --wrap.

Reviewed By: grimar

Differential Revision: https://reviews.llvm.org/D92258
The file was addedlld/test/ELF/symver.s
Commit 941e9336d092f0ccef35e0f425d97f7def5ed1b0 by i
[ELF] Make foo@@v1 resolve undefined foo@v1

The symbol resolution rules for versioned symbols are:

* foo@@v1 (default version) resolves both undefined foo and foo@v1
* foo@v1 (non-default version) resolves undefined foo@v1

Note, foo@@v1 must be defined (the assembler errors if attempting to
create an undefined foo@@v1).

For defined foo@@v1 in a shared object, we call `SymbolTable::addSymbol` twice,
one for foo and the other for foo@v1. We don't do the same for object files, so
foo@@v1 defined in one object file incorrectly does not resolve a foo@v1
reference in another object file.

This patch fixes the issue by reusing the --wrap code to redirect symbols in
object files. This has to be done after processing input files because
foo and foo@v1 are two separate symbols if we haven't seen foo@@v1.

Add a helper `Symbol::getVersionSuffix` to retrieve the optional trailing
`@...` or `@@...` from the possibly truncated symbol name.

Depends on D92258

Reviewed By: jhenderson

Differential Revision: https://reviews.llvm.org/D92259
The file was modifiedlld/test/ELF/symver.s
The file was modifiedlld/ELF/Symbols.h
The file was modifiedlld/ELF/Driver.cpp
The file was modifiedlld/ELF/Symbols.cpp
Commit 624af932a808b363a888139beca49f57313d9a3b by nikita.ppv
[MemCpyOpt] Port to MemorySSA

This is a straightforward port of MemCpyOpt to MemorySSA following
the approach of D26739. MemDep queries are replaced with MSSA queries
without changing the overall structure of the pass. Some care has
to be taken to account for differences between these APIs
(MemDep also returns reads, MSSA doesn't).

Differential Revision: https://reviews.llvm.org/D89207
The file was modifiedllvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
The file was modifiedllvm/test/Transforms/MemCpyOpt/callslot.ll
The file was modifiedllvm/test/Transforms/MemCpyOpt/stackrestore.ll
The file was modifiedllvm/include/llvm/Transforms/Scalar/MemCpyOptimizer.h
The file was modifiedllvm/test/Transforms/MemCpyOpt/merge-into-memset.ll
The file was modifiedllvm/test/Transforms/MemCpyOpt/invariant.start.ll
The file was modifiedllvm/test/Transforms/MemCpyOpt/mixed-sizes.ll
The file was modifiedllvm/test/Transforms/MemCpyOpt/memcpy.ll
The file was modifiedllvm/test/Transforms/MemCpyOpt/nonlocal-memcpy-memcpy.ll
The file was modifiedllvm/test/Transforms/MemCpyOpt/memcpy-invoke-memcpy.ll
Commit 843c2b2303004c1a7e4fa8037905fbc70601b155 by i
[ELF] Error for undefined foo@v1

If an object file has an undefined foo@v1, we emit a dynamic symbol foo.
This is incorrect if at runtime a shared object provides the non-default version foo@v1
(the undefined foo may bind to foo@@v2, for example).

GNU ld issues an error for this case, even if foo@v1 is undefined weak
(https://sourceware.org/bugzilla/show_bug.cgi?id=3351). This behavior makes
sense because to represent an undefined foo@v1, we have to construct a Verneed
entry. However, without knowing the defining filename, we cannot construct a
Verneed entry (Verneed::vn_file is unavailable).

This patch implements the error.

Depends on D92258

Reviewed By: grimar

Differential Revision: https://reviews.llvm.org/D92260
The file was modifiedlld/ELF/Relocations.cpp
The file was modifiedlld/test/ELF/symver.s
The file was modifiedlld/ELF/Symbols.h
The file was modifiedlld/test/ELF/lto/version-script2.ll
Commit 9c5504adceb544d9954ddb8ff3035a414f4b1423 by bmahjour
[LV] Epilogue Vectorization with Optimal Control Flow

This is yet another attempt at providing support for epilogue
vectorization following discussions raised in RFC http://llvm.1065342.n5.nabble.com/llvm-dev-Proposal-RFC-Epilog-loop-vectorization-tt106322.html#none
and reviews D30247 and D88819.

Similar to D88819, this patch achieve epilogue vectorization by
executing a single vplan twice: once on the main loop and a second
time on the epilogue loop (using a different VF). However it's able
to handle more loops, and generates more optimal control flow for
cases where the trip count is too small to execute any code in vector
form.

Reviewed By: SjoerdMeijer

Differential Revision: https://reviews.llvm.org/D89566
The file was modifiedllvm/lib/Transforms/Vectorize/LoopVectorize.cpp
The file was modifiedllvm/test/Transforms/LoopVectorize/X86/invariant-load-gather.ll
The file was addedllvm/test/Transforms/LoopVectorize/PowerPC/optimal-epilog-vectorization-profitability.ll
The file was addedllvm/test/Transforms/LoopVectorize/optimal-epilog-vectorization-liveout.ll
The file was modifiedllvm/docs/Vectorizers.rst
The file was modifiedllvm/test/Transforms/LoopVectorize/X86/masked_load_store.ll
The file was addedllvm/test/Transforms/LoopVectorize/PowerPC/optimal-epilog-vectorization.ll
The file was addedllvm/docs/epilogue-vectorization-cfg.png
The file was addedllvm/test/Transforms/LoopVectorize/optimal-epilog-vectorization-limitations.ll
The file was addedllvm/test/Transforms/LoopVectorize/optimal-epilog-vectorization.ll
The file was modifiedllvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
The file was modifiedllvm/test/Transforms/LoopVectorize/X86/invariant-store-vectorization.ll
Commit b99e2b8b14f4ba50f9eb80bd5a2c1824099a7f96 by thakis
clang/darwin: Use response files with ld64.lld.darwinnew

The new MachO lld just grew support for response files in D92149, so let
the clang driver use it.

Differential Revision: https://reviews.llvm.org/D92399
The file was modifiedclang/lib/Driver/ToolChains/Darwin.cpp
Commit ae7ec47fc655537ce82c0bfee0b587921663eaff by lebedev.ri
[NFC][clang-tidy] Port rename_check.py to Python3
The file was modifiedclang-tools-extra/clang-tidy/rename_check.py
Commit 54eab293f523956bdc4b1a98b6cf5abc0bd1ef3f by nikita.ppv
[BasicAA] Add test for suboptimal result with unknown sizes (NFC)
The file was modifiedllvm/test/Analysis/BasicAA/phi-aa.ll
Commit e0bf2349303f6b40e3ddd5377ea08a5c0867ece4 by rahmanl
Let .llvm_bb_addr_map section use the same unique id as its associated .text section.

Currently, `llvm_bb_addr_map` sections are generated per section names because we use
the `LinkedToSymbol` argument of getELFSection. This will cause the address map tables of functions
grouped into the same section when `-function-sections=true -unique-section-names=false` which is not
the intended behaviour. This patch lets the unique id of every `.text` section propagate to the associated
`.llvm_bb_addr_map` section.

Reviewed By: MaskRay

Differential Revision: https://reviews.llvm.org/D92113
The file was modifiedllvm/test/CodeGen/X86/basic-block-sections-labels.ll
The file was modifiedllvm/lib/MC/MCObjectFileInfo.cpp
Commit c30d5101f14f7e8a1c0f80c8663b54de2a7640fd by Louis Dionne
[libc++] Optimize the number of assignments in std::exclusive_scan

Reported in https://twitter.com/blelbach/status/1169807347142676480

Differential Revision: https://reviews.llvm.org/D67273
The file was modifiedlibcxx/include/numeric
Commit c94af03f7f3223e917b00e1c0263a3b8d90b76bc by bmahjour
Revert "[LV] Epilogue Vectorization with Optimal Control Flow"

This reverts commit 9c5504adceb544d9954ddb8ff3035a414f4b1423.
Reverting to investigate build failure in http://lab.llvm.org:8011/#/builders/98/builds/1461/steps/9
The file was removedllvm/test/Transforms/LoopVectorize/PowerPC/optimal-epilog-vectorization-profitability.ll
The file was modifiedllvm/docs/Vectorizers.rst
The file was removedllvm/test/Transforms/LoopVectorize/optimal-epilog-vectorization-limitations.ll
The file was removedllvm/docs/epilogue-vectorization-cfg.png
The file was removedllvm/test/Transforms/LoopVectorize/optimal-epilog-vectorization-liveout.ll
The file was modifiedllvm/lib/Transforms/Vectorize/LoopVectorize.cpp
The file was modifiedllvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
The file was modifiedllvm/test/Transforms/LoopVectorize/X86/invariant-load-gather.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/X86/masked_load_store.ll
The file was removedllvm/test/Transforms/LoopVectorize/optimal-epilog-vectorization.ll
The file was removedllvm/test/Transforms/LoopVectorize/PowerPC/optimal-epilog-vectorization.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/X86/invariant-store-vectorization.ll
Commit 26d3aaeb3aac39329dd845bd0012ad961653dbc6 by aeubanks
[LTO][NewPM] Run verifier when doing LTO

This matches the legacy PM.

Reviewed By: ychen

Differential Revision: https://reviews.llvm.org/D92138
The file was modifiedllvm/lib/LTO/LTOBackend.cpp
The file was modifiedlld/test/ELF/lto/verify-invalid.ll
Commit bb993b1d9de34b8e47511a746bf4422ba206123b by i
[ELF][test] Fix lto/version-script2.ll
The file was modifiedlld/test/ELF/lto/version-script2.ll
Commit a5309438fe8d4f1212ae645bc0aaf71fdf73d028 by i
static const char *const foo => const char foo[]

By default, a non-template variable of non-volatile const-qualified type
having namespace-scope has internal linkage, so no need for `static`.
The file was modifiedllvm/lib/Analysis/ReleaseModeModelRunner.cpp
The file was modifiedllvm/lib/IRReader/IRReader.cpp
The file was modifiedllvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
The file was modifiedllvm/lib/Transforms/Scalar/StructurizeCFG.cpp
The file was modifiedllvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
The file was modifiedllvm/lib/Transforms/Instrumentation/SanitizerCoverage.cpp
The file was modifiedllvm/lib/Object/Archive.cpp
The file was modifiedllvm/lib/Transforms/Vectorize/LoopVectorize.cpp
The file was modifiedllvm/lib/Transforms/Scalar/PlaceSafepoints.cpp
The file was modifiedllvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
The file was modifiedllvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
The file was modifiedllvm/lib/Transforms/Instrumentation/DataFlowSanitizer.cpp
The file was modifiedllvm/lib/Transforms/Instrumentation/ThreadSanitizer.cpp
Commit 37340798ccb00b9c3a53e8a5f1b6430e85870338 by zahira.ammarguellat
Argument dependent lookup with class argument is recursing into base
classes that haven't been instantiated. This is generating an assertion
in DeclTemplate.h. Fix for Bug25668.
The file was modifiedclang/lib/Sema/SemaLookup.cpp
The file was modifiedclang/lib/Sema/SemaOpenMP.cpp
The file was addedclang/test/OpenMP/template-specialization.cpp
Commit 4eaa024863f4a86151beb7971301c6ab10a9de01 by Saleem Abdulrasool
APINotes: constify `dump` methods (NFC)

This simply marks the functions as const as they do not mutate the
value.  This is useful for debugging iterations during development.
NFCI.
The file was modifiedclang/lib/APINotes/APINotesTypes.cpp
The file was modifiedclang/include/clang/APINotes/Types.h
Commit d7fec38f053659725c94fd4580a5fb56af046820 by lebedev.ri
[DAGCombiner][NFC] Replace duplicate implementation flipBoolean with DAG.getLogicalNOT

Reviewed By: lebedev.ri

Differential Revision: https://reviews.llvm.org/D92246
The file was modifiedllvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Commit cacb1a9f930e35371c885cb572823626fc90a0ee by thakis
[gn build] sync script: try to make sync script even clearer

Turns out startswith() takes an optional start parameter :)

No behavior change.
The file was modifiedllvm/utils/gn/build/sync_source_lists_from_cmake.py
Commit a36bd4c90dcca82be9b64f65dbd22e921b6485ef by aeubanks
[CMake][NewPM] Move ENABLE_EXPERIMENTAL_NEW_PASS_MANAGER into llvm/

This allows us to use its value everywhere, rather than just clang. Some
other places, like opt and lld, will use its value soon.

The #define for it is now in llvm-config.h.

Reviewed By: rnk, hans

Differential Revision: https://reviews.llvm.org/D92072
The file was modifiedllvm/utils/gn/secondary/clang/test/BUILD.gn
The file was modifiedllvm/CMakeLists.txt
The file was modifiedllvm/utils/gn/secondary/clang/include/clang/Config/BUILD.gn
The file was modifiedclang/lib/Driver/ToolChains/CommonArgs.cpp
The file was modifiedclang/test/lit.site.cfg.py.in
The file was modifiedclang/CMakeLists.txt
The file was modifiedclang/include/clang/Config/config.h.cmake
The file was modifiedclang/lib/Frontend/CompilerInvocation.cpp
The file was modifiedllvm/include/llvm/Config/llvm-config.h.cmake
The file was modifiedllvm/utils/gn/secondary/llvm/include/llvm/Config/BUILD.gn
The file was modifiedclang/test/CMakeLists.txt
The file was modifiedclang/include/clang/Driver/Options.td
Commit 79ba7967f4813445c3ce5624170c19584bbfda72 by sylvain.audi
[clang-scan-deps] Improve argument parsing to find target object file path.

Support the joined version of -o (-ofilepath), and ensure we use the last provided -o option.

Differential Revision: https://reviews.llvm.org/D92330
The file was addedclang/test/ClangScanDeps/target-filename.cpp
The file was addedclang/test/ClangScanDeps/Inputs/target-filename-cdb.json
The file was modifiedclang/tools/clang-scan-deps/ClangScanDeps.cpp
Commit 2074fec5beb4eca9d438acd3b37c2c6d20b891b1 by joker.eph
[MLIR][LLVM] Fix a tiny typo in the dialect docs.

Reviewed By: rriddle

Differential Revision: https://reviews.llvm.org/D92333
The file was modifiedmlir/docs/Dialects/LLVM.md
Commit e0665a9050840650809fa4eb6ef23bd8f5adfbf0 by jonathan.l.peyton
[OpenMP] Add support for Intel's umonitor/umwait

These changes add support for Intel's umonitor/umwait usage in wait
code, for architectures that support those intrinsic functions. Usage of
umonitor/umwait is off by default, but can be turned on by setting the
KMP_USER_LEVEL_MWAIT environment variable.

Differential Revision: https://reviews.llvm.org/D91189
The file was modifiedopenmp/runtime/src/i18n/en_US.txt
The file was modifiedopenmp/runtime/src/kmp_stats.h
The file was modifiedopenmp/runtime/src/kmp_lock.cpp
The file was modifiedopenmp/runtime/src/kmp_settings.cpp
The file was modifiedopenmp/runtime/cmake/config-ix.cmake
The file was modifiedopenmp/runtime/src/kmp_os.h
The file was modifiedopenmp/runtime/src/kmp_runtime.cpp
The file was modifiedopenmp/runtime/src/z_Windows_NT_util.cpp
The file was modifiedopenmp/runtime/src/kmp_tasking.cpp
The file was modifiedopenmp/runtime/src/kmp_taskdeps.cpp
The file was modifiedopenmp/runtime/src/kmp_barrier.cpp
The file was modifiedopenmp/runtime/src/kmp_wait_release.h
The file was modifiedopenmp/runtime/src/kmp.h
The file was modifiedopenmp/runtime/src/kmp_global.cpp
The file was modifiedopenmp/runtime/src/kmp_config.h.cmake
The file was modifiedopenmp/runtime/src/z_Linux_util.cpp
The file was modifiedopenmp/runtime/src/kmp_wait_release.cpp
Commit 1314a4938fba865412598b7227cb4657d59cd8bc by aeubanks
[LTO][wasm][NewPM] Allow using new pass manager for wasm LTO

Reviewed By: sbc100

Differential Revision: https://reviews.llvm.org/D92150
The file was modifiedlld/wasm/Options.td
The file was modifiedlld/wasm/LTO.cpp
The file was addedlld/test/wasm/lto/new-pass-manager.ll
The file was modifiedlld/wasm/Config.h
The file was modifiedlld/wasm/Driver.cpp
Commit f9eaa4650f5d5948af7050efef9d4098ff7f0ae8 by zahira.ammarguellat
Fix erroneous edit in https://github.com/llvm/llvm-project/actions/runs/394499364
The file was modifiedclang/lib/Sema/SemaLookup.cpp
Commit 806a76c001233f2c70bf93c73fb955c64c1c080f by aeubanks
Revert "[CMake][NewPM] Move ENABLE_EXPERIMENTAL_NEW_PASS_MANAGER into llvm/"

The new pass manager was accidentally enabled by default with this change.

This reverts commit a36bd4c90dcca82be9b64f65dbd22e921b6485ef.
The file was modifiedllvm/utils/gn/secondary/clang/test/BUILD.gn
The file was modifiedclang/test/CMakeLists.txt
The file was modifiedllvm/utils/gn/secondary/clang/include/clang/Config/BUILD.gn
The file was modifiedclang/test/lit.site.cfg.py.in
The file was modifiedllvm/CMakeLists.txt
The file was modifiedclang/CMakeLists.txt
The file was modifiedclang/lib/Driver/ToolChains/CommonArgs.cpp
The file was modifiedllvm/utils/gn/secondary/llvm/include/llvm/Config/BUILD.gn
The file was modifiedclang/include/clang/Config/config.h.cmake
The file was modifiedclang/lib/Frontend/CompilerInvocation.cpp
The file was modifiedclang/include/clang/Driver/Options.td
The file was modifiedllvm/include/llvm/Config/llvm-config.h.cmake
Commit 6b043ecdb71bb0354cbd64d766cc21b7d20dca84 by jurahul
[MLIR] Fix genTypeInterfaceMethods() to work correctly with InferTypeOpInterface

- Change InferTypeOpInterface::inferResultTypes to use fully qualified types matching
  the ones generated by genTypeInterfaceMethods, so the redundancy can be detected.
- Move genTypeInterfaceMethods() before genOpInterfaceMethods() so that the
  inferResultTypes method generated by genTypeInterfaceMethods() takes precedence
  over the declaration that might be generated by genOpInterfaceMethods()
- Modified an op in the test dialect to exercise this (the modified op would fail to
  generate valid C++ code due to duplicate inferResultTypes methods).

Differential Revision: https://reviews.llvm.org/D92414
The file was modifiedmlir/include/mlir/Interfaces/InferTypeOpInterface.td
The file was modifiedmlir/test/lib/Dialect/Test/TestOps.td
The file was modifiedmlir/tools/mlir-tblgen/OpDefinitionsGen.cpp
Commit 99d82412f822190a6caa3e3a5b9f87b71f56de47 by aeubanks
[LLD][ELF][NewPM] Add option to force legacy PM

In preparation for the NPM switch.

Reviewed By: MaskRay

Differential Revision: https://reviews.llvm.org/D92417
The file was modifiedlld/ELF/Driver.cpp
The file was modifiedlld/ELF/Options.td
The file was modifiedlld/test/ELF/lto/new-pass-manager.ll
Commit 2671fccf0381769276ca8246ec0499adcb9b0355 by Louis Dionne
[libc++] NFC: Remove unused macros in <__config>
The file was modifiedlibcxx/include/__config
Commit aafb3662103f4b3df315967c0cf4f6eec6bff0c4 by aeubanks
Reland [CMake][NewPM] Move ENABLE_EXPERIMENTAL_NEW_PASS_MANAGER into llvm/

This allows us to use its value everywhere, rather than just clang. Some
other places, like opt and lld, will use its value soon.

Rename it internally to LLVM_ENABLE_NEW_PASS_MANAGER.

The #define for it is now in llvm-config.h.

The initial land accidentally set the value of
LLVM_ENABLE_NEW_PASS_MANAGER to the string
ENABLE_EXPERIMENTAL_NEW_PASS_MANAGER instead of its value.

Reviewed By: rnk, hans

Differential Revision: https://reviews.llvm.org/D92072
The file was modifiedllvm/utils/gn/secondary/clang/include/clang/Config/BUILD.gn
The file was modifiedclang/lib/Frontend/CompilerInvocation.cpp
The file was modifiedclang/test/CMakeLists.txt
The file was modifiedllvm/CMakeLists.txt
The file was modifiedllvm/include/llvm/Config/llvm-config.h.cmake
The file was modifiedllvm/utils/gn/secondary/clang/test/BUILD.gn
The file was modifiedclang/include/clang/Driver/Options.td
The file was modifiedclang/lib/Driver/ToolChains/CommonArgs.cpp
The file was modifiedllvm/utils/gn/secondary/llvm/include/llvm/Config/BUILD.gn
The file was modifiedclang/CMakeLists.txt
The file was modifiedclang/test/lit.site.cfg.py.in
The file was modifiedclang/include/clang/Config/config.h.cmake
Commit 1b8ed1d03dee63fd0b787ab52d0b195df9c35b9c by cchen
[OpenMP51][DOCS] Claim "add present modifier in defaultmap clause", NFC.
The file was modifiedclang/docs/OpenMPSupport.rst
Commit 26b8ea2e3782890be96612701866d8ccec616bdc by omair.javaid
RegisterInfoPOSIX_arm64 remove unused bytes from g/G packet

This came up while putting together our new strategy to create g/G packets
in compliance with GDB RSP protocol where register offsets are calculated in
increasing order of register numbers without any unused spacing.

RegisterInfoPOSIX_arm64::GPR size was being calculated after alignment
correction to 8 bytes which meant there was a 4 bytes unused space between
last gpr (cpsr) and first vector register V. We have put LLVM_PACKED_START
decorator on RegisterInfoPOSIX_arm64::GPR to make sure single byte
alignment is enforced. Moreover we are now doing to use arm64 user_pt_regs
struct defined in ptrace.h for accessing ptrace user registers.

Reviewed By: labath

Differential Revision: https://reviews.llvm.org/D92063
The file was modifiedlldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64.h
The file was modifiedlldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64.cpp
The file was modifiedlldb/source/Plugins/Process/Utility/RegisterInfoPOSIX_arm64.h
Commit 78cb4562faa7315fff030593bc6bca4dc033f803 by omair.javaid
Make offset field optional in RegisterInfo packet for Arm64

This patch carries forward our aim to remove offset field from qRegisterInfo
packets and XML register description. I have created a new function which
returns if offset fields are dynamic meaning client can calculate offset on
its own based on register number sequence and register size. For now this
function only returns true for NativeRegisterContextLinux_arm64 but we can
test this for other architectures and make it standard later.

As a consequence we do not send offset field from lldb-server (arm64 for now)
while other stubs dont have an offset field so it wont effect them for now.
On the client side we have replaced previous offset calculation algorithm
with a new scheme, where we sort all primary registers in increasing
order of remote regnum and then calculate offset incrementally.

This committ also includes a test to verify all of above functionality
on Arm64.

Reviewed By: labath

Differential Revision: https://reviews.llvm.org/D91241
The file was modifiedlldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64.h
The file was modifiedlldb/include/lldb/Host/common/NativeRegisterContext.h
The file was modifiedlldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
The file was modifiedlldb/test/API/tools/lldb-server/registers-target-xml-reading/TestGdbRemoteTargetXmlPacket.py
The file was modifiedlldb/packages/Python/lldbsuite/test/tools/lldb-server/gdbremote_testcase.py
The file was modifiedlldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.h
The file was modifiedlldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp
The file was modifiedlldb/unittests/tools/lldb-server/tests/MessageObjects.cpp
The file was modifiedlldb/source/Plugins/Process/Utility/DynamicRegisterInfo.cpp
The file was modifiedlldb/unittests/tools/lldb-server/tests/TestClient.cpp
The file was addedlldb/test/API/functionalities/gdb_remote_client/TestAArch64XMLRegOffsets.py
Commit e1f613ce3c61d0664fd3cff663f290cf1c2b9696 by mgorny
[lldb] [test] Reenable two passing tests on FreeBSD

[Reenable TestReproducerAttach and TestThreadSpecificBpPlusCondition
on FreeBSD -- both seem to pass correctly now.
The file was modifiedlldb/test/API/functionalities/thread/thread_specific_break_plus_condition/TestThreadSpecificBpPlusCondition.py
The file was modifiedlldb/test/API/functionalities/reproducers/attach/TestReproducerAttach.py
Commit 615f63e149f31d6a97b5233b4fe634db92e19aa9 by dblaikie
Revert "[FastISel] Flush local value map on ever instruction" and dependent patches

This reverts commit cf1c774d6ace59c5adc9ab71b31e762c1be695b1.

This change caused several regressions in the gdb test suite - at least
a sample of which was due to line zero instructions making breakpoints
un-lined. I think they're worth investigating/understanding more (&
possibly addressing) before moving forward with this change.

Revert "[FastISel] NFC: Clean up unnecessary bookkeeping"
This reverts commit 3fd39d3694d32efa44242c099e923a7f4d982095.

Revert "[FastISel] NFC: Remove obsolete -fast-isel-sink-local-values option"
This reverts commit a474657e30edccd9e175d92bddeefcfa544751b2.

Revert "Remove static function unused after cf1c774."
This reverts commit dc35368ccf17a7dca0874ace7490cc3836fb063f.

Revert "[lldb] Fix TestThreadStepOut.py after "Flush local value map on every instruction""
This reverts commit 53a14a47ee89dadb8798ca8ed19848f33f4551d5.
The file was modifiedlldb/test/Shell/SymbolFile/NativePDB/load-pdb.cpp
The file was modifiedllvm/test/CodeGen/X86/membarrier.ll
The file was modifiedllvm/test/CodeGen/AArch64/arm64-fast-isel-intrinsic.ll
The file was modifiedllvm/test/CodeGen/PowerPC/mcm-6.ll
The file was modifiedllvm/test/CodeGen/Mips/emergency-spill-slot-near-fp.ll
The file was modifiedllvm/test/CodeGen/Mips/Fast-ISel/simplestore.ll
The file was modifiedllvm/test/CodeGen/PowerPC/mcm-default.ll
The file was modifiedllvm/test/CodeGen/X86/pr32484.ll
The file was modifiedllvm/test/CodeGen/X86/pr32340.ll
The file was modifiedllvm/test/CodeGen/Mips/Fast-ISel/callabi.ll
The file was modifiedllvm/test/CodeGen/AArch64/arm64-elf-globals.ll
The file was addedllvm/test/CodeGen/X86/fast-isel-constant.ll
The file was modifiedllvm/test/DebugInfo/COFF/lines-bb-start.ll
The file was modifiedllvm/test/CodeGen/X86/inreg.ll
The file was modifiedllvm/test/CodeGen/ARM/fast-isel-call.ll
The file was modifiedllvm/test/CodeGen/PowerPC/elf-common.ll
The file was modifiedllvm/test/CodeGen/PowerPC/mcm-9.ll
The file was modifiedllvm/test/CodeGen/AArch64/cfguard-checks.ll
The file was modifiedllvm/test/CodeGen/Mips/Fast-ISel/overflt.ll
The file was modifiedllvm/test/CodeGen/ARM/fast-isel-ldr-str-thumb-neg-index.ll
The file was modifiedllvm/test/CodeGen/ARM/fast-isel-select.ll
The file was modifiedlldb/test/API/functionalities/thread/step_out/main.cpp
The file was modifiedllvm/test/CodeGen/Mips/Fast-ISel/logopm.ll
The file was modifiedllvm/lib/CodeGen/SelectionDAG/FastISel.cpp
The file was modifiedllvm/test/CodeGen/X86/bmi-intrinsics-fast-isel.ll
The file was modifiedllvm/test/CodeGen/X86/pr32284.ll
The file was modifiedllvm/test/CodeGen/Mips/Fast-ISel/fastalloca.ll
The file was modifiedllvm/test/CodeGen/PowerPC/mcm-1.ll
The file was modifiedllvm/test/CodeGen/X86/pr32241.ll
The file was modifiedllvm/test/CodeGen/X86/fast-isel-select.ll
The file was modifiedllvm/test/CodeGen/X86/sse-intrinsics-fast-isel.ll
The file was modifiedlld/test/wasm/debug-removed-fn.ll
The file was modifiedlldb/test/Shell/SymbolFile/NativePDB/disassembly.cpp
The file was modifiedllvm/test/CodeGen/X86/avx512-mask-zext-bugfix.ll
The file was modifiedllvm/test/CodeGen/AArch64/swifterror.ll
The file was modifiedllvm/test/CodeGen/PowerPC/mcm-13.ll
The file was modifiedllvm/test/CodeGen/X86/fast-isel-call-cleanup.ll
The file was modifiedllvm/test/CodeGen/ARM/fast-isel.ll
The file was modifiedllvm/test/CodeGen/X86/volatile.ll
The file was modifiedllvm/test/DebugInfo/Mips/delay-slot.ll
The file was modifiedllvm/test/CodeGen/PowerPC/mcm-3.ll
The file was modifiedllvm/test/CodeGen/X86/crash-O0.ll
The file was modifiedllvm/test/CodeGen/ARM/fast-isel-intrinsic.ll
The file was modifiedllvm/test/CodeGen/X86/sink-local-value.ll
The file was modifiedllvm/include/llvm/CodeGen/FastISel.h
The file was modifiedllvm/test/CodeGen/Mips/Fast-ISel/fpcmpa.ll
The file was modifiedllvm/test/CodeGen/AArch64/arm64-patchpoint-webkit_jscc.ll
The file was modifiedllvm/test/CodeGen/PowerPC/fast-isel-load-store.ll
The file was modifiedllvm/test/CodeGen/Mips/Fast-ISel/simplestorei.ll
The file was modifiedllvm/test/CodeGen/Mips/Fast-ISel/icmpa.ll
The file was modifiedllvm/test/CodeGen/X86/pr32256.ll
The file was modifiedllvm/test/DebugInfo/X86/fission-ranges.ll
The file was modifiedlldb/test/API/functionalities/thread/step_out/TestThreadStepOut.py
The file was modifiedllvm/test/CodeGen/ARM/swifterror.ll
The file was modifiedllvm/test/CodeGen/Mips/Fast-ISel/shftopm.ll
The file was modifiedllvm/test/CodeGen/X86/lvi-hardening-loads.ll
The file was modifiedllvm/test/CodeGen/X86/pr44749.ll
The file was modifiedllvm/test/CodeGen/AArch64/arm64-fast-isel-call.ll
The file was modifiedllvm/test/CodeGen/ARM/fast-isel-vararg.ll
The file was modifiedllvm/test/CodeGen/ARM/fast-isel-ldrh-strh-arm.ll
The file was modifiedllvm/test/DebugInfo/X86/prologue-stack.ll
The file was modifiedllvm/test/CodeGen/AArch64/large-stack.ll
The file was modifiedllvm/test/CodeGen/X86/atomic64.ll
The file was modifiedllvm/test/CodeGen/X86/atomic-unordered.ll
The file was modifiedllvm/test/CodeGen/AArch64/arm64-abi_align.ll
The file was modifiedllvm/test/CodeGen/AArch64/arm64-fast-isel.ll
The file was modifiedllvm/test/CodeGen/PowerPC/mcm-2.ll
The file was modifiedllvm/test/CodeGen/AArch64/arm64-fast-isel-gv.ll
The file was modifiedllvm/test/CodeGen/X86/pr32345.ll
The file was modifiedllvm/test/CodeGen/X86/fast-isel-mem.ll
Commit 6b3eecd22ab2afd16be412d19eed0e01f10e6cc8 by jezng
[lld-macho] Extend PIE option handling

* Enable PIE by default if targeting 10.6 or above on x86-64. (The
  manpage says 10.7, but that actually applies only to i386, and in
  general varies based on the target platform. I didn't update the
  manpage because listing all the different behaviors would make for a
  pretty long description.)
* Add support for `-no_pie`
* Remove `HelpHidden` from `-pie`

Reviewed By: thakis

Differential Revision: https://reviews.llvm.org/D92362
The file was modifiedlld/test/MachO/x86-64-reloc-unsigned.s
The file was modifiedlld/MachO/Options.td
The file was modifiedlld/MachO/Driver.cpp
Commit 78b0ec3d1c5cc198093bb03ecb86bca25fe570ca by dblaikie
Avoid redundant inline with LLVM_ATTRIBUTE_ALWAYS_INLINE

Fix MSVC warning when __forceinline is paired with inline.

Reviewed By: dblaikie

Differential Revision: https://reviews.llvm.org/D85264
The file was modifiedllvm/include/llvm/IR/User.h
The file was modifiedllvm/include/llvm/Support/Compiler.h
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
Commit 8fee2ee9a689276eaea61d4c3f124aa80a81b6f7 by epastor
[ms] [llvm-ml] Introduce command-line compatibility for ml.exe and ml64.exe

Switch to OptParser for command-line handling

Reviewed By: thakis

Differential Revision: https://reviews.llvm.org/D90058
The file was removedllvm/test/tools/llvm-ml/struct_errors.test
The file was addedllvm/test/tools/llvm-ml/builtin_types.asm
The file was removedllvm/test/tools/llvm-ml/macro_function.test
The file was removedllvm/test/tools/llvm-ml/alias.test
The file was removedllvm/test/tools/llvm-ml/named_operators.test
The file was addedllvm/test/tools/llvm-ml/feat00_override.asm
The file was addedllvm/test/tools/llvm-ml/macro_errors.asm
The file was addedllvm/test/tools/llvm-ml/struct_errors.asm
The file was removedllvm/test/tools/llvm-ml/rip-relative-addressing.test
The file was removedllvm/test/tools/llvm-ml/radix_errors.test
The file was addedllvm/test/tools/llvm-ml/proc.asm
The file was modifiedllvm/tools/llvm-ml/llvm-ml.cpp
The file was removedllvm/test/tools/llvm-ml/feat00.test
The file was removedllvm/test/tools/llvm-ml/expansion.test
The file was removedllvm/test/tools/llvm-ml/strings.test
The file was removedllvm/test/tools/llvm-ml/type_operators.test
The file was addedllvm/test/tools/llvm-ml/alias.asm
The file was removedllvm/test/tools/llvm-ml/line_continuations.test
The file was addedllvm/test/tools/llvm-ml/struct.asm
The file was addedllvm/test/tools/llvm-ml/repeat_directives.asm
The file was addedllvm/test/tools/llvm-ml/alias_errors.asm
The file was addedllvm/test/tools/llvm-ml/radix.asm
The file was addedllvm/test/tools/llvm-ml/strings.asm
The file was addedllvm/test/tools/llvm-ml/type_operators.asm
The file was modifiedllvm/test/tools/llvm-ml/lit.local.cfg
The file was removedllvm/test/tools/llvm-ml/dot_operator.test
The file was addedllvm/test/tools/llvm-ml/dot_operator.asm
The file was addedllvm/test/tools/llvm-ml/radix_errors.asm
The file was addedllvm/test/tools/llvm-ml/proc_frame.asm
The file was removedllvm/test/tools/llvm-ml/variable.test
The file was addedllvm/test/tools/llvm-ml/feat00.asm
The file was addedllvm/test/tools/llvm-ml/variable.asm
The file was modifiedllvm/test/tools/llvm-ml/basic.test
The file was removedllvm/test/tools/llvm-ml/radix.test
The file was removedllvm/test/tools/llvm-ml/strings_errors.test
The file was addedllvm/test/tools/llvm-ml/line_continuations.asm
The file was addedllvm/test/tools/llvm-ml/basic_data.asm
The file was addedllvm/test/tools/llvm-ml/named_operators.asm
The file was removedllvm/test/tools/llvm-ml/run.test
The file was addedllvm/test/tools/llvm-ml/rip-relative-addressing.asm
The file was removedllvm/test/tools/llvm-ml/builtin_types.test
The file was removedllvm/test/tools/llvm-ml/macro.test
The file was removedllvm/test/tools/llvm-ml/feat00_override.test
The file was removedllvm/test/tools/llvm-ml/proc.test
The file was addedllvm/test/tools/llvm-ml/size_inference.asm
The file was addedllvm/test/tools/llvm-ml/expansion.asm
The file was addedllvm/test/tools/llvm-ml/macro.asm
The file was addedllvm/test/tools/llvm-ml/run.asm
The file was addedllvm/test/tools/llvm-ml/macro_function.asm
The file was addedllvm/test/tools/llvm-ml/struct_alignment.asm
The file was addedllvm/test/tools/llvm-ml/strings_errors.asm
The file was addedllvm/tools/llvm-ml/Opts.td
The file was removedllvm/test/tools/llvm-ml/struct.test
The file was modifiedllvm/tools/llvm-ml/CMakeLists.txt
The file was removedllvm/test/tools/llvm-ml/size_inference.test
The file was removedllvm/test/tools/llvm-ml/alias_errors.test
The file was removedllvm/test/tools/llvm-ml/proc_frame.test
The file was removedllvm/test/tools/llvm-ml/macro_errors.test
The file was removedllvm/test/tools/llvm-ml/basic_data.test
The file was removedllvm/test/tools/llvm-ml/repeat_directives.test
The file was removedllvm/test/tools/llvm-ml/struct_alignment.test
Commit d67e58f23a8232ee17dba3cd8c5b4c1378ddbc59 by Louis Dionne
[libc++abi] Don't try calling __libcpp_aligned_free when aligned allocation is disabled

See https://reviews.llvm.org/rGa78aaa1ad512#962077 for details.
The file was modifiedlibcxxabi/src/fallback_malloc.cpp
Commit a38ed62ea803a41c2e1f3fa12edbc176e474056f by sbc
[lld][WebAssembly] Feedback from D92038. NFC

Differential Revision: https://reviews.llvm.org/D92429
The file was modifiedlld/wasm/Symbols.h
The file was modifiedlld/test/wasm/weak-undefined-pic.s
Commit 1e4d6d1c1ff3f5a4d6e7dda053386ff411fd7de4 by mark.nauwelaerts
[clang-format] Add new option PenaltyIndentedWhitespace

Reviewed By: MyDeveloperDay

Differential Revision: https://reviews.llvm.org/D90534
The file was modifiedclang/lib/Format/ContinuationIndenter.cpp
The file was modifiedclang/include/clang/Format/Format.h
The file was modifiedclang/lib/Format/Format.cpp
The file was modifiedclang/docs/ClangFormatStyleOptions.rst
The file was modifiedclang/unittests/Format/FormatTest.cpp
Commit ba4e45a0aa6596e156b27a620281d7befc5297fc by thakis
[gn build] (manually) port 8fee2ee9a68
The file was modifiedllvm/utils/gn/secondary/llvm/tools/llvm-ml/BUILD.gn
Commit 3fcb0eeb152beb4320c7632bcfa2b1e7c2e5ca00 by jezng
[lld-macho] Emit STABS symbols for debugging, and drop debug sections

Debug sections contain a large amount of data. In order not to bloat the size
of the final binary, we remove them and instead emit STABS symbols for
`dsymutil` and the debugger to locate their contents in the object files.

With this diff, `dsymutil` is able to locate the debug info. However, we need
a few more features before `lldb` is able to work well with our binaries --
e.g. having `LC_DYSYMTAB` accurately reflect the number of local symbols,
emitting `LC_UUID`, and more. Those will be handled in follow-up diffs.

Note also that the STABS we emit differ slightly from what ld64 does. First, we
emit the path to the source file as one `N_SO` symbol instead of two. (`ld64`
emits one `N_SO` for the dirname and one of the basename.) Second, we do not
emit `N_BNSYM` and `N_ENSYM` STABS to mark the start and end of functions,
because the `N_FUN` STABS already serve that purpose. @clayborg recommended
these changes based on his knowledge of what the debugging tools look for.

Additionally, this current implementation doesn't accurately reflect the size
of function symbols. It uses the size of their containing sectioins as a proxy,
but that is only accurate if `.subsections_with_symbols` is set, and if there
isn't an `N_ALT_ENTRY` in that particular subsection. I think we have two
options to solve this:

1. We can split up subsections by symbol even if `.subsections_with_symbols`
   is not set, but include constraints to ensure those subsections retain
   their order in the final output. This is `ld64`'s approach.
2. We could just add a `size` field to our `Symbol` class. This seems simpler,
   and I'm more inclined toward it, but I'm not sure if there are use cases
   that it doesn't handle well. As such I'm punting on the decision for now.

Reviewed By: clayborg

Differential Revision: https://reviews.llvm.org/D89257
The file was modifiedlld/MachO/OutputSegment.h
The file was modifiedlld/MachO/InputFiles.h
The file was modifiedlld/MachO/SyntheticSections.cpp
The file was modifiedlld/MachO/CMakeLists.txt
The file was modifiedlld/MachO/Writer.cpp
The file was modifiedlld/MachO/InputFiles.cpp
The file was addedlld/test/MachO/stabs.s
The file was addedlld/MachO/Dwarf.cpp
The file was modifiedlld/MachO/SyntheticSections.h
The file was addedlld/MachO/Dwarf.h
The file was modifiedlld/MachO/InputSection.h
Commit 51629abce0e2f9d1376eb0b5070532a2bbec6766 by jezng
[lld-macho] Emit local symbols in symtab; record metadata in LC_DYSYMTAB

Symbols of the same type must be laid out contiguously: following ld64's
lead, we choose to emit all local symbols first, then external symbols,
and finally undefined symbols. For each symbol type, the LC_DYSYMTAB
load command will record the range (start index and total number) of
those symbols in the symbol table.

This work was motivated by the fact that LLDB won't search for debug
info if LC_DYSYMTAB says there are no local symbols (since STABS symbols
are all local symbols). With this change, LLDB is now able to display
the source lines at a given breakpoint when debugging our binaries.

Some tests had to be updated due to local symbol names now appearing in
`llvm-objdump`'s output.

Reviewed By: #lld-macho, smeenai, clayborg

Differential Revision: https://reviews.llvm.org/D89285
The file was modifiedlld/test/MachO/stabs.s
The file was modifiedlld/test/MachO/subsections-symbol-relocs.s
The file was modifiedlld/MachO/Writer.cpp
The file was modifiedlld/test/MachO/symtab.s
The file was modifiedlld/MachO/SyntheticSections.cpp
The file was modifiedlld/MachO/SyntheticSections.h
The file was modifiedlld/test/MachO/tlv.s
Commit d0c4be42e35d8cff069f91a45b76ea24187c233d by jezng
[lld-macho] Emit empty string as first entry of string table

ld64 emits string tables which start with a space and a zero byte. We
match its behavior here since some tools depend on it.

Similar rationale as {D89561}.

Reviewed By: #lld-macho, smeenai

Differential Revision: https://reviews.llvm.org/D89639
The file was modifiedlld/MachO/SyntheticSections.h
The file was modifiedlld/test/MachO/symtab.s
Commit b768d57b368781e6737c403e425bd835850f3a0a by jezng
[lld-macho] Add archive name and file modtime to STABS output

We should also set the modtime when running LTO. That will be done in a
future diff, together with support for the `-object_path_lto` flag.

Reviewed By: clayborg

Differential Revision: https://reviews.llvm.org/D91318
The file was modifiedlld/MachO/SyntheticSections.cpp
The file was modifiedlld/MachO/DriverUtils.cpp
The file was modifiedlld/MachO/LTO.cpp
The file was modifiedlld/MachO/InputFiles.h
The file was modifiedlld/MachO/InputFiles.cpp
The file was modifiedlld/MachO/Driver.cpp
The file was modifiedlld/MachO/Driver.h
The file was modifiedlld/test/MachO/stabs.s
Commit 78f6498cdcdb5a7644b1c32615cfe2fdfd9c2545 by jezng
[lld-macho] Flesh out STABS implementation

This addresses a lot of the comments in {D89257}. Ideally it'd have been
done in the same diff, but the commits in between make that difficult.

This diff implements:
* N_GSYM and N_STSYM, the STABS for global and static symbols
* Has the STABS reflect the section IDs of their referent symbols
* Ensures we don't fail when encountering absolute symbols or files with
  no debug info
* Sorts STABS symbols by file to minimize the number of N_OSO entries

Reviewed By: clayborg

Differential Revision: https://reviews.llvm.org/D92366
The file was modifiedlld/test/MachO/stabs.s
The file was modifiedlld/MachO/InputFiles.h
The file was modifiedlld/MachO/InputFiles.cpp
The file was modifiedlld/MachO/SyntheticSections.h
The file was modifiedlld/MachO/SyntheticSections.cpp
Commit c7dbaec396ef98b8bc6acb7631d2919449986add by jezng
[lld-macho] Add isCodeSection()

This is the same logic that ld64 uses to determine which sections
contain functions. This was added so that we could determine which
STABS entries should be N_FUN.

Reviewed By: clayborg

Differential Revision: https://reviews.llvm.org/D92430
The file was modifiedlld/MachO/InputSection.cpp
The file was modifiedlld/MachO/SyntheticSections.cpp
The file was modifiedlld/MachO/InputSection.h
The file was modifiedlld/test/MachO/stabs.s
Commit abfd1a8b3bc5ad8516a83c3ae7ba9f16032525ad by riddleriver
[mlir][PDL] Add support for PDL bytecode and expose PDL support to OwningRewritePatternList

PDL patterns are now supported via a new `PDLPatternModule` class. This class contains a ModuleOp with the pdl::PatternOp operations representing the patterns, as well as a collection of registered C++ functions for native constraints/creations/rewrites/etc. that may be invoked via the pdl patterns. Instances of this class are added to an OwningRewritePatternList in the same fashion as C++ RewritePatterns, i.e. via the `insert` method.

The PDL bytecode is an in-memory representation of the PDL interpreter dialect that can be efficiently interpreted/executed. The representation of the bytecode boils down to a code array(for opcodes/memory locations/etc) and a memory buffer(for storing attributes/operations/values/any other data necessary). The bytecode operations are effectively a 1-1 mapping to the PDLInterp dialect operations, with a few exceptions in cases where the in-memory representation of the bytecode can be more efficient than the MLIR representation. For example, a generic `AreEqual` bytecode op can be used to represent AreEqualOp, CheckAttributeOp, and CheckTypeOp.

The execution of the bytecode is split into two phases: matching and rewriting. When matching, all of the matched patterns are collected to avoid the overhead of re-running parts of the matcher. These matched patterns are then considered alongside the native C++ patterns, which rewrite immediately in-place via `RewritePattern::matchAndRewrite`,  for the given root operation. When a PDL pattern is matched and has the highest benefit, it is passed back to the bytecode to execute its rewriter.

Differential Revision: https://reviews.llvm.org/D89107
The file was modifiedmlir/tools/mlir-opt/mlir-opt.cpp
The file was modifiedmlir/lib/Rewrite/PatternApplicator.cpp
The file was addedmlir/lib/Rewrite/ByteCode.cpp
The file was addedmlir/test/lib/Rewrite/TestPDLByteCode.cpp
The file was modifiedmlir/include/mlir/Rewrite/PatternApplicator.h
The file was modifiedmlir/include/mlir/IR/PatternMatch.h
The file was modifiedmlir/lib/IR/Operation.cpp
The file was modifiedmlir/lib/IR/PatternMatch.cpp
The file was modifiedmlir/include/mlir/IR/BlockSupport.h
The file was modifiedmlir/include/mlir/IR/Operation.h
The file was modifiedmlir/lib/IR/Block.cpp
The file was modifiedmlir/lib/Rewrite/FrozenRewritePatternList.cpp
The file was modifiedmlir/test/lib/CMakeLists.txt
The file was modifiedmlir/include/mlir/IR/OperationSupport.h
The file was modifiedmlir/include/mlir/Dialect/PDLInterp/IR/PDLInterpOps.td
The file was addedmlir/test/lib/Rewrite/CMakeLists.txt
The file was addedmlir/lib/Rewrite/ByteCode.h
The file was modifiedmlir/tools/mlir-opt/CMakeLists.txt
The file was modifiedmlir/include/mlir/IR/StorageUniquerSupport.h
The file was modifiedmlir/include/mlir/Rewrite/FrozenRewritePatternList.h
The file was modifiedmlir/lib/Rewrite/CMakeLists.txt
The file was addedmlir/test/Rewrite/pdl-bytecode.mlir
The file was modifiedmlir/test/lib/Transforms/TestLinalgTransforms.cpp
Commit c64037b784aeae63b1863ee1abd5601c2c6a8102 by epastor
[ms] [llvm-ml] Support command-line defines

Enable command-line defines as textmacros

Reviewed By: thakis

Differential Revision: https://reviews.llvm.org/D90059
The file was modifiedllvm/tools/llvm-ml/llvm-ml.cpp
The file was addedllvm/test/tools/llvm-ml/command_line_defines.asm
The file was modifiedllvm/lib/MC/MCParser/MasmParser.cpp
The file was modifiedllvm/include/llvm/MC/MCParser/MCAsmParser.h
The file was modifiedllvm/tools/llvm-ml/Opts.td
Commit ea7b07187b273059d503b3b35539668d3c1f5412 by aeubanks
[gn build] Manually port 8fee2ee9
The file was modifiedllvm/utils/gn/secondary/llvm/tools/llvm-ml/BUILD.gn
Commit ec13b391170e5984894e1c8635a6964e79572205 by aeubanks
[gn build] Format all gn files

$ git ls-files '*.gn' '*.gni' | xargs llvm/utils/gn/gn.py format
The file was modifiedllvm/utils/gn/secondary/clang/test/BUILD.gn
The file was modifiedllvm/utils/gn/secondary/llvm/lib/DebugInfo/PDB/BUILD.gn
The file was modifiedllvm/utils/gn/secondary/clang-tools-extra/clang-tidy/concurrency/BUILD.gn
Commit e8b816ad19c728e1c8393df92d7e87b4bc9a38cc by llvmgnsyncbot
[gn build] Port 3fcb0eeb152
The file was modifiedllvm/utils/gn/secondary/lld/MachO/BUILD.gn
Commit 04424c69bc7b98e1bbd0480ed5cdc251c6c94521 by Tony.Tye
[NFC][AMDGPU] AMDGPU code object V4 ABI documentation

- Documantation for AMDGPU code object V4.
- Documentation clarification for code object V2 and V3.
- Documentation for the clang-offload-bundler.
- Numerous other documentation clarifications.

Change-Id: I338b327cc9e75da6c987b7e081b496402a5a020e

Differential Revision: https://reviews.llvm.org/D92434
The file was modifiedllvm/docs/AMDGPUUsage.rst
The file was addedclang/docs/ClangOffloadBundler.rst
Commit 6c3fa97d8a628541c82d8981aabefcb2dcb29f17 by Jessica Paquette
[AArch64][GlobalISel] Select Bcc when it's better than TB(N)Z

Instead of falling back to selecting TB(N)Z when we fail to select an
optimized compare against 0, select Bcc instead.

Also simplify selectCompareBranch a little while we're here, because the logic
was kind of hard to follow.

At -O0, this is a 0.1% geomean code size improvement for CTMark.

A simple example of where this can kick in is here:
https://godbolt.org/z/4rra6P

In the example above, GlobalISel currently produces a subs, cset, and tbnz.
SelectionDAG, on the other hand, just emits a compare and b.le.

Differential Revision: https://reviews.llvm.org/D92358
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/tbnz-slt.mir
The file was modifiedllvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/opt-and-tbnz-tbz.mir
Commit 19bdc8e5a307f6eb209d4f91620d70bd2f80219e by leonardchan
[llvm] Fix for failing test from fdbd84c6c819d4462546961f6086c1524d5d5ae8

When handling a DSOLocalEquivalent operand change:

- Remove assertion checking that the `To` type and current type are the
  same type. This is not always a requirement.
- Add a missing bitcast from an old DSOLocalEquivalent to the type of
  the new one.
The file was modifiedllvm/lib/IR/Constants.cpp
Commit 07ab597bb0356ceae0195e4d66205e7eb2d07b7e by thakis
[lld/mac] Fix issues around thin archives

- most importantly, fix a use-after-free when using thin archives,
  by putting the archive unique_ptr to the arena allocator. This
  ports D65565 to MachO

- correctly demangle symbol namess from archives in diagnostics

- add a test for thin archives -- it finds this UaF, but only when
  running it under asan (it also finds the demangling fix)

- make forceLoadArchive() use addFile() with a bool to have the archive
  loading code in fewer places. no behavior change; matches COFF port a
  bit better

Differential Revision: https://reviews.llvm.org/D92360
The file was modifiedlld/MachO/InputFiles.cpp
The file was modifiedlld/MachO/Symbols.cpp
The file was modifiedlld/MachO/Driver.cpp
The file was modifiedlld/MachO/Symbols.h
The file was addedlld/test/MachO/thin-archive.s
Commit e27e3ba9c9d8e3f25d4b03a71cdb6b47cbff2c8b by i
[RISCVAsmParser] Allow a SymbolRef operand to be a complex expression

So that instructions like `lla a5, (0xFF + end) - 4` (supported by GNU as) can
be parsed.

Add a missing test that an operand like `foo + foo` is not allowed.

Reviewed By: jrtc27

Differential Revision: https://reviews.llvm.org/D92293
The file was modifiedllvm/test/MC/RISCV/rvi-pseudos.s
The file was modifiedllvm/test/MC/RISCV/rvi-pseudos-invalid.s
The file was modifiedllvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
Commit adfefa555333b6e276150f6d9adb6f5bb910b103 by Vitaly Buka
[NFC] Extract ForEachDVT
The file was modifiedcompiler-rt/lib/lsan/lsan_common.cpp
The file was modifiedcompiler-rt/lib/msan/msan_thread.cpp
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_tls_get_addr.h
Commit 8a300deb3e4602eee7745db5281b5ac728e44971 by Vitaly Buka
[sanitizer] Make DTLS_on_tls_get_addr signal safer

Avoid relocating DTV table and use linked list of mmap-ed pages.

Reviewed By: eugenis

Differential Revision: https://reviews.llvm.org/D92428
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_tls_get_addr.cpp
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_tls_get_addr.h
The file was addedcompiler-rt/test/sanitizer_common/TestCases/Linux/resize_tls_dynamic.cpp
Commit 91843f79498dac6c2de734ac41a2ab1eb3676663 by noreply
github actions: Update branch_sync to push to main
The file was modified.github/workflows/main-branch-sync.yml
Commit 1f40d60a3b7f310ff3f77bb8643a27d979a703cb by richard
Remove CXXBasePaths::found_decls and simplify and modernize its only
caller.

This function did not satisfy its documented contract: it only
considered the first lookup result on each base path, not all lookup
results. It also performed unnecessary memory allocations.

This change results in a minor change to our representation: we now
include overridden methods that are found by any derived-to-base path
(not involving another override) in the list of overridden methods for a
function, rather than filtering out functions from bases that are both
direct virtual bases and indirect virtual bases for which the indirect
virtual base path contains another override for the function. (That
filtering rule is part of the class-scope name lookup rules, and doesn't
really have much to do with enumerating overridden methods.) The users
of the list of overridden methods do not appear to rely on this
filtering having happened, and it's simpler to not do it.
The file was modifiedclang/include/clang/AST/CXXInheritance.h
The file was modifiedclang/lib/AST/CXXInheritance.cpp
The file was modifiedclang/lib/Sema/SemaDecl.cpp
Commit c82f002cea304be505f14af70dce25ad149ba29f by Jessica Paquette
[AArch64][GlobalISel] Don't write to WZR in non-flag-setting G_BRCOND case

We are avoiding writing to WZR just about everywhere else.

Also update the code to use MachineIRBuilder for the sake of consistency.

We also didn't have a GlobalISel testcase for this path, so add a simple one
now.

Differential Revision: https://reviews.llvm.org/D90626
The file was addedllvm/test/CodeGen/AArch64/GlobalISel/speculative-hardening-brcond.mir
The file was modifiedllvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
Commit 31e03a9bd9561e6b21e4e1f5b80a8316de624876 by i
[WebAssembly] Rename --lto-no-new-pass-manager to --no-lto-new-pass-manager

In addition, disallow `-lto-new-pass-manager` (see D79371).

Note: the ELF port has also adopted --no-lto-new-pass-manager

Reviewed By: aeubanks

Differential Revision: https://reviews.llvm.org/D92422
The file was modifiedlld/test/wasm/lto/new-pass-manager.ll
The file was modifiedlld/wasm/Options.td
The file was modifiedlld/wasm/Driver.cpp
Commit bdd6718bef6f2b1f74c346b239debd6c511e4265 by Vitaly Buka
[NFC] Disable new test from D92428 on PPC TSAN
The file was modifiedcompiler-rt/test/sanitizer_common/TestCases/Linux/resize_tls_dynamic.cpp
Commit b6b0a80eb93cf1547974e610d5fac261764570f5 by Jessica Paquette
Fix typo in testcase runline that got there because I have very bad hands

llvm/test/CodeGen/AArch64/GlobalISel/speculative-hardening-brcond.mir had a
slash in its runline.
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/speculative-hardening-brcond.mir
Commit 1e91803c671a105f1eabce0e496766b512242f1d by leonardchan
Recommit "[clang][Fuchsia] Add relative-vtables multilib"

This recommits fdbd84c6c819d4462546961f6086c1524d5d5ae8 whose initial
build issues were fixed in 19bdc8e5a307f6eb209d4f91620d70bd2f80219e.
The file was modifiedclang/lib/Driver/ToolChains/Fuchsia.cpp
The file was modifiedclang/test/Driver/fuchsia.cpp
The file was modifiedclang/cmake/caches/Fuchsia-stage2.cmake
The file was addedclang/test/Driver/Inputs/basic_fuchsia_tree/lib/x86_64-fuchsia/c++/relative-vtables/libc++.so
The file was addedclang/test/Driver/Inputs/basic_fuchsia_tree/lib/aarch64-fuchsia/c++/relative-vtables/libc++.so
The file was addedclang/test/Driver/Inputs/basic_fuchsia_tree/lib/aarch64-fuchsia/c++/relative-vtables+noexcept/libc++.so
The file was addedclang/test/Driver/Inputs/basic_fuchsia_tree/lib/x86_64-fuchsia/c++/relative-vtables+noexcept/libc++.so
Commit 8b8088ac6ca977fbce52abd50ac88ecbe08d9cb2 by dschuff
[lld] Use -1 as tombstone value for discarded code ranges

Under existing behavior discarded functions are relocated to have the start pc
0. This causes problems when debugging as they typically overlap the first
function and lldb symbol resolution frequently chooses a discarded function
instead of the correct one. Using the value -1 or -2 (depending on which DWARF
section we are writing) is sufficient to prevent lldb from resolving to these
symbols.

Reviewed By: MaskRay, yurydelendik, sbc100

Differential Revision: https://reviews.llvm.org/D91803
The file was modifiedlld/wasm/InputChunks.cpp
The file was modifiedlld/wasm/InputChunks.h
The file was modifiedlld/wasm/InputFiles.h
The file was modifiedlld/test/wasm/debug-removed-fn.ll
The file was modifiedlld/test/wasm/debuginfo.test
The file was modifiedlld/wasm/InputFiles.cpp
Commit 405ea2b93d96f7014e60eeb84040b35372d448e7 by jianzhouzh
[msan] Replace 8 by kShadowTLSAlignment

Reviewed-by: eugenis

Differential Revision: https://reviews.llvm.org/D92275
The file was modifiedllvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
Commit fa20ab7b1bb2c77570f46888fe46e6ecf7aeafc6 by riddleriver
[mlir][PDL] Add append specialization for ByteCode OpCode to fix GCC5 build
The file was modifiedmlir/lib/Rewrite/ByteCode.cpp