SuccessChanges

Summary

  1. [NFC] Fix build warnings (details)
  2. [profile] Add %t LLVM_PROFILE_FILE option to substitute $TMPDIR (details)
  3. [AArch64][GlobalISel] Add selection support for <8 x s16>  G_INSERT_VECTOR_ELT with GPR scalar. (details)
  4. Sema: remove unnecessary parameter for SwiftName handling (NFCI) (details)
  5. Fix DISubprogram-v4.ll after e17f52d623cc146b7d9bf5a2e02965043508b4c4 (details)
  6. [PowerPC] Add accumulator register class and instructions (details)
  7. Fix Assembler/disubprogram.ll after e17f52d623cc146b7d9bf5a2e02965043508b4c4 (details)
  8. [MLIR] Fix for updating function signature in normalizing memrefs (details)
  9. AArch64/GlobalISel: Narrow stack passed argument access size (details)
  10. Revert "Add a verifier check that rejects non-distinct DISubprogram function" (details)
  11. Move PassBuilder::registerParseTopLevelPipelineCallback out-of-line (details)
  12. [SCEV] Add another test using info from loop guards for BTC with NE. (details)
  13. [SCEV] Add support for `x != 0` to CollectCondition. (details)
  14. OpaquePtr: Add type to sret attribute (details)
  15. [flang][OpenMP] Place the insertion point to the start of the block (details)
  16. [NFC] Fix comment for DataOp (details)
  17. [lld-macho] Implement support for PIC (details)
  18. [lld-macho] Support -bundle (details)
  19. [lld-macho] Allow the entry symbol to be dynamically bound (details)
  20. [lld-macho] Support absolute symbols (details)
  21. [lld-macho] Always include custom syslibroot when running tests (details)
  22. [lld-macho] Ignore a few more undocumented flags (details)
  23. [Coroutine] Split PHI Nodes in `cleanuppad` blocks in a way that obeys EH pad rules (details)
  24. [WebAssembly] Check features before making SjLj vars thread-local (details)
  25. [lldb] Pass reference instead of pointer in protected SBAddress methods. (details)
  26. Add a verifier check that rejects non-distinct DISubprogram function (details)
  27. [LoopReroll][NewPM] Port -loop-reroll to NPM (details)
  28. [InstCombine] collectBitParts - add fshl/fshr handling (details)
  29. [IRSim] Adding basic implementation of llvm-sim. (details)
  30. [InstCombine] Fix test name to match type. NFCI. (details)
  31. [InstCombine] matchRotate - support (uniform) constant rotation amounts (PR46895) (details)
  32. Fix copy+paste typo in doxygen parameter name to fix Wdocumentation. NFCI. (details)
  33. Revert "[IRSim] Adding basic implementation of llvm-sim." (details)
  34. [lsan] Add interceptor for pthread_detach. (details)
  35. Add support for firmware/standalone LC_NOTE "main bin spec" corefiles (details)
Commit 2d128b04d93784f5399e9b5d3ee4a560ebd170e4 by jurahul
[NFC] Fix build warnings
The file was modifiedmlir/lib/Conversion/ShapeToStandard/ConvertShapeConstraints.cpp (diff)
The file was modifiedmlir/tools/mlir-tblgen/OpFormatGen.cpp (diff)
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 modifiedcompiler-rt/lib/profile/InstrProfilingFile.c (diff)
The file was modifiedclang/docs/SourceBasedCodeCoverage.rst (diff)
The file was addedcompiler-rt/test/profile/instrprof-tmpdir.c
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 (diff)
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/select-insert-vector-elt.mir (diff)
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 (diff)
The file was modifiedclang/include/clang/Sema/Sema.h (diff)
The file was modifiedclang/lib/Sema/SemaDeclAttr.cpp (diff)
Commit 7d0556fc137aa07347741b7750e50ecbc2b4c6e2 by i
Fix DISubprogram-v4.ll after e17f52d623cc146b7d9bf5a2e02965043508b4c4
The file was modifiedllvm/test/Bitcode/DISubprogram-v4.ll (diff)
The file was modifiedllvm/test/Bitcode/DISubprogram-v4.ll.bc (diff)
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/PPCRegisterInfo.h (diff)
The file was modifiedllvm/lib/Target/PowerPC/PPCRegisterInfo.td (diff)
The file was modifiedllvm/lib/Target/PowerPC/Disassembler/PPCDisassembler.cpp (diff)
The file was modifiedllvm/lib/Target/PowerPC/PPCInstrPrefix.td (diff)
The file was modifiedllvm/lib/Target/PowerPC/AsmParser/PPCAsmParser.cpp (diff)
The file was modifiedllvm/test/MC/PowerPC/ppc64-encoding-ISA31.s (diff)
The file was modifiedllvm/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.h (diff)
The file was modifiedllvm/test/MC/Disassembler/PowerPC/ppc64-encoding-ISA31.txt (diff)
Commit 6caf3fb8178699ac14fb94fef99aaf1cf297264f by i
Fix Assembler/disubprogram.ll after e17f52d623cc146b7d9bf5a2e02965043508b4c4
The file was modifiedllvm/test/Assembler/disubprogram.ll (diff)
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/lib/Transforms/NormalizeMemRefs.cpp (diff)
The file was modifiedmlir/test/lib/Dialect/Test/TestOps.td (diff)
The file was modifiedmlir/test/Transforms/normalize-memrefs-ops.mlir (diff)
The file was modifiedmlir/test/lib/Dialect/Test/TestDialect.h (diff)
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 (diff)
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/lib/IR/Verifier.cpp (diff)
The file was removedllvm/test/Verifier/unique-disubprogram.ll
The file was modifiedllvm/test/DebugInfo/Generic/2009-11-03-InsertExtractValue.ll (diff)
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/lib/Passes/PassBuilder.cpp (diff)
The file was modifiedllvm/include/llvm/Passes/PassBuilder.h (diff)
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 (diff)
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 (diff)
The file was modifiedllvm/lib/Analysis/ScalarEvolution.cpp (diff)
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/arm64-microsoft-arguments.cpp (diff)
The file was modifiedclang/test/CodeGen/aligned-sret.c (diff)
The file was modifiedclang/lib/CodeGen/CGCall.cpp (diff)
The file was modifiedclang/test/CodeGen/riscv32-ilp32d-abi.c (diff)
The file was modifiedclang/test/CodeGen/ppc64-align-struct.c (diff)
The file was modifiedclang/test/CodeGen/c11atomics-ios.c (diff)
The file was modifiedclang/test/CodeGen/windows-swiftcall.c (diff)
The file was modifiedclang/test/CodeGenCXX/conditional-gnu-ext.cpp (diff)
The file was addedllvm/test/Assembler/sret-type-attr.ll
The file was modifiedclang/test/CodeGen/powerpc-c99complex.c (diff)
The file was modifiedllvm/test/Bitcode/compatibility-3.8.ll (diff)
The file was modifiedclang/test/CodeGen/arm-aapcs-vfp.c (diff)
The file was modifiedllvm/test/Transforms/Attributor/value-simplify.ll (diff)
The file was modifiedclang/test/CodeGen/arm64_32.c (diff)
The file was modifiedclang/test/CodeGen/ppc64le-f128Aggregates.c (diff)
The file was modifiedclang/test/CodeGen/arm-vfp16-arguments2.cpp (diff)
The file was modifiedllvm/test/Bitcode/attributes-3.3.ll (diff)
The file was modifiedclang/test/CodeGen/ppc64-elf-abi.c (diff)
The file was modifiedclang/test/CodeGen/systemz-abi-vector.c (diff)
The file was modifiedclang/test/CodeGenCXX/stack-reuse.cpp (diff)
The file was modifiedclang/test/CodeGenCXX/lambda-expressions.cpp (diff)
The file was modifiedllvm/test/Bitcode/highLevelStructure.3.2.ll (diff)
The file was modifiedclang/test/CodeGen/le32-arguments.c (diff)
The file was modifiedclang/test/CodeGen/ppc64-qpx-vector.c (diff)
The file was modifiedclang/test/CodeGenCXX/wasm-args-returns.cpp (diff)
The file was modifiedclang/test/CodeGenCXX/thunk-returning-memptr.cpp (diff)
The file was modifiedclang/test/CodeGen/riscv32-ilp32f-ilp32d-abi.c (diff)
The file was modifiedclang/test/CodeGenCXX/cxx1z-copy-omission.cpp (diff)
The file was modifiedllvm/test/Bitcode/compatibility-3.9.ll (diff)
The file was modifiedclang/test/CodeGen/mips-zero-sized-struct.c (diff)
The file was modifiedclang/test/CodeGen/arm_neon_intrinsics.c (diff)
The file was modifiedclang/test/CodeGenObjC/stret_lookup.m (diff)
The file was modifiedclang/test/CodeGen/lanai-arguments.c (diff)
The file was modifiedclang/test/CodeGen/riscv32-ilp32-ilp32f-abi.c (diff)
The file was modifiedclang/test/CodeGenCXX/call-with-static-chain.cpp (diff)
The file was modifiedclang/test/CodeGen/2006-05-19-SingleEltReturn.c (diff)
The file was modifiedclang/test/CodeGen/renderscript.c (diff)
The file was modifiedclang/test/CodeGen/riscv64-lp64-abi.c (diff)
The file was modifiedclang/test/CodeGenCXX/stack-reuse-miscompile.cpp (diff)
The file was modifiedclang/test/CodeGen/ppc64le-aggregates.c (diff)
The file was modifiedclang/test/CodeGen/mcu-struct-return.c (diff)
The file was modifiedclang/test/CodeGenCXX/microsoft-abi-unknown-arch.cpp (diff)
The file was modifiedclang/test/CodeGenCXX/homogeneous-aggregates.cpp (diff)
The file was modifiedllvm/lib/IR/Attributes.cpp (diff)
The file was modifiedllvm/docs/ReleaseNotes.rst (diff)
The file was modifiedclang/test/CodeGenCXX/matrix-type-builtins.cpp (diff)
The file was modifiedclang/test/CodeGen/riscv64-lp64-lp64f-lp64d-abi.c (diff)
The file was modifiedclang/test/CodeGenCXX/microsoft-abi-byval-thunks.cpp (diff)
The file was modifiedclang/test/CodeGenCXX/regcall.cpp (diff)
The file was modifiedclang/test/CodeGenOpenCL/addr-space-struct-arg.cl (diff)
The file was modifiedclang/test/CodeGenCXX/exceptions.cpp (diff)
The file was modifiedclang/test/CodeGenObjCXX/objc-struct-cxx-abi.mm (diff)
The file was modifiedclang/test/CodeGenCXX/arm-cc.cpp (diff)
The file was modifiedclang/test/CodeGenCoroutines/coro-gro-nrvo.cpp (diff)
The file was modifiedllvm/lib/AsmParser/LLParser.h (diff)
The file was modifiedclang/test/CodeGen/blocks.c (diff)
The file was modifiedclang/test/CodeGenCXX/x86_64-arguments.cpp (diff)
The file was modifiedclang/test/CodeGen/mips64-padding-arg.c (diff)
The file was modifiedclang/test/CodeGen/X86/x86_64-arguments-win32.c (diff)
The file was modifiedllvm/test/Bitcode/compatibility-5.0.ll (diff)
The file was modifiedclang/test/CodeGen/ms_abi.c (diff)
The file was modifiedllvm/test/Bitcode/attributes.ll (diff)
The file was modifiedclang/test/CodeGen/riscv64-lp64-lp64f-abi.c (diff)
The file was modifiedllvm/test/Bitcode/compatibility-3.7.ll (diff)
The file was modifiedclang/test/CodeGen/systemz-abi.c (diff)
The file was modifiedclang/test/CodeGenCXX/microsoft-abi-eh-cleanups.cpp (diff)
The file was modifiedllvm/lib/AsmParser/LLParser.cpp (diff)
The file was modifiedclang/test/CodeGenObjC/objc-non-trivial-struct-nrvo.m (diff)
The file was modifiedclang/test/CodeGenCXX/temporaries.cpp (diff)
The file was modifiedllvm/lib/Bitcode/Reader/BitcodeReader.cpp (diff)
The file was modifiedclang/test/CodeGen/X86/x86_64-arguments.c (diff)
The file was modifiedllvm/lib/IR/AsmWriter.cpp (diff)
The file was modifiedclang/test/CodeGen/wasm-varargs.c (diff)
The file was modifiedllvm/test/Bitcode/compatibility-3.6.ll (diff)
The file was modifiedclang/test/CodeGenCXX/thunks.cpp (diff)
The file was modifiedllvm/lib/IR/AttributeImpl.h (diff)
The file was modifiedclang/test/CodeGen/riscv32-ilp32f-abi.c (diff)
The file was modifiedclang/test/CodeGenCXX/trivial_abi.cpp (diff)
The file was modifiedclang/test/CodeGenObjC/direct-method.m (diff)
The file was modifiedclang/test/CodeGenObjC/nontrivial-c-struct-exception.m (diff)
The file was modifiedclang/test/CodeGen/struct-passing.c (diff)
The file was modifiedclang/test/CodeGen/riscv32-ilp32-abi.c (diff)
The file was modifiedclang/test/CodeGenCXX/thiscall-struct-return.cpp (diff)
The file was modifiedclang/test/CodeGen/arm-vfp16-arguments.c (diff)
The file was modifiedclang/test/CodeGen/systemz-inline-asm.c (diff)
The file was modifiedllvm/test/Bitcode/compatibility.ll (diff)
The file was modifiedclang/test/CodeGen/arc/arguments.c (diff)
The file was modifiedclang/test/CodeGen/c11atomics.c (diff)
The file was modifiedclang/test/CodeGen/systemz-abi.cpp (diff)
The file was modifiedclang/test/CodeGen/arm-neon-vld.c (diff)
The file was modifiedclang/test/CodeGenObjC/weak-in-c-struct.m (diff)
The file was modifiedclang/test/CodeGen/arm64-arguments.c (diff)
The file was modifiedclang/test/CodeGen/ppc32-and-aix-struct-return.c (diff)
The file was modifiedclang/test/CodeGen/riscv64-lp64d-abi.c (diff)
The file was modifiedclang/test/CodeGenOpenCLCXX/addrspace-of-this.cl (diff)
The file was modifiedclang/test/CodeGen/sparcv9-abi.c (diff)
The file was modifiedllvm/test/Verifier/byref.ll (diff)
The file was modifiedllvm/test/Bitcode/compatibility-6.0.ll (diff)
The file was modifiedclang/test/CodeGen/X86/x86_32-arguments-iamcu.c (diff)
The file was modifiedclang/test/CodeGen/arm-vector-arguments.c (diff)
The file was modifiedclang/test/CodeGen/ppc64-soft-float.c (diff)
The file was modifiedclang/test/CodeGenCXX/unknown-anytype.cpp (diff)
The file was modifiedclang/test/CodeGen/ppc64-vector.c (diff)
The file was modifiedclang/test/CodeGenCoroutines/coro-await.cpp (diff)
The file was modifiedclang/test/CodeGen/arm-varargs.c (diff)
The file was modifiedclang/test/CodeGen/arm-swiftcall.c (diff)
The file was modifiedclang/test/CodeGen/vectorcall.c (diff)
The file was modifiedclang/test/CodeGenOpenCL/amdgpu-abi-struct-coerce.cl (diff)
The file was modifiedclang/test/CodeGen/arm-homogenous.c (diff)
The file was modifiedllvm/docs/LangRef.rst (diff)
The file was modifiedclang/test/CodeGen/windows-struct-abi.c (diff)
The file was modifiedclang/test/CodeGenCXX/microsoft-abi-cdecl-method-sret.cpp (diff)
The file was modifiedclang/test/CodeGenCXX/cxx1z-lambda-star-this.cpp (diff)
The file was modifiedclang/test/CodeGenCXX/matrix-type.cpp (diff)
The file was modifiedclang/test/CodeGen/X86/x86_64-arguments-nacl.c (diff)
The file was modifiedclang/test/CodeGen/wasm-arguments.c (diff)
The file was modifiedclang/test/CodeGen/regparm-struct.c (diff)
The file was modifiedclang/test/CodeGenObjC/arc.m (diff)
The file was modifiedclang/test/CodeGenCXX/x86_32-arguments.cpp (diff)
The file was modifiedclang/test/CodeGenObjC/stret-1.m (diff)
The file was modifiedllvm/test/Bitcode/compatibility-4.0.ll (diff)
The file was modifiedclang/test/CodeGen/ppc-aggregate-abi.cpp (diff)
The file was modifiedclang/test/CodeGen/riscv32-ilp32-ilp32f-ilp32d-abi.c (diff)
The file was modifiedllvm/include/llvm/IR/Attributes.td (diff)
The file was modifiedclang/test/CodeGen/X86/x86_32-arguments-darwin.c (diff)
The file was modifiedclang/test/CodeGen/64bit-swiftcall.c (diff)
The file was modifiedclang/test/CodeGen/aggregate-assign-call.c (diff)
The file was modifiedclang/test/CodeGenCXX/builtin-source-location.cpp (diff)
The file was modifiedclang/test/CodeGen/aarch64-varargs.c (diff)
The file was modifiedclang/test/CodeGen/mingw-long-double.c (diff)
The file was modifiedllvm/include/llvm/IR/Attributes.h (diff)
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/sret.ll (diff)
The file was modifiedclang/test/CodeGenCXX/pass-by-value-noalias.cpp (diff)
The file was modifiedclang/test/CodeGenCXX/microsoft-abi-sret-and-byval.cpp (diff)
The file was modifiedllvm/include/llvm/IR/Function.h (diff)
The file was modifiedclang/test/CodeGenCXX/microsoft-abi-byval-sret.cpp (diff)
The file was modifiedclang/test/CodeGenCXX/microsoft-abi-vmemptr-conflicts.cpp (diff)
The file was modifiedclang/test/Modules/templates.mm (diff)
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 (diff)
Commit 06104cb9f21d3f4b0f0feba7b35744284203164c by clementval
[NFC] Fix comment for DataOp
The file was modifiedmlir/lib/Dialect/OpenACC/IR/OpenACC.cpp (diff)
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 modifiedlld/MachO/Driver.cpp (diff)
The file was modifiedlld/MachO/SyntheticSections.cpp (diff)
The file was modifiedlld/MachO/Config.h (diff)
The file was modifiedlld/test/MachO/x86-64-reloc-unsigned.s (diff)
The file was modifiedlld/MachO/Arch/X86_64.cpp (diff)
The file was modifiedlld/test/MachO/dylink-lazy.s (diff)
The file was modifiedlld/test/MachO/local-got.s (diff)
The file was modifiedlld/MachO/SyntheticSections.h (diff)
The file was modifiedlld/MachO/Writer.cpp (diff)
The file was addedlld/test/MachO/compact-unwind-pie.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/test/MachO/load-commands.s (diff)
The file was modifiedlld/MachO/Driver.cpp (diff)
The file was modifiedlld/MachO/Writer.cpp (diff)
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/Driver.cpp (diff)
The file was modifiedlld/MachO/SyntheticSections.h (diff)
The file was modifiedlld/test/MachO/entry-symbol.s (diff)
The file was modifiedlld/MachO/Arch/X86_64.cpp (diff)
The file was modifiedlld/MachO/SyntheticSections.cpp (diff)
The file was modifiedlld/MachO/Writer.cpp (diff)
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 modifiedlld/MachO/SymbolTable.cpp (diff)
The file was modifiedlld/MachO/InputFiles.cpp (diff)
The file was addedlld/test/MachO/invalid/abs-duplicate.s
The file was modifiedlld/MachO/SyntheticSections.cpp (diff)
The file was modifiedlld/test/MachO/invalid/dso-handle-duplicate.s (diff)
The file was addedlld/test/MachO/abs-symbols.s
The file was modifiedlld/MachO/InputFiles.h (diff)
The file was modifiedlld/MachO/Symbols.cpp (diff)
The file was modifiedlld/MachO/Symbols.h (diff)
The file was modifiedlld/MachO/ExportTrie.cpp (diff)
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/invalid/bad-tlv-opcode.s (diff)
The file was modifiedlld/test/MachO/weak-header-flags.s (diff)
The file was modifiedlld/test/MachO/archive.s (diff)
The file was modifiedlld/test/MachO/invalid/invalid-fat-offset.s (diff)
The file was modifiedlld/test/MachO/invalid/archive-no-index.s (diff)
The file was modifiedlld/test/MachO/filelist.s (diff)
The file was modifiedlld/test/MachO/segments.s (diff)
The file was modifiedlld/test/MachO/invalid/invalid-relocation-pcrel.yaml (diff)
The file was modifiedlld/test/MachO/linkedit-contiguity.s (diff)
The file was modifiedlld/test/MachO/compact-unwind.test (diff)
The file was modifiedlld/test/MachO/local-got.s (diff)
The file was modifiedlld/test/MachO/bss.s (diff)
The file was modifiedlld/test/MachO/invalid/missing-dylib.s (diff)
The file was modifiedlld/test/MachO/abs-symbols.s (diff)
The file was modifiedlld/test/MachO/load-commands.s (diff)
The file was modifiedlld/test/MachO/section-merge.s (diff)
The file was modifiedlld/test/MachO/fat-arch.s (diff)
The file was modifiedlld/test/MachO/dylib.s (diff)
The file was modifiedlld/test/MachO/sub-library.s (diff)
The file was modifiedlld/test/MachO/subsections-section-relocs.s (diff)
The file was modifiedlld/test/MachO/invalid/no-id-dylink.yaml (diff)
The file was modifiedlld/test/MachO/invalid/bad-tlv-def.s (diff)
The file was modifiedlld/test/MachO/invalid/undefined-symbol.s (diff)
The file was modifiedlld/test/MachO/objc.s (diff)
The file was modifiedlld/test/MachO/x86-64-reloc-unsigned.s (diff)
The file was modifiedlld/test/MachO/dylink-lazy.s (diff)
The file was modifiedlld/test/MachO/x86-64-reloc-signed.s (diff)
The file was modifiedlld/test/MachO/x86-64-reloc-got-load.s (diff)
The file was modifiedlld/test/MachO/section-headers.s (diff)
The file was modifiedlld/test/MachO/stub-link.s (diff)
The file was modifiedlld/test/MachO/order-file.s (diff)
The file was modifiedlld/test/MachO/invalid/order-file-bad-objfile.test (diff)
The file was modifiedlld/test/MachO/export-trie.s (diff)
The file was modifiedlld/test/MachO/weak-binding.s (diff)
The file was modifiedlld/test/MachO/weak-definition-indirect-fetch.s (diff)
The file was modifiedlld/test/MachO/resolution.s (diff)
The file was modifiedlld/test/MachO/force-load.s (diff)
The file was modifiedlld/test/MachO/tlv-dylib.s (diff)
The file was modifiedlld/test/MachO/invalid/invalid-fat-narch.s (diff)
The file was modifiedlld/test/MachO/stub-framework.s (diff)
The file was modifiedlld/test/MachO/weak-definition-direct-fetch.s (diff)
The file was modifiedlld/test/MachO/common-symbol-resolution.s (diff)
The file was modifiedlld/test/MachO/framework.s (diff)
The file was modifiedlld/test/MachO/sectcreate.s (diff)
The file was modifiedlld/test/MachO/weak-definition-over-dysym.s (diff)
The file was modifiedlld/test/MachO/rpath.s (diff)
The file was modifiedlld/test/MachO/invalid/alignment-too-large.yaml (diff)
The file was modifiedlld/test/MachO/platform-version.s (diff)
The file was modifiedlld/test/MachO/invalid/stub-link.s (diff)
The file was modifiedlld/test/MachO/no-exports-dylib.s (diff)
The file was modifiedlld/test/MachO/invalid/order-file-bad-arch.test (diff)
The file was modifiedlld/test/MachO/invalid/bad-got-to-dylib-tlv-reference.s (diff)
The file was modifiedlld/test/MachO/invalid/duplicate-symbol.s (diff)
The file was modifiedlld/test/MachO/invalid/invalid-executable.s (diff)
The file was modifiedlld/test/MachO/compact-unwind-pie.s (diff)
The file was modifiedlld/test/MachO/no-unneeded-dyld-info.s (diff)
The file was modifiedlld/test/MachO/invalid/invalid-stub.s (diff)
The file was modifiedlld/test/MachO/subsections-symbol-relocs.s (diff)
The file was modifiedlld/test/MachO/entry-symbol.s (diff)
The file was modifiedlld/test/MachO/lc-build-version.s (diff)
The file was modifiedlld/test/MachO/invalid/bad-tlv-relocation.s (diff)
The file was modifiedlld/test/MachO/invalid/bad-got-to-tlv-reference.s (diff)
The file was modifiedlld/test/MachO/headerpad.s (diff)
The file was modifiedlld/test/MachO/search-paths.test (diff)
The file was modifiedlld/test/MachO/invalid/invalid-relocation-length.yaml (diff)
The file was modifiedlld/test/MachO/tlv.s (diff)
The file was modifiedlld/test/MachO/invalid/abs-duplicate.s (diff)
The file was modifiedlld/test/MachO/dylink.s (diff)
The file was modifiedlld/test/MachO/link-search-order.s (diff)
The file was modifiedlld/test/MachO/reexport-stub.s (diff)
The file was modifiedlld/test/MachO/invalid/dso-handle-duplicate.s (diff)
The file was modifiedlld/test/MachO/arch.s (diff)
The file was modifiedlld/test/MachO/relocations.s (diff)
The file was modifiedlld/test/MachO/invalid/no-such-file.s (diff)
The file was modifiedlld/test/MachO/symbol-order.s (diff)
The file was modifiedlld/test/MachO/common-symbol-coalescing.s (diff)
The file was modifiedlld/test/MachO/indirect-symtab.s (diff)
The file was modifiedlld/test/MachO/invalid/no-filelist.s (diff)
The file was modifiedlld/test/MachO/invalid/bad-archive.s (diff)
The file was modifiedlld/test/MachO/syslibroot.test (diff)
The file was addedlld/test/MachO/lit.local.cfg
The file was modifiedlld/test/MachO/weak-import.s (diff)
The file was modifiedlld/test/MachO/dso-handle.s (diff)
The file was modifiedlld/test/MachO/nonweak-definition-override.s (diff)
The file was modifiedlld/test/MachO/silent-ignore.test (diff)
The file was modifiedlld/test/MachO/invalid/reserved-section-name.s (diff)
The file was modifiedlld/test/MachO/static-link.s (diff)
The file was modifiedlld/test/MachO/weak-definition-order.s (diff)
The file was modifiedlld/test/MachO/symtab.s (diff)
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 (diff)
The file was modifiedlld/test/MachO/silent-ignore.test (diff)
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 addedllvm/test/Transforms/Coroutines/coro-catchswitch-cleanuppad.ll
The file was modifiedllvm/lib/Transforms/Coroutines/CoroFrame.cpp (diff)
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/include/llvm/Target/TargetMachine.h (diff)
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.h (diff)
The file was modifiedllvm/test/CodeGen/WebAssembly/lower-em-sjlj.ll (diff)
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp (diff)
The file was modifiedllvm/test/CodeGen/WebAssembly/lower-em-exceptions.ll (diff)
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyLowerEmscriptenEHSjLj.cpp (diff)
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/SBFrame.cpp (diff)
The file was modifiedlldb/source/API/SBFunction.cpp (diff)
The file was modifiedlldb/source/API/SBSymbol.cpp (diff)
The file was modifiedlldb/source/API/SBInstruction.cpp (diff)
The file was modifiedlldb/source/API/SBLineEntry.cpp (diff)
The file was modifiedlldb/include/lldb/API/SBAddress.h (diff)
The file was modifiedlldb/source/API/SBBreakpointLocation.cpp (diff)
The file was modifiedlldb/source/API/SBValue.cpp (diff)
The file was modifiedlldb/source/API/SBAddress.cpp (diff)
The file was modifiedlldb/source/API/SBQueueItem.cpp (diff)
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 (diff)
The file was modifiedllvm/lib/IR/Verifier.cpp (diff)
The file was addedllvm/test/Verifier/unique-disubprogram.ll
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/Transforms/Scalar/Scalar.cpp (diff)
The file was addedllvm/include/llvm/Transforms/Scalar/LoopReroll.h
The file was modifiedllvm/lib/Passes/PassRegistry.def (diff)
The file was modifiedllvm/include/llvm/InitializePasses.h (diff)
The file was modifiedllvm/lib/Passes/PassBuilder.cpp (diff)
The file was modifiedllvm/test/Transforms/LoopReroll/basic.ll (diff)
The file was modifiedllvm/lib/Transforms/Scalar/LoopRerollPass.cpp (diff)
Commit 2a0ca17f66f7776ade251fd40dc9a4f981b2a673 by llvm-dev
[InstCombine] collectBitParts - add fshl/fshr handling

Pulled from D87452, this is a fixed version of the collectBitParts fshl/fshr handling which as @nikic noticed wasn't checking for different providers or had correct bit ordering (which was hid by only testing shift amounts of bitwidth/2).

Differential Revision: https://reviews.llvm.org/D88292
The file was modifiedllvm/lib/Transforms/Utils/Local.cpp (diff)
The file was modifiedllvm/test/Transforms/InstCombine/bswap.ll (diff)
Commit 15645d044bcfe2a0f63156048b302f997a717688 by andrew.litteken
[IRSim] Adding basic implementation of llvm-sim.

This is a similarity visualization tool that accepts a Module and
passes it to the IRSimilarityIdentifier.  The resulting SimilarityGroups
are output in a JSON file.

Tests are found in test/tools/llvm-sim and check for the file not found,
a bad module, and that the JSON is created correctly.

Reviewers: paquette, jroelofs

Differential Revision: https://reviews.llvm.org/D86974
The file was addedllvm/tools/llvm-sim/llvm-sim.cpp
The file was addedllvm/tools/llvm-sim/LLVMBuild.txt
The file was addedllvm/test/tools/llvm-sim/single-sim-file.test
The file was addedllvm/tools/llvm-sim/CMakeLists.txt
The file was addedllvm/test/tools/llvm-sim/fail-cases.test
The file was modifiedllvm/tools/LLVMBuild.txt (diff)
The file was addedllvm/test/tools/llvm-sim/Inputs/sim1.ll
The file was addedllvm/test/tools/llvm-sim/single-sim.test
Commit 994ef4e7bb22ccdc871ee876207e529ed118f114 by llvm-dev
[InstCombine] Fix test name to match type. NFCI.

We're testing a <2 x i36> not <2 x i16>
The file was modifiedllvm/test/Transforms/InstCombine/rotate.ll (diff)
Commit 9ff9c1d8ee1d412f088b0fc9ea1b5c2cffe95c88 by llvm-dev
[InstCombine] matchRotate - support (uniform) constant rotation amounts (PR46895)

This patch adds handling of rotation patterns with constant shift amounts - the next bit will be how we want to support non-uniform constant vectors.

Differential Revision: https://reviews.llvm.org/D87452
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp (diff)
The file was modifiedllvm/test/Transforms/InstCombine/bswap.ll (diff)
The file was modifiedllvm/test/Transforms/InstCombine/or-concat.ll (diff)
The file was modifiedllvm/test/Transforms/InstCombine/fsh.ll (diff)
The file was modifiedllvm/test/Transforms/InstCombine/rotate.ll (diff)
Commit 7fa464f33d723051850f1d5785a93d5d2d6cd58f by llvm-dev
Fix copy+paste typo in doxygen parameter name to fix Wdocumentation. NFCI.
The file was modifiedllvm/include/llvm/Analysis/IRSimilarityIdentifier.h (diff)
Commit 69c6f6be07e4db11f2aca91ad7bbc0db1e9044d6 by andrew.litteken
Revert "[IRSim] Adding basic implementation of llvm-sim."

This reverts commit 15645d044bcfe2a0f63156048b302f997a717688.
The file was removedllvm/test/tools/llvm-sim/single-sim.test
The file was removedllvm/test/tools/llvm-sim/Inputs/sim1.ll
The file was modifiedllvm/tools/LLVMBuild.txt (diff)
The file was removedllvm/tools/llvm-sim/LLVMBuild.txt
The file was removedllvm/test/tools/llvm-sim/single-sim-file.test
The file was removedllvm/tools/llvm-sim/CMakeLists.txt
The file was removedllvm/test/tools/llvm-sim/fail-cases.test
The file was removedllvm/tools/llvm-sim/llvm-sim.cpp
Commit a83eb048cb9a75da7a07a9d5318bbdbf54885c87 by mvanotti
[lsan] Add interceptor for pthread_detach.

This commit adds an interceptor for the pthread_detach function,
calling into ThreadRegistry::DetachThread, allowing for thread contexts
to be reused.

Without this change, programs may fail when they create more than 8K
threads.

Fixes: https://bugs.llvm.org/show_bug.cgi?id=47389

Reviewed By: vitalybuka

Differential Revision: https://reviews.llvm.org/D88184
The file was modifiedcompiler-rt/lib/lsan/lsan_thread.h (diff)
The file was modifiedcompiler-rt/lib/lsan/lsan_thread.cpp (diff)
The file was addedcompiler-rt/test/lsan/TestCases/many_threads_detach.cpp
The file was modifiedcompiler-rt/lib/lsan/lsan_interceptors.cpp (diff)
Commit 1bec6eb3f5cba594698bae5b2789744e0c8ee5f2 by Jason Molenda
Add support for firmware/standalone LC_NOTE "main bin spec" corefiles

When a Mach-O corefile has an LC_NOTE "main bin spec" for a
standalone binary / firmware, with only a UUID and no load
address, try to locate the binary and dSYM by UUID and if
found, load it at offset 0 for the user.

Add a test case that tests a firmware/standalone corefile
with both the "kern ver str" and "main bin spec" LC_NOTEs.

<rdar://problem/68193804>

Differential Revision: https://reviews.llvm.org/D88282
The file was modifiedlldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.h (diff)
The file was modifiedlldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp (diff)
The file was addedlldb/test/API/macosx/lc-note/firmware-corefile/create-empty-corefile.cpp
The file was modifiedlldb/source/Plugins/Process/mach-core/ProcessMachCore.cpp (diff)
The file was addedlldb/test/API/macosx/lc-note/firmware-corefile/bout.mk
The file was modifiedlldb/include/lldb/Symbol/ObjectFile.h (diff)
The file was addedlldb/test/API/macosx/lc-note/firmware-corefile/Makefile
The file was addedlldb/test/API/macosx/lc-note/firmware-corefile/TestFirmwareCorefiles.py
The file was addedlldb/test/API/macosx/lc-note/firmware-corefile/main.c

Summary

  1. Added openmp docs to SphinxDocsBuilder. (details)
Commit 786748274ad0b07093fed1422f49ca885c397c11 by alebedev
Added openmp docs to SphinxDocsBuilder.

Since openmp Sphinx docs are buildable, we can expand SphinxDocsBuilder to build and publish that as well.

Reviewed By: gkistanova, jdoerfert

Differential Revision: https://reviews.llvm.org/D88277
The file was modifiedzorg/buildbot/builders/SphinxDocsBuilder.py (diff)