SuccessChanges

Summary

  1. [profile] Add %t LLVM_PROFILE_FILE option to substitute $TMPDIR (details)
  2. [AArch64][GlobalISel] Add selection support for <8 x s16>  G_INSERT_VECTOR_ELT with GPR scalar. (details)
  3. Sema: remove unnecessary parameter for SwiftName handling (NFCI) (details)
  4. Fix DISubprogram-v4.ll after e17f52d623cc146b7d9bf5a2e02965043508b4c4 (details)
  5. [PowerPC] Add accumulator register class and instructions (details)
  6. Fix Assembler/disubprogram.ll after e17f52d623cc146b7d9bf5a2e02965043508b4c4 (details)
  7. [MLIR] Fix for updating function signature in normalizing memrefs (details)
  8. AArch64/GlobalISel: Narrow stack passed argument access size (details)
  9. Revert "Add a verifier check that rejects non-distinct DISubprogram function" (details)
  10. Move PassBuilder::registerParseTopLevelPipelineCallback out-of-line (details)
  11. [SCEV] Add another test using info from loop guards for BTC with NE. (details)
  12. [SCEV] Add support for `x != 0` to CollectCondition. (details)
  13. OpaquePtr: Add type to sret attribute (details)
  14. [flang][OpenMP] Place the insertion point to the start of the block (details)
  15. [NFC] Fix comment for DataOp (details)
  16. [lld-macho] Implement support for PIC (details)
  17. [lld-macho] Support -bundle (details)
  18. [lld-macho] Allow the entry symbol to be dynamically bound (details)
  19. [lld-macho] Support absolute symbols (details)
  20. [lld-macho] Always include custom syslibroot when running tests (details)
  21. [lld-macho] Ignore a few more undocumented flags (details)
  22. [Coroutine] Split PHI Nodes in `cleanuppad` blocks in a way that obeys EH pad rules (details)
  23. [WebAssembly] Check features before making SjLj vars thread-local (details)
  24. [lldb] Pass reference instead of pointer in protected SBAddress methods. (details)
  25. Add a verifier check that rejects non-distinct DISubprogram function (details)
  26. [LoopReroll][NewPM] Port -loop-reroll to NPM (details)
Commit 62c372770d2e87f3e882a20d43c6814e6c4fe0f5 by Vedant Kumar
[profile] Add %t LLVM_PROFILE_FILE option to substitute $TMPDIR

Add support for expanding the %t filename specifier in LLVM_PROFILE_FILE
to the TMPDIR environment variable. This is supported on all platforms.

On Darwin, TMPDIR is used to specify a temporary application-specific
scratch directory. When testing apps on remote devices, it can be
challenging for the host device to determine the correct TMPDIR, so it's
helpful to have the runtime do this work.

rdar://68524185

Differential Revision: https://reviews.llvm.org/D87332
The file was addedcompiler-rt/test/profile/instrprof-tmpdir.c
The file was modifiedcompiler-rt/lib/profile/InstrProfilingFile.c
The file was modifiedclang/docs/SourceBasedCodeCoverage.rst
Commit b5e87c9ef2243ecd65e0ef87a1bf303c0c26db04 by Amara Emerson
[AArch64][GlobalISel] Add selection support for <8 x s16>  G_INSERT_VECTOR_ELT with GPR scalar.

Fixes the neon intrinsics test in the test suite.
The file was modifiedllvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/select-insert-vector-elt.mir
Commit 76eb163259c46171559a49111a394a3e48d1e523 by Saleem Abdulrasool
Sema: remove unnecessary parameter for SwiftName handling (NFCI)

This code never actually did anything in the implementation.

`mergeDeclAttribute` is declared as `static`, and referenced exactly
once in the file: from `Sema::mergeDeclAttributes`.

`Sema::mergeDeclAttributes` sets `LocalAMK` to `AMK_None`.  If the
attribute is `DeprecatedAttr`, `UnavailableAttr`, or `AvailabilityAttr`
then the `LocalAMK` is updated.  However, because we are dealing with a
`SwiftNameDeclAttr` here, `LocalAMK` remains `AMK_None`.  This is then
passed to the function which will as a result pass the value of
`AMK_None == AMK_Override` aka `false`.  Simply propagate the value
through and erase the dead codepath.

Thanks to Aaron Ballman for flagging the use of the availability merge
kind here leading to this simplification!

Differential Revision: https://reviews.llvm.org/D88263
Reviewed By: Aaron Ballman
The file was modifiedclang/lib/Sema/SemaDecl.cpp
The file was modifiedclang/include/clang/Sema/Sema.h
The file was modifiedclang/lib/Sema/SemaDeclAttr.cpp
Commit 7d0556fc137aa07347741b7750e50ecbc2b4c6e2 by i
Fix DISubprogram-v4.ll after e17f52d623cc146b7d9bf5a2e02965043508b4c4
The file was modifiedllvm/test/Bitcode/DISubprogram-v4.ll
The file was modifiedllvm/test/Bitcode/DISubprogram-v4.ll.bc
Commit 9b86b7009430789d28d67bb1b630e74473f80fa2 by baptiste.saleil
[PowerPC] Add accumulator register class and instructions

This patch adds the xxmfacc, xxmtacc and xxsetaccz instructions to manipulate
accumulator registers. It also adds the ACC register class definition for the
accumulator registers.

Differential Revision: https://reviews.llvm.org/D84847
The file was modifiedllvm/lib/Target/PowerPC/Disassembler/PPCDisassembler.cpp
The file was modifiedllvm/lib/Target/PowerPC/AsmParser/PPCAsmParser.cpp
The file was modifiedllvm/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.h
The file was modifiedllvm/lib/Target/PowerPC/PPCInstrPrefix.td
The file was modifiedllvm/test/MC/PowerPC/ppc64-encoding-ISA31.s
The file was modifiedllvm/lib/Target/PowerPC/PPCRegisterInfo.h
The file was modifiedllvm/test/MC/Disassembler/PowerPC/ppc64-encoding-ISA31.txt
The file was modifiedllvm/lib/Target/PowerPC/PPCRegisterInfo.td
Commit 6caf3fb8178699ac14fb94fef99aaf1cf297264f by i
Fix Assembler/disubprogram.ll after e17f52d623cc146b7d9bf5a2e02965043508b4c4
The file was modifiedllvm/test/Assembler/disubprogram.ll
Commit c1f856803142a113fa094411fa4760512b919ef6 by uday
[MLIR] Fix for updating function signature in normalizing memrefs

Normalizing memrefs failed when a caller of symbolic use in a function
can not be casted to `CallOp`. This patch avoids the failure by checking
the result of the casting. If the caller can not be casted to `CallOp`,
it is skipped.

Differential Revision: https://reviews.llvm.org/D87746
The file was modifiedmlir/test/Transforms/normalize-memrefs-ops.mlir
The file was modifiedmlir/lib/Transforms/NormalizeMemRefs.cpp
The file was modifiedmlir/test/lib/Dialect/Test/TestOps.td
The file was modifiedmlir/test/lib/Dialect/Test/TestDialect.h
Commit 6cb0d23f2ea6fb25106b0380797ccbc2141d71e1 by Matthew.Arsenault
AArch64/GlobalISel: Narrow stack passed argument access size

This fixes a verifier error in the testcase from bug 47619.

The stack passed s3 value was widened to 4-bytes, and producing a
4-byte memory access with a < 1 byte result type. We need to either
widen the result type or narrow the access size. This copies the code
directly from the AMDGPU handling, which narrows the load size. I
don't like that every target has to handle this, but this is currently
broken on the 11 release branch and this is the simplest fix.

This reverts commit 42bfa7c63b85e76fe16521d1671afcafaf8f64ed.
The file was addedllvm/test/CodeGen/AArch64/GlobalISel/irtranslator-stack-evt-bug47619.ll
The file was modifiedllvm/lib/Target/AArch64/GISel/AArch64CallLowering.cpp
Commit 8055ae31f46b0a3fafd7b64f6cd77b78b34e6753 by Adrian Prantl
Revert "Add a verifier check that rejects non-distinct DISubprogram function"

This reverts commit e17f52d623cc146b7d9bf5a2e02965043508b4c4.

while investigating bot breakage.
The file was modifiedllvm/test/DebugInfo/Generic/2009-11-03-InsertExtractValue.ll
The file was modifiedllvm/lib/IR/Verifier.cpp
The file was removedllvm/test/Verifier/unique-disubprogram.ll
Commit 4f1897c6f0082ef968547458b1b7b2fba0bf1590 by hans
Move PassBuilder::registerParseTopLevelPipelineCallback out-of-line

For some mysterious reason it doesn't build with clang-cl when compiled
as part of the includes in clang's CodeGenAction.cpp
(crbug.com/1132292).
The file was modifiedllvm/include/llvm/Passes/PassBuilder.h
The file was modifiedllvm/lib/Passes/PassBuilder.cpp
Commit 3a69ebf0ad018561c79fc52d9d3986fdc21d8d5c by flo
[SCEV] Add another test using info from loop guards for BTC with NE.
The file was modifiedllvm/test/Analysis/ScalarEvolution/max-backedge-taken-count-guard-info.ll
Commit 7d274aa9bed00cdf1197b2f05140635be90f3362 by flo
[SCEV] Add support for `x != 0` to CollectCondition.

Add support for NE predicates with 0 constants. Those can be translated
to UMaxExpr(x, 1).
The file was modifiedllvm/test/Analysis/ScalarEvolution/max-backedge-taken-count-guard-info.ll
The file was modifiedllvm/lib/Analysis/ScalarEvolution.cpp
Commit 55c4ff91bd820d72014f63dcf7f3d5a0d3397986 by Matthew.Arsenault
OpaquePtr: Add type to sret attribute

Make the corresponding change that was made for byval in
b7141207a483d39b99c2b4da4eb3bb591eca9e1a. Like byval, this requires a
bulk update of the test IR tests to include the type before this can
be mandatory.
The file was modifiedclang/test/CodeGen/mingw-long-double.c
The file was modifiedclang/test/CodeGen/blocks.c
The file was modifiedllvm/test/Bitcode/compatibility-3.9.ll
The file was modifiedclang/test/CodeGenCXX/builtin-source-location.cpp
The file was modifiedclang/test/CodeGenOpenCL/addr-space-struct-arg.cl
The file was modifiedclang/test/CodeGen/ms_abi.c
The file was modifiedclang/test/CodeGen/ppc64-vector.c
The file was modifiedclang/test/CodeGen/c11atomics-ios.c
The file was addedllvm/test/Assembler/sret-type-attr.ll
The file was modifiedclang/test/CodeGen/ppc32-and-aix-struct-return.c
The file was modifiedclang/test/CodeGenCXX/cxx1z-lambda-star-this.cpp
The file was modifiedclang/test/CodeGenCXX/conditional-gnu-ext.cpp
The file was modifiedllvm/lib/AsmParser/LLParser.cpp
The file was modifiedclang/test/CodeGen/riscv32-ilp32d-abi.c
The file was modifiedclang/test/CodeGenCXX/microsoft-abi-byval-sret.cpp
The file was modifiedclang/test/CodeGenCXX/x86_32-arguments.cpp
The file was modifiedclang/test/CodeGenCXX/pass-by-value-noalias.cpp
The file was modifiedclang/test/CodeGen/riscv32-ilp32-ilp32f-abi.c
The file was modifiedllvm/test/Bitcode/compatibility-3.7.ll
The file was modifiedclang/test/CodeGen/riscv32-ilp32f-ilp32d-abi.c
The file was modifiedclang/test/CodeGenCXX/microsoft-abi-unknown-arch.cpp
The file was modifiedclang/test/CodeGenObjC/stret-1.m
The file was modifiedclang/test/CodeGen/windows-swiftcall.c
The file was modifiedclang/test/CodeGen/mcu-struct-return.c
The file was modifiedclang/test/CodeGenCXX/homogeneous-aggregates.cpp
The file was modifiedllvm/test/Transforms/Attributor/value-simplify.ll
The file was modifiedclang/test/CodeGenCXX/stack-reuse.cpp
The file was modifiedclang/test/CodeGen/wasm-arguments.c
The file was modifiedclang/test/CodeGen/arm-vfp16-arguments2.cpp
The file was modifiedllvm/test/Bitcode/compatibility-5.0.ll
The file was modifiedclang/test/CodeGen/aarch64-varargs.c
The file was modifiedllvm/include/llvm/IR/Attributes.h
The file was modifiedllvm/docs/LangRef.rst
The file was modifiedclang/test/CodeGen/windows-struct-abi.c
The file was modifiedclang/test/CodeGenCoroutines/coro-gro-nrvo.cpp
The file was modifiedclang/test/CodeGen/ppc64-qpx-vector.c
The file was modifiedllvm/test/Bitcode/compatibility.ll
The file was modifiedclang/test/CodeGenCXX/stack-reuse-miscompile.cpp
The file was modifiedclang/test/CodeGen/le32-arguments.c
The file was modifiedllvm/include/llvm/IR/Attributes.td
The file was modifiedclang/test/CodeGen/2006-05-19-SingleEltReturn.c
The file was modifiedllvm/test/Bitcode/compatibility-6.0.ll
The file was modifiedclang/test/CodeGenCoroutines/coro-await.cpp
The file was modifiedclang/test/CodeGen/sparcv9-abi.c
The file was modifiedllvm/lib/AsmParser/LLParser.h
The file was modifiedclang/test/CodeGenCXX/exceptions.cpp
The file was modifiedclang/test/CodeGenObjC/stret_lookup.m
The file was modifiedclang/test/CodeGenCXX/thunk-returning-memptr.cpp
The file was modifiedclang/test/CodeGenOpenCLCXX/addrspace-of-this.cl
The file was modifiedclang/test/CodeGen/arm-vector-arguments.c
The file was modifiedclang/test/CodeGen/mips64-padding-arg.c
The file was modifiedclang/test/CodeGenCXX/microsoft-abi-eh-cleanups.cpp
The file was modifiedllvm/lib/Bitcode/Reader/BitcodeReader.cpp
The file was modifiedclang/test/CodeGen/mips-zero-sized-struct.c
The file was modifiedclang/test/CodeGenObjCXX/objc-struct-cxx-abi.mm
The file was modifiedclang/test/CodeGenObjC/nontrivial-c-struct-exception.m
The file was modifiedclang/test/CodeGen/X86/x86_64-arguments-nacl.c
The file was modifiedclang/test/CodeGenObjC/objc-non-trivial-struct-nrvo.m
The file was modifiedclang/test/CodeGen/struct-passing.c
The file was modifiedclang/test/CodeGenOpenCL/amdgpu-abi-struct-coerce.cl
The file was modifiedclang/test/CodeGen/arm64-microsoft-arguments.cpp
The file was modifiedllvm/test/Bitcode/attributes-3.3.ll
The file was modifiedclang/test/CodeGen/systemz-abi.c
The file was modifiedclang/test/CodeGenCXX/cxx1z-copy-omission.cpp
The file was modifiedclang/test/CodeGen/64bit-swiftcall.c
The file was modifiedclang/test/CodeGen/riscv32-ilp32-abi.c
The file was modifiedclang/test/CodeGen/X86/x86_32-arguments-iamcu.c
The file was modifiedclang/test/CodeGen/regparm-struct.c
The file was modifiedclang/test/CodeGen/lanai-arguments.c
The file was modifiedclang/test/CodeGen/riscv64-lp64-abi.c
The file was modifiedclang/test/CodeGen/X86/x86_32-arguments-darwin.c
The file was modifiedclang/test/CodeGen/vectorcall.c
The file was modifiedclang/test/Modules/templates.mm
The file was modifiedclang/test/CodeGenCXX/call-with-static-chain.cpp
The file was modifiedclang/test/CodeGenCXX/lambda-expressions.cpp
The file was modifiedclang/test/CodeGen/arc/arguments.c
The file was modifiedclang/test/CodeGen/systemz-abi-vector.c
The file was modifiedclang/test/CodeGenObjC/arc.m
The file was modifiedclang/test/CodeGen/ppc64-soft-float.c
The file was modifiedclang/test/CodeGen/ppc64le-aggregates.c
The file was modifiedclang/test/CodeGen/arm_neon_intrinsics.c
The file was modifiedllvm/test/Verifier/byref.ll
The file was modifiedclang/test/CodeGen/arm-swiftcall.c
The file was modifiedclang/test/CodeGen/wasm-varargs.c
The file was modifiedclang/test/CodeGen/aligned-sret.c
The file was modifiedclang/test/CodeGen/riscv64-lp64d-abi.c
The file was modifiedclang/test/CodeGenCXX/trivial_abi.cpp
The file was modifiedclang/test/CodeGenCXX/x86_64-arguments.cpp
The file was modifiedclang/test/CodeGen/arm64-arguments.c
The file was modifiedllvm/test/Bitcode/compatibility-3.8.ll
The file was modifiedclang/test/CodeGen/riscv32-ilp32f-abi.c
The file was modifiedclang/test/CodeGenCXX/microsoft-abi-sret-and-byval.cpp
The file was modifiedclang/test/CodeGen/ppc-aggregate-abi.cpp
The file was modifiedclang/test/CodeGen/riscv64-lp64-lp64f-lp64d-abi.c
The file was modifiedllvm/lib/IR/AttributeImpl.h
The file was modifiedclang/test/CodeGen/systemz-abi.cpp
The file was modifiedllvm/lib/IR/AsmWriter.cpp
The file was modifiedllvm/include/llvm/IR/Function.h
The file was modifiedclang/test/CodeGenObjC/direct-method.m
The file was modifiedclang/test/CodeGen/ppc64-elf-abi.c
The file was modifiedllvm/docs/ReleaseNotes.rst
The file was modifiedclang/test/CodeGenCXX/wasm-args-returns.cpp
The file was modifiedclang/test/CodeGenCXX/thunks.cpp
The file was modifiedllvm/lib/IR/Attributes.cpp
The file was modifiedclang/test/CodeGenCXX/unknown-anytype.cpp
The file was modifiedclang/test/CodeGen/X86/x86_64-arguments-win32.c
The file was modifiedclang/test/CodeGenCXX/arm-cc.cpp
The file was modifiedclang/test/CodeGen/arm-varargs.c
The file was modifiedclang/test/CodeGen/riscv64-lp64-lp64f-abi.c
The file was modifiedllvm/test/Bitcode/compatibility-4.0.ll
The file was modifiedclang/test/CodeGenCXX/microsoft-abi-vmemptr-conflicts.cpp
The file was modifiedclang/test/CodeGen/arm-aapcs-vfp.c
The file was modifiedclang/test/CodeGen/powerpc-c99complex.c
The file was modifiedclang/test/CodeGenCXX/microsoft-abi-cdecl-method-sret.cpp
The file was modifiedclang/test/CodeGenObjC/weak-in-c-struct.m
The file was modifiedclang/test/CodeGenCXX/microsoft-abi-byval-thunks.cpp
The file was modifiedclang/test/CodeGenCXX/matrix-type-builtins.cpp
The file was modifiedclang/test/CodeGenCXX/matrix-type.cpp
The file was modifiedclang/test/CodeGen/c11atomics.c
The file was modifiedclang/lib/CodeGen/CGCall.cpp
The file was modifiedclang/test/CodeGenCXX/thiscall-struct-return.cpp
The file was modifiedclang/test/CodeGen/arm-neon-vld.c
The file was modifiedclang/test/CodeGen/ppc64-align-struct.c
The file was modifiedclang/test/CodeGen/riscv32-ilp32-ilp32f-ilp32d-abi.c
The file was modifiedclang/test/CodeGen/X86/x86_64-arguments.c
The file was modifiedclang/test/CodeGen/ppc64le-f128Aggregates.c
The file was modifiedllvm/test/Bitcode/highLevelStructure.3.2.ll
The file was modifiedclang/test/CodeGen/arm-vfp16-arguments.c
The file was modifiedclang/test/CodeGen/renderscript.c
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/sret.ll
The file was modifiedclang/test/CodeGen/systemz-inline-asm.c
The file was modifiedclang/test/CodeGenCXX/regcall.cpp
The file was modifiedclang/test/CodeGen/aggregate-assign-call.c
The file was modifiedllvm/test/Bitcode/attributes.ll
The file was modifiedclang/test/CodeGen/arm-homogenous.c
The file was modifiedllvm/test/Bitcode/compatibility-3.6.ll
The file was modifiedclang/test/CodeGen/arm64_32.c
The file was modifiedclang/test/CodeGenCXX/temporaries.cpp
Commit d2f1f530430e9dbdd69c3ed173ced076f4bb933e by SourabhSingh.Tomar
[flang][OpenMP] Place the insertion point to the start of the block

After skeleton of the `Parallel Op` is created set the insertion point to start of the block. So that later `CodeGen` can proceed.

Note: This patch reflects the work that can be upstreamed from PR(merged)
PR: https://github.com/flang-compiler/f18-llvm-project/pull/424

Reviewed By: schweitz, kiranchandramohan

Differential Revision: https://reviews.llvm.org/D88221
The file was modifiedflang/lib/Lower/OpenMP.cpp
Commit 06104cb9f21d3f4b0f0feba7b35744284203164c by clementval
[NFC] Fix comment for DataOp
The file was modifiedmlir/lib/Dialect/OpenACC/IR/OpenACC.cpp
Commit e4e673e75a067236c9c4ff2e1ab19d6a3a87003d by jezng
[lld-macho] Implement support for PIC

* Implement rebase opcodes. Rebase opcodes tell dyld where absolute
  addresses have been encoded in the binary. If the binary is not loaded
  at its preferred address, dyld has to rebase these addresses by adding
  an offset to them.
* Support `-pie` and use it to test rebase opcodes.

This is necessary for absolute address references in dylibs, bundles etc
to work.

Reviewed By: #lld-macho, gkm

Differential Revision: https://reviews.llvm.org/D87199
The file was addedlld/test/MachO/compact-unwind-pie.s
The file was modifiedlld/MachO/Driver.cpp
The file was modifiedlld/MachO/SyntheticSections.h
The file was modifiedlld/MachO/Writer.cpp
The file was modifiedlld/test/MachO/x86-64-reloc-unsigned.s
The file was modifiedlld/MachO/SyntheticSections.cpp
The file was modifiedlld/test/MachO/dylink-lazy.s
The file was modifiedlld/MachO/Config.h
The file was modifiedlld/MachO/Arch/X86_64.cpp
The file was modifiedlld/test/MachO/local-got.s
Commit f23f5126912b7da3f2a118a7cb1bcf6be3d8c1bc by jezng
[lld-macho] Support -bundle

Not 100% sure but it appears that bundles are almost identical to
dylibs, aside from the fact that they do not contain `LC_ID_DYLIB`. ld64's code
seems to treat bundles and dylibs identically in most places.

Supporting bundles allows us to run e.g. XCTests, as all test suites are
compiled into bundles which get dynamically loaded by the `xctest` test runner.

Reviewed By: #lld-macho, smeenai

Differential Revision: https://reviews.llvm.org/D87856
The file was modifiedlld/MachO/Writer.cpp
The file was modifiedlld/test/MachO/load-commands.s
The file was modifiedlld/MachO/Driver.cpp
Commit c7c9776f77712eb4311708d884c0c70ccaa7125b by jezng
[lld-macho] Allow the entry symbol to be dynamically bound

Apparently this is used in real programs. I've handled this by reusing
the logic we already have for branch (function call) relocations.

Reviewed By: #lld-macho, smeenai

Differential Revision: https://reviews.llvm.org/D87852
The file was modifiedlld/MachO/Arch/X86_64.cpp
The file was modifiedlld/MachO/SyntheticSections.h
The file was modifiedlld/MachO/Driver.cpp
The file was modifiedlld/MachO/Writer.cpp
The file was modifiedlld/MachO/SyntheticSections.cpp
The file was modifiedlld/test/MachO/entry-symbol.s
Commit 62a3f0c9844bb89a48173440145b26212be60f83 by jezng
[lld-macho] Support absolute symbols

They operate like Defined symbols but with no associated InputSection.

Note that `ld64` seems to treat the weak definition flag like a no-op for
absolute symbols, so I have replicated that behavior.

Reviewed By: #lld-macho, smeenai

Differential Revision: https://reviews.llvm.org/D87909
The file was addedlld/test/MachO/abs-symbols.s
The file was modifiedlld/test/MachO/invalid/dso-handle-duplicate.s
The file was modifiedlld/MachO/Symbols.h
The file was modifiedlld/MachO/Symbols.cpp
The file was modifiedlld/MachO/InputFiles.cpp
The file was addedlld/test/MachO/invalid/abs-duplicate.s
The file was modifiedlld/MachO/InputFiles.h
The file was modifiedlld/MachO/SymbolTable.cpp
The file was modifiedlld/MachO/ExportTrie.cpp
The file was modifiedlld/MachO/SyntheticSections.cpp
Commit 643ec67a64ad7a686361b1d309e5088ad8f228e9 by jezng
[lld-macho] Always include custom syslibroot when running tests

This greatly reduces the amount of boilerplate in our tests.

Reviewed By: #lld-macho, compnerd

Differential Revision: https://reviews.llvm.org/D87960
The file was modifiedlld/test/MachO/no-exports-dylib.s
The file was modifiedlld/test/MachO/dylib.s
The file was modifiedlld/test/MachO/load-commands.s
The file was modifiedlld/test/MachO/symtab.s
The file was modifiedlld/test/MachO/invalid/invalid-executable.s
The file was modifiedlld/test/MachO/tlv.s
The file was modifiedlld/test/MachO/dylink-lazy.s
The file was modifiedlld/test/MachO/platform-version.s
The file was modifiedlld/test/MachO/lc-build-version.s
The file was modifiedlld/test/MachO/compact-unwind-pie.s
The file was modifiedlld/test/MachO/invalid/invalid-fat-offset.s
The file was modifiedlld/test/MachO/reexport-stub.s
The file was modifiedlld/test/MachO/section-merge.s
The file was modifiedlld/test/MachO/invalid/invalid-relocation-pcrel.yaml
The file was modifiedlld/test/MachO/invalid/bad-tlv-def.s
The file was modifiedlld/test/MachO/static-link.s
The file was modifiedlld/test/MachO/invalid/order-file-bad-objfile.test
The file was modifiedlld/test/MachO/headerpad.s
The file was modifiedlld/test/MachO/invalid/bad-got-to-dylib-tlv-reference.s
The file was modifiedlld/test/MachO/symbol-order.s
The file was modifiedlld/test/MachO/entry-symbol.s
The file was modifiedlld/test/MachO/invalid/bad-tlv-opcode.s
The file was modifiedlld/test/MachO/invalid/no-filelist.s
The file was modifiedlld/test/MachO/rpath.s
The file was modifiedlld/test/MachO/invalid/duplicate-symbol.s
The file was modifiedlld/test/MachO/invalid/reserved-section-name.s
The file was modifiedlld/test/MachO/objc.s
The file was modifiedlld/test/MachO/invalid/alignment-too-large.yaml
The file was modifiedlld/test/MachO/invalid/bad-tlv-relocation.s
The file was modifiedlld/test/MachO/link-search-order.s
The file was modifiedlld/test/MachO/invalid/bad-got-to-tlv-reference.s
The file was modifiedlld/test/MachO/relocations.s
The file was modifiedlld/test/MachO/x86-64-reloc-got-load.s
The file was modifiedlld/test/MachO/linkedit-contiguity.s
The file was modifiedlld/test/MachO/common-symbol-resolution.s
The file was modifiedlld/test/MachO/segments.s
The file was modifiedlld/test/MachO/x86-64-reloc-signed.s
The file was modifiedlld/test/MachO/order-file.s
The file was modifiedlld/test/MachO/weak-binding.s
The file was modifiedlld/test/MachO/no-unneeded-dyld-info.s
The file was modifiedlld/test/MachO/subsections-section-relocs.s
The file was modifiedlld/test/MachO/invalid/invalid-stub.s
The file was modifiedlld/test/MachO/invalid/no-id-dylink.yaml
The file was modifiedlld/test/MachO/force-load.s
The file was modifiedlld/test/MachO/bss.s
The file was modifiedlld/test/MachO/weak-definition-direct-fetch.s
The file was modifiedlld/test/MachO/invalid/missing-dylib.s
The file was modifiedlld/test/MachO/invalid/dso-handle-duplicate.s
The file was modifiedlld/test/MachO/abs-symbols.s
The file was modifiedlld/test/MachO/weak-header-flags.s
The file was modifiedlld/test/MachO/silent-ignore.test
The file was modifiedlld/test/MachO/archive.s
The file was modifiedlld/test/MachO/filelist.s
The file was modifiedlld/test/MachO/framework.s
The file was modifiedlld/test/MachO/invalid/bad-archive.s
The file was modifiedlld/test/MachO/resolution.s
The file was modifiedlld/test/MachO/weak-definition-over-dysym.s
The file was modifiedlld/test/MachO/dso-handle.s
The file was modifiedlld/test/MachO/subsections-symbol-relocs.s
The file was modifiedlld/test/MachO/weak-definition-indirect-fetch.s
The file was modifiedlld/test/MachO/compact-unwind.test
The file was modifiedlld/test/MachO/dylink.s
The file was modifiedlld/test/MachO/fat-arch.s
The file was modifiedlld/test/MachO/arch.s
The file was modifiedlld/test/MachO/sectcreate.s
The file was modifiedlld/test/MachO/invalid/stub-link.s
The file was modifiedlld/test/MachO/invalid/abs-duplicate.s
The file was modifiedlld/test/MachO/invalid/undefined-symbol.s
The file was modifiedlld/test/MachO/nonweak-definition-override.s
The file was addedlld/test/MachO/lit.local.cfg
The file was modifiedlld/test/MachO/common-symbol-coalescing.s
The file was modifiedlld/test/MachO/indirect-symtab.s
The file was modifiedlld/test/MachO/invalid/archive-no-index.s
The file was modifiedlld/test/MachO/x86-64-reloc-unsigned.s
The file was modifiedlld/test/MachO/invalid/order-file-bad-arch.test
The file was modifiedlld/test/MachO/weak-definition-order.s
The file was modifiedlld/test/MachO/local-got.s
The file was modifiedlld/test/MachO/section-headers.s
The file was modifiedlld/test/MachO/invalid/invalid-relocation-length.yaml
The file was modifiedlld/test/MachO/search-paths.test
The file was modifiedlld/test/MachO/weak-import.s
The file was modifiedlld/test/MachO/tlv-dylib.s
The file was modifiedlld/test/MachO/export-trie.s
The file was modifiedlld/test/MachO/sub-library.s
The file was modifiedlld/test/MachO/invalid/no-such-file.s
The file was modifiedlld/test/MachO/syslibroot.test
The file was modifiedlld/test/MachO/stub-link.s
The file was modifiedlld/test/MachO/stub-framework.s
The file was modifiedlld/test/MachO/invalid/invalid-fat-narch.s
Commit 2c2a7494482133ecdd681869e1ccc53b71d27385 by jezng
[lld-macho] Ignore a few more undocumented flags

Reviewed By: #lld-macho, compnerd

Differential Revision: https://reviews.llvm.org/D88268
The file was modifiedlld/MachO/Options.td
The file was modifiedlld/test/MachO/silent-ignore.test
Commit d2166076b882e38becf3657ea830ffd2b6a5695e by xun
[Coroutine] Split PHI Nodes in `cleanuppad` blocks in a way that obeys EH pad rules

Issue Details:
In order to support coroutine splitting, any multi-value PHI node in a coroutine is split into multiple blocks with single-value PHI Nodes, which then allows a subsequent transform to generate `reload` instructions as required (i.e., to reload the value if required if the coroutine has been resumed). This causes issues with EH pads (`catchswitch` and `catchpad`) as all pads within a `catchswitch` must have the same unwind destination, but the coroutine splitting logic may modify them to each have a unique unwind destination if there is a PHI node in the unwind `cleanuppad` that is set from values in the `catchswitch` and `cleanuppad` blocks.

Fix Details:
During splitting, if such a PHI node is detected, then create a "dispatcher" `cleanuppad` as well as the blocks with single-value PHI Nodes: thus the "dispatcher" is the unwind destination and it will detect which predecessor called it and then branch to the appropriate single-value PHI node block, which will then branch back to the original `cleanuppad` block.

Reviewed By: GorNishanov, lxfind

Differential Revision: https://reviews.llvm.org/D88059
The file was modifiedllvm/lib/Transforms/Coroutines/CoroFrame.cpp
The file was addedllvm/test/Transforms/Coroutines/coro-catchswitch-cleanuppad.ll
Commit 89fe083c197951a1380ee70e9e36e2aa95659da5 by tlively
[WebAssembly] Check features before making SjLj vars thread-local

1c5a3c4d3823 updated the variables inserted by Emscripten SjLj lowering to be
thread-local, depending on the CoalesceFeaturesAndStripAtomics pass to downgrade
them to normal globals if the target features did not support TLS. However, this
had the unintended side effect of preventing all non-TLS-supporting objects from
being linked into modules with shared memory, because stripping TLS marks an
object as thread-unsafe. This patch fixes the problem by only making the SjLj
lowering variables thread-local if the target machine supports TLS so that it
never introduces new usage of TLS that will be stripped. Since SjLj lowering
works on Modules instead of Functions, this required that the
WebAssemblyTargetMachine have its feature string updated to reflect the
coalesced features collected from all the functions so that a
WebAssemblySubtarget can be created without using any particular function.

Differential Revision: https://reviews.llvm.org/D88323
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp
The file was modifiedllvm/test/CodeGen/WebAssembly/lower-em-sjlj.ll
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyLowerEmscriptenEHSjLj.cpp
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.h
The file was modifiedllvm/include/llvm/Target/TargetMachine.h
The file was modifiedllvm/test/CodeGen/WebAssembly/lower-em-exceptions.ll
Commit 6cd4a4cd02dba6aed33c447114587eebf6854c43 by Jonas Devlieghere
[lldb] Pass reference instead of pointer in protected SBAddress methods.

Every call to the protected SBAddress constructor and the SetAddress
method takes the address of a valid object which means we might as well
pass it as a const reference instead of a pointer and drop the null
check.

Differential revision: https://reviews.llvm.org/D88249
The file was modifiedlldb/source/API/SBValue.cpp
The file was modifiedlldb/source/API/SBInstruction.cpp
The file was modifiedlldb/source/API/SBLineEntry.cpp
The file was modifiedlldb/source/API/SBFrame.cpp
The file was modifiedlldb/include/lldb/API/SBAddress.h
The file was modifiedlldb/source/API/SBAddress.cpp
The file was modifiedlldb/source/API/SBBreakpointLocation.cpp
The file was modifiedlldb/source/API/SBFunction.cpp
The file was modifiedlldb/source/API/SBQueueItem.cpp
The file was modifiedlldb/source/API/SBSymbol.cpp
Commit 137597d4f47854bb1701f6883d5c91e8a14d29a2 by Adrian Prantl
Add a verifier check that rejects non-distinct DISubprogram function
attachments. They would crash the backend, which expects all
DISubprograms that are not part of the type system to have a unit field.

Clang right before https://reviews.llvm.org/D79967 would generate this
kind of broken IR.

rdar://problem/69534688

Thanks to Fangrui for fixing an assembler test I had missed!

https://reviews.llvm.org/D88270
The file was modifiedllvm/test/DebugInfo/Generic/2009-11-03-InsertExtractValue.ll
The file was addedllvm/test/Verifier/unique-disubprogram.ll
The file was modifiedllvm/lib/IR/Verifier.cpp
Commit d3f6972abb9c0ac06ddabf61697754c3c6f5d11b by aeubanks
[LoopReroll][NewPM] Port -loop-reroll to NPM

Reviewed By: asbirlea

Differential Revision: https://reviews.llvm.org/D87957
The file was modifiedllvm/lib/Passes/PassRegistry.def
The file was modifiedllvm/test/Transforms/LoopReroll/basic.ll
The file was modifiedllvm/include/llvm/InitializePasses.h
The file was modifiedllvm/lib/Transforms/Scalar/Scalar.cpp
The file was addedllvm/include/llvm/Transforms/Scalar/LoopReroll.h
The file was modifiedllvm/lib/Passes/PassBuilder.cpp
The file was modifiedllvm/lib/Transforms/Scalar/LoopRerollPass.cpp