[all-commits] [llvm/llvm-project] df1d0a: [AArch64][PAC] Support and document ptrauth builti...
Ahmed Bougacha via All-commits
all-commits at lists.llvm.org
Mon Feb 12 09:51:14 PST 2024
Branch: refs/heads/users/ahmedbougacha/ptrauth
Home: https://github.com/llvm/llvm-project
Commit: df1d0af0a4a296731e5fcba52d8298bbbad13848
https://github.com/llvm/llvm-project/commit/df1d0af0a4a296731e5fcba52d8298bbbad13848
Author: Ahmed Bougacha <ahmed at bougacha.org>
Date: 2024-02-09 (Fri, 09 Feb 2024)
Changed paths:
M clang/docs/LanguageExtensions.rst
A clang/docs/PointerAuthentication.rst
M clang/include/clang/Basic/Builtins.td
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/Features.def
M clang/include/clang/Basic/LangOptions.def
M clang/include/clang/Basic/TargetInfo.h
M clang/include/clang/Driver/Options.td
M clang/include/clang/Sema/Sema.h
M clang/lib/Basic/TargetInfo.cpp
M clang/lib/Basic/Targets/AArch64.cpp
M clang/lib/Basic/Targets/AArch64.h
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/lib/Headers/CMakeLists.txt
M clang/lib/Headers/module.modulemap
A clang/lib/Headers/ptrauth.h
M clang/lib/Sema/SemaChecking.cpp
A clang/test/CodeGen/ptrauth-intrinsics.c
A clang/test/Preprocessor/ptrauth_feature.c
A clang/test/Sema/ptrauth-intrinsics-macro.c
A clang/test/Sema/ptrauth.c
M llvm/docs/PointerAuth.md
Log Message:
-----------
[AArch64][PAC] Support and document ptrauth builtins and -fptrauth-intrinsics.
This defines the basic set of pointer authentication clang builtins
(provided in a new header, ptrauth.h), with diagnostics and IRGen
support. The availability of the builtins is gated on a new flag,
`-fptrauth-intrinsics`.
Note that this only includes the basic intrinsics, and notably excludes
`ptrauth_sign_constant`, `ptrauth_type_discriminator`, and
`ptrauth_string_discriminator`, which need extra logic to be fully
supported.
This also introduces clang/docs/PointerAuthentication.rst, which
describes the ptrauth model in general, in addition to these builtins.
Co-Authored-By: Akira Hatanaka <ahatanaka at apple.com>
Co-Authored-By: John McCall <rjmccall at apple.com>
Commit: 5782a4ecfb08b1dec2ae3744ca4623eb74bdb1f4
https://github.com/llvm/llvm-project/commit/5782a4ecfb08b1dec2ae3744ca4623eb74bdb1f4
Author: Ahmed Bougacha <ahmed at bougacha.org>
Date: 2024-02-09 (Fri, 09 Feb 2024)
Changed paths:
M clang/docs/PointerAuthentication.rst
M clang/include/clang/Driver/Options.td
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Sema/SemaChecking.cpp
Log Message:
-----------
Address review comments.
Commit: e8ec827c2fbabf84185e7d72dbda76ced068829c
https://github.com/llvm/llvm-project/commit/e8ec827c2fbabf84185e7d72dbda76ced068829c
Author: Ahmed Bougacha <ahmed at bougacha.org>
Date: 2024-02-09 (Fri, 09 Feb 2024)
Changed paths:
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/Sema/SemaChecking.cpp
Log Message:
-----------
Address some formatting.
Commit: b83f7c8fa3e20e23571cf0ccd3b865a1895a7122
https://github.com/llvm/llvm-project/commit/b83f7c8fa3e20e23571cf0ccd3b865a1895a7122
Author: Ahmed Bougacha <ahmed at bougacha.org>
Date: 2024-02-09 (Fri, 09 Feb 2024)
Changed paths:
M clang/docs/PointerAuthentication.rst
Log Message:
-----------
Update rst refs following doc page split.
Commit: 5a07e232901a34b48e0399ccbac9219fe64dbf49
https://github.com/llvm/llvm-project/commit/5a07e232901a34b48e0399ccbac9219fe64dbf49
Author: Ahmed Bougacha <ahmed at bougacha.org>
Date: 2024-02-09 (Fri, 09 Feb 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/GISel/AArch64GlobalISelUtils.cpp
M llvm/lib/Target/AArch64/GISel/AArch64GlobalISelUtils.h
M llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
A llvm/test/CodeGen/AArch64/ptrauth-intrinsic-auth-resign-with-blend.ll
A llvm/test/CodeGen/AArch64/ptrauth-intrinsic-auth-resign.ll
Log Message:
-----------
[AArch64][PAC] Lower auth/resign into checked sequence.
This introduces 3 hardening modes in the authentication step of
auth/resign lowering:
- unchecked, which uses the AUT instructions as-is
- poison, which detects authentication failure (using an XPAC+CMP
sequence), explicitly yielding the XPAC result rather than the
AUT result, to avoid leaking
- trap, which additionally traps on authentication failure,
using BRK #0xC470 + key (IA C470, IB C471, DA C472, DB C473.)
Not all modes are necessarily useful in all contexts, and there
are more performant alternative lowerings in specific contexts
(e.g., when I/D TBI enablement is a target ABI guarantee.)
This is controlled by the `ptrauth-auth-traps` function attributes,
and can be overridden using `-aarch64-ptrauth-auth-checks=`.
Commit: f726385f2628886415217c53389b0432ff8cb08f
https://github.com/llvm/llvm-project/commit/f726385f2628886415217c53389b0432ff8cb08f
Author: Ahmed Bougacha <ahmed at bougacha.org>
Date: 2024-02-09 (Fri, 09 Feb 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64.td
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
Log Message:
-----------
[AArch64] Add FPAC feature.
Commit: 8b0f576edff22ae44502e46d3848ad2fde5f5500
https://github.com/llvm/llvm-project/commit/8b0f576edff22ae44502e46d3848ad2fde5f5500
Author: Ahmed Bougacha <ahmed at bougacha.org>
Date: 2024-02-09 (Fri, 09 Feb 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
A llvm/test/CodeGen/AArch64/ptrauth-fpac.ll
Log Message:
-----------
[AArch64][PAC] Don't emit auth/resign checks when targeting FPAC.
When the FPAC feature is present, we can rely on its faulting
behavior to avoid emitting the expensive authentication failure
check sequence ourvelves. In which case we emit the same
sequence as a plain unchecked auth/resign.
Commit: 1f73bb5b8ef78b770d8df3c562ed7f73836999f6
https://github.com/llvm/llvm-project/commit/1f73bb5b8ef78b770d8df3c562ed7f73836999f6
Author: Ahmed Bougacha <ahmed at bougacha.org>
Date: 2024-02-09 (Fri, 09 Feb 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64RegisterInfo.td
Log Message:
-----------
[AArch64] Adopt x8+ allocation order for GPR64noip.
73078ecd381 added GPR64noip for hwasan pseudos.
Give it an allocation order that prefers allocating from x8 and up,
to match GPR64: this allows for easier regalloc, as x0-x7 are
likely to be used for parameter passing.
Commit: c5c931a104b5c8dfda1db481001e8c0b22567c4f
https://github.com/llvm/llvm-project/commit/c5c931a104b5c8dfda1db481001e8c0b22567c4f
Author: Ahmed Bougacha <ahmed at bougacha.org>
Date: 2024-02-09 (Fri, 09 Feb 2024)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/CallLowering.h
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/lib/CodeGen/GlobalISel/CallLowering.cpp
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h
M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
M llvm/lib/Target/AArch64/AArch64ExpandPseudoInsts.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.h
M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/GISel/AArch64CallLowering.cpp
M llvm/lib/Target/AArch64/GISel/AArch64GlobalISelUtils.cpp
A llvm/test/CodeGen/AArch64/GlobalISel/ptrauth-invoke.ll
M llvm/test/CodeGen/AArch64/branch-target-enforcement-indirect-calls.ll
A llvm/test/CodeGen/AArch64/ptrauth-bti-call.ll
A llvm/test/CodeGen/AArch64/ptrauth-call-rv-marker.ll
A llvm/test/CodeGen/AArch64/ptrauth-call.ll
A llvm/test/CodeGen/AArch64/ptrauth-invoke.ll
Log Message:
-----------
[AArch64][PAC] Lower authenticated calls with ptrauth bundles.
Commit: 8c181479a8aed988b54f827aebc7e8e4aa713928
https://github.com/llvm/llvm-project/commit/8c181479a8aed988b54f827aebc7e8e4aa713928
Author: Ahmed Bougacha <ahmed at bougacha.org>
Date: 2024-02-09 (Fri, 09 Feb 2024)
Changed paths:
M clang/lib/Driver/ToolChains/Darwin.cpp
M clang/lib/Driver/ToolChains/Darwin.h
A clang/test/Driver/arch-arm64e.c
Log Message:
-----------
[clang][Driver] Enable -fptrauth-intrinsics on arm64e-apple-darwin.
Commit: efbff1d3b7797b3271f482c553a3ac4d5e293140
https://github.com/llvm/llvm-project/commit/efbff1d3b7797b3271f482c553a3ac4d5e293140
Author: Ahmed Bougacha <ahmed at bougacha.org>
Date: 2024-02-09 (Fri, 09 Feb 2024)
Changed paths:
M llvm/docs/PointerAuth.md
Log Message:
-----------
[Docs] Describe ptrauth attributes.
FIXME: Split and document newer attributes.
Commit: da27aa6cf944bad8f39907c17138cd7dd053a6f8
https://github.com/llvm/llvm-project/commit/da27aa6cf944bad8f39907c17138cd7dd053a6f8
Author: Ahmed Bougacha <ahmed at bougacha.org>
Date: 2024-02-09 (Fri, 09 Feb 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ExpandPseudoInsts.cpp
M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
M llvm/lib/Target/AArch64/AArch64FrameLowering.h
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/select-returnaddr.ll
M llvm/test/CodeGen/AArch64/arm64_32.ll
A llvm/test/CodeGen/AArch64/ptrauth-ret.ll
M llvm/test/CodeGen/AArch64/returnaddr.ll
Log Message:
-----------
[AArch64][PAC] Support return address authentication for frame LR.
This includes a new pseudo-instruction, XPACIuntied, to be used when
lowering @llvm.returnaddress: it avoids clobbering LR, thereby saving
a stack frame when it's not otherwise needed.
Commit: 5c80e6fb0174a9feb5886cce020280e80f506bba
https://github.com/llvm/llvm-project/commit/5c80e6fb0174a9feb5886cce020280e80f506bba
Author: Ahmed Bougacha <ahmed at bougacha.org>
Date: 2024-02-09 (Fri, 09 Feb 2024)
Changed paths:
M llvm/docs/PointerAuth.md
Log Message:
-----------
[Docs] Describe arm64e Darwin arch subtype for Pointer Auth.
Commit: e55655b982873936de121a2a562caaa1456c47c5
https://github.com/llvm/llvm-project/commit/e55655b982873936de121a2a562caaa1456c47c5
Author: Ahmed Bougacha <ahmed at bougacha.org>
Date: 2024-02-09 (Fri, 09 Feb 2024)
Changed paths:
M llvm/lib/Object/MachOObjectFile.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MachObjectWriter.cpp
A llvm/test/MC/AArch64/arm64e-ptrauth-reloc.s
Log Message:
-----------
[AArch64][MachO] Support @AUTH relocation.
This adds parser, MCExpr, and emitter support for the arm64e-specific
authenticated pointer auth relocation.
In assembly, this is expressed using:
.quad <symbol>@AUTH(<key>, <discriminator> [, addr])
For example:
.quad _g3 at AUTH(ib, 1234, addr)
The optional 'addr' specifier represents whether the generated pointer
authentication code will also include address diversity (by blending the
address of the storage location of the relocated pointer with the
user-specified constant discriminator).
The @AUTH expression lowers to a new kind of MachO relocation:
ARM64_RELOC_AUTHENTICATED_POINTER
It points to the referenced symbol, and the other data, describing
the signing scheme and original addend (shrunk to 32 bits instead of 64),
is encoded into the addend (in the relocated location), as such:
|63|62|61-51|50-49| 48 |47 - 32|31 - 0|
| 1| 0| 0 | key | addr | discriminator | addend |
Commit: 85e17854d1e633a2d55478a5727ffab749beb8cb
https://github.com/llvm/llvm-project/commit/85e17854d1e633a2d55478a5727ffab749beb8cb
Author: Ahmed Bougacha <ahmed at bougacha.org>
Date: 2024-02-09 (Fri, 09 Feb 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64.h
A llvm/lib/Target/AArch64/AArch64ExpandHardenedPseudos.cpp
M llvm/lib/Target/AArch64/AArch64TargetMachine.cpp
M llvm/lib/Target/AArch64/CMakeLists.txt
M llvm/test/CodeGen/AArch64/O0-pipeline.ll
M llvm/test/CodeGen/AArch64/O3-pipeline.ll
Log Message:
-----------
[AArch64][PAC] Add Hardened-pseudo expansion pass.
Commit: 79ecdc1b974d9efca1faf34a2a5baa8b7ca3d872
https://github.com/llvm/llvm-project/commit/79ecdc1b974d9efca1faf34a2a5baa8b7ca3d872
Author: Ahmed Bougacha <ahmed at bougacha.org>
Date: 2024-02-09 (Fri, 09 Feb 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/AArch64RegisterInfo.td
M llvm/lib/Target/AArch64/GISel/AArch64RegisterBankInfo.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/call-translator-variadic-musttail.ll
M llvm/test/CodeGen/AArch64/arm64-homogeneous-prolog-epilog-bad-outline.mir
A llvm/test/CodeGen/AArch64/ptrauth-ret-trap.ll
M llvm/test/CodeGen/AArch64/speculation-hardening.mir
M llvm/test/CodeGen/AArch64/store-swift-async-context-clobber-live-reg.ll
Log Message:
-----------
[AArch64][PAC] Emit LR auth-failure checks on tail-calls.
Commit: 7d47d090f80ccda35f8ddda36e0b3f34899bffd4
https://github.com/llvm/llvm-project/commit/7d47d090f80ccda35f8ddda36e0b3f34899bffd4
Author: Ahmed Bougacha <ahmed at bougacha.org>
Date: 2024-02-09 (Fri, 09 Feb 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
A llvm/test/CodeGen/AArch64/ptrauth-darwin-tls.ll
Log Message:
-----------
[AArch64][PAC] Emit auth call for tlv access thunk function pointer.
Commit: 73130207f3caada169f51b74b4f710dfa53c3997
https://github.com/llvm/llvm-project/commit/73130207f3caada169f51b74b4f710dfa53c3997
Author: Ahmed Bougacha <ahmed at bougacha.org>
Date: 2024-02-09 (Fri, 09 Feb 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/lib/Transforms/InstCombine/InstCombineInternal.h
A llvm/test/Transforms/InstCombine/ptrauth-intrinsics-call.ll
Log Message:
-----------
[InstCombine] Combine ptrauth intrinsics into call + bundle.
Commit: 31be6d7773027221e9f5069e2a5187f87a11fdab
https://github.com/llvm/llvm-project/commit/31be6d7773027221e9f5069e2a5187f87a11fdab
Author: Ahmed Bougacha <ahmed at bougacha.org>
Date: 2024-02-09 (Fri, 09 Feb 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
A llvm/test/CodeGen/AArch64/musttail.ll
Log Message:
-----------
[AArch64] Support musttail, including variadic.
FIXME: one case currently miscompiled.
Commit: ea7c2eff8c540e0fd31461fc9b955572e15f2acc
https://github.com/llvm/llvm-project/commit/ea7c2eff8c540e0fd31461fc9b955572e15f2acc
Author: Ahmed Bougacha <ahmed at bougacha.org>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
A llvm/include/llvm/IR/GlobalPtrAuthInfo.h
M llvm/include/llvm/IR/GlobalValue.h
M llvm/lib/Analysis/ConstantFolding.cpp
M llvm/lib/IR/CMakeLists.txt
A llvm/lib/IR/GlobalPtrAuthInfo.cpp
M llvm/lib/IR/Globals.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/lib/Linker/IRMover.cpp
M llvm/lib/Transforms/IPO/ExtractGV.cpp
M llvm/lib/Transforms/IPO/FunctionImport.cpp
M llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
M llvm/lib/Transforms/Utils/Evaluator.cpp
M llvm/lib/Transforms/Utils/FunctionImportUtils.cpp
A llvm/test/Instrumentation/AddressSanitizer/do-not-instrument-ptrauth-globals.ll
A llvm/test/Transforms/GlobalOpt/evaluate-ptrauth-global.ll
A llvm/test/Transforms/InstSimplify/ConstProp/ptrauth-icmp-global.ll
A llvm/test/Transforms/InstSimplify/ptrauth-global-compare.ll
A llvm/test/Verifier/ptrauth-global.ll
A llvm/test/tools/llvm-extract/extract-ptrauth.ll
M llvm/tools/bugpoint/ExtractFunction.cpp
Log Message:
-----------
[IR] Define llvm.ptrauth wrapper globals.
Commit: b1f11050415105684ec76fa588472b5e9f05ca98
https://github.com/llvm/llvm-project/commit/b1f11050415105684ec76fa588472b5e9f05ca98
Author: Ahmed Bougacha <ahmed at bougacha.org>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M llvm/docs/PointerAuth.md
Log Message:
-----------
[Docs] Describe llvm.ptrauth globals.
Commit: 6eefd0fbb56807ff8eaf5d35c1a6ac23ec399ca5
https://github.com/llvm/llvm-project/commit/6eefd0fbb56807ff8eaf5d35c1a6ac23ec399ca5
Author: Ahmed Bougacha <ahmed at bougacha.org>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M llvm/docs/PointerAuth.md
Log Message:
-----------
[Docs] Describe MachO AUTH relocations.
Commit: 556ebde19d6965b79f4320d59ad943c059953ea6
https://github.com/llvm/llvm-project/commit/556ebde19d6965b79f4320d59ad943c059953ea6
Author: Ahmed Bougacha <ahmed at bougacha.org>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/test/Transforms/InstCombine/ptrauth-intrinsics.ll
Log Message:
-----------
[InstCombine] Combine llvm.ptrauth globals into ptrauth intrinsics.
Commit: 78636843e9ca70835588ca51692517526fff2a8d
https://github.com/llvm/llvm-project/commit/78636843e9ca70835588ca51692517526fff2a8d
Author: Ahmed Bougacha <ahmed at bougacha.org>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M llvm/include/llvm/IR/InstrTypes.h
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
A llvm/test/Transforms/InstCombine/ptrauth-call.ll
Log Message:
-----------
[InstCombine] Combine llvm.ptrauth globals into ptrauth call bundles.
Commit: 2a1cdf14ca92058ca7d94c2736ebb8da413883d8
https://github.com/llvm/llvm-project/commit/2a1cdf14ca92058ca7d94c2736ebb8da413883d8
Author: Ahmed Bougacha <ahmed at bougacha.org>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M llvm/include/llvm/CodeGen/AsmPrinter.h
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
A llvm/test/CodeGen/AArch64/GlobalISel/ptrauth-reloc.ll
A llvm/test/CodeGen/AArch64/ptrauth-reloc.ll
Log Message:
-----------
[AArch64][PAC] Lower constant refs to llvm.ptrauth globals.
Commit: 145f26d569940d55f69b57b59a4c83d14f47205d
https://github.com/llvm/llvm-project/commit/145f26d569940d55f69b57b59a4c83d14f47205d
Author: Ahmed Bougacha <ahmed at bougacha.org>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M llvm/include/llvm/CodeGen/MachineModuleInfoImpls.h
M llvm/lib/CodeGen/MachineModuleInfoImpls.cpp
M llvm/lib/MC/MCMachOStreamer.cpp
M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
M llvm/lib/Target/AArch64/AArch64MCInstLower.cpp
M llvm/lib/Target/AArch64/AArch64TargetObjectFile.cpp
M llvm/lib/Target/AArch64/AArch64TargetObjectFile.h
Log Message:
-----------
[AArch64][PAC] Support emitting ptrauth GV refs in __DATA,__auth_ptr.
Commit: 9b354d1dca8a0b85c02f05c6ce3ceac39adb4b1c
https://github.com/llvm/llvm-project/commit/9b354d1dca8a0b85c02f05c6ce3ceac39adb4b1c
Author: Ahmed Bougacha <ahmed at bougacha.org>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M llvm/include/llvm/CodeGen/ISDOpcodes.h
M llvm/include/llvm/Support/TargetOpcodes.def
M llvm/include/llvm/Target/GenericOpcodes.td
M llvm/lib/CodeGen/GlobalISel/CallLowering.cpp
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp
M llvm/lib/Target/AArch64/AArch64ExpandHardenedPseudos.cpp
M llvm/lib/Target/AArch64/AArch64FastISel.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.h
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/legalizer-info-validation.mir
A llvm/test/CodeGen/AArch64/GlobalISel/ptrauth-constant-in-code.ll
A llvm/test/CodeGen/AArch64/ptrauth-constant-in-code.ll
M llvm/test/TableGen/GlobalISelCombinerEmitter/builtins/match-table-replacerreg.td
M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table-imms.td
M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table-intrinsics.td
M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table-patfrag-root.td
M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table-variadics.td
M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table.td
M llvm/test/TableGen/GlobalISelEmitter.td
Log Message:
-----------
[AArch64][PAC] Lower code references to llvm.ptrauth globals.
Commit: 96c90aa6d2008213e069a7d8971b38eb2265f3ad
https://github.com/llvm/llvm-project/commit/96c90aa6d2008213e069a7d8971b38eb2265f3ad
Author: Ahmed Bougacha <ahmed at bougacha.org>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/CallLowering.cpp
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/ptrauth-invoke.ll
A llvm/test/CodeGen/AArch64/ptrauth-direct-call.ll
M llvm/test/CodeGen/AArch64/ptrauth-invoke.ll
Log Message:
-----------
[AArch64][PAC] Lower direct authenticated calls, to llvm.ptrauth GVs.
Commit: b8ab176ef4312c31cefa1a63cb3bbe9ae85f7222
https://github.com/llvm/llvm-project/commit/b8ab176ef4312c31cefa1a63cb3bbe9ae85f7222
Author: Ahmed Bougacha <ahmed at bougacha.org>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M compiler-rt/test/profile/instrprof-icall-promo.test
M llvm/lib/Transforms/Utils/CallPromotionUtils.cpp
M llvm/test/Transforms/SampleProfile/Inputs/indirect-call.prof
A llvm/test/Transforms/SampleProfile/indirect-call-arm64e.ll
M llvm/test/Transforms/SampleProfile/indirect-call.ll
Log Message:
-----------
D134999: [PGO] Do not promote indirect calls that have ptrauth bundles.
Commit: 3133be78373934255f461baf20674e5c8c662a7a
https://github.com/llvm/llvm-project/commit/3133be78373934255f461baf20674e5c8c662a7a
Author: Ahmed Bougacha <ahmed at bougacha.org>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
M llvm/lib/Target/AArch64/AArch64ExpandHardenedPseudos.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
A llvm/test/CodeGen/AArch64/arm64e-jump-table-hardening.ll
Log Message:
-----------
[AArch64][PAC] Lower jump-tables using hardened pseudo.
Commit: 7ce23e767a21f732e3cacb77d38eee1dc79d12ee
https://github.com/llvm/llvm-project/commit/7ce23e767a21f732e3cacb77d38eee1dc79d12ee
Author: Ahmed Bougacha <ahmed at bougacha.org>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
A llvm/test/CodeGen/AArch64/arm64e-machine-outliner-no-pacibsp.mir
A llvm/test/CodeGen/AArch64/arm64e-machine-outliner-regsaves.mir
A llvm/test/CodeGen/AArch64/arm64e-machine-outliner.mir
Log Message:
-----------
[AArch64][PAC] Handle signed LR in outliner.
Commit: 4ece6285672764f4f4ca6029a9f906507ce887aa
https://github.com/llvm/llvm-project/commit/4ece6285672764f4f4ca6029a9f906507ce887aa
Author: Tim Northover <t.p.northover at gmail.com>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
A llvm/test/CodeGen/AArch64/arm64e-auth-outlined-noframe.ll
A llvm/test/CodeGen/AArch64/arm64e-auth-outlined-tail-call.ll
Log Message:
-----------
[AArch64][PAC] Emit LR auth-failure checks in the outliner.
Commit: 75c7cfb3846ffd5a93c5c0208234a8b41eae1b8f
https://github.com/llvm/llvm-project/commit/75c7cfb3846ffd5a93c5c0208234a8b41eae1b8f
Author: Ahmed Bougacha <ahmed at bougacha.org>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64Combine.td
M llvm/lib/Target/AArch64/AArch64ExpandHardenedPseudos.cpp
M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
M llvm/lib/Target/AArch64/AArch64InstrGISel.td
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
M llvm/lib/Target/AArch64/GISel/AArch64PostLegalizerLowering.cpp
A llvm/test/CodeGen/AArch64/ptrauth-load.ll
Log Message:
-----------
[AArch64][PAC] Select auth+load into LDRA*.
Commit: 53b20ccc6c3a8eb7b51bb26f0fb7ab772e9efd07
https://github.com/llvm/llvm-project/commit/53b20ccc6c3a8eb7b51bb26f0fb7ab772e9efd07
Author: Ahmed Bougacha <ahmed at bougacha.org>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M clang/include/clang/Basic/LangOptions.def
M clang/include/clang/Driver/Options.td
M clang/lib/Basic/Targets/OSTargets.cpp
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/Clang.h
M clang/lib/Driver/ToolChains/Darwin.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
A clang/test/CodeGen/ptrauth-abi-version.c
A clang/test/Driver/arch-arm64e-abi-versioning-defaults.c
A clang/test/Driver/arch-arm64e-abi-versioning.c
A clang/test/Preprocessor/ptrauth_abi_version.c
M clang/tools/driver/cc1as_main.cpp
M llvm/docs/LangRef.rst
M llvm/include/llvm/BinaryFormat/MachO.h
M llvm/include/llvm/IR/Module.h
M llvm/include/llvm/MC/MCAssembler.h
M llvm/include/llvm/MC/MCMachObjectWriter.h
M llvm/include/llvm/MC/MCStreamer.h
M llvm/lib/BinaryFormat/MachO.cpp
M llvm/lib/IR/AutoUpgrade.cpp
M llvm/lib/IR/Module.cpp
M llvm/lib/LTO/LTOModule.cpp
M llvm/lib/MC/MCAsmStreamer.cpp
M llvm/lib/MC/MCAssembler.cpp
M llvm/lib/MC/MCMachOStreamer.cpp
M llvm/lib/MC/MCParser/DarwinAsmParser.cpp
M llvm/lib/MC/MachObjectWriter.cpp
M llvm/lib/Object/MachOObjectFile.cpp
M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
A llvm/test/Bitcode/upgrade-ptrauth.ll
A llvm/test/Bitcode/upgrade-ptrauth.ll.bc
A llvm/test/CodeGen/AArch64/arm64e-ptrauth-abi-version-default.ll
A llvm/test/CodeGen/AArch64/arm64e-ptrauth-abi-version-invalid.ll
A llvm/test/CodeGen/AArch64/arm64e-ptrauth-abi-version-mismatch.ll
A llvm/test/CodeGen/AArch64/arm64e-ptrauth-abi-version-old.ll
A llvm/test/CodeGen/AArch64/arm64e-ptrauth-abi-version-zero.ll
A llvm/test/CodeGen/AArch64/arm64e-ptrauth-abi-version.ll
A llvm/test/CodeGen/AArch64/arm64e-ptrauth-kernel-abi-version.ll
A llvm/test/LTO/AArch64/arm64e-print-macho-cpu.ll
A llvm/test/LTO/AArch64/arm64e-ptrauth-abi-version-print-macho-cpu.ll
A llvm/test/LTO/AArch64/arm64e-ptrauth-kernel-abi-version-print-macho-cpu.ll
A llvm/test/Linker/Inputs/module-flags-ptrauth-abi-version-3.ll
A llvm/test/Linker/Inputs/module-flags-ptrauth-abi-version-5.ll
A llvm/test/Linker/Inputs/module-flags-ptrauth-kernel-abi-version-3.ll
A llvm/test/Linker/module-flags-ptrauth-abi-version-a.ll
A llvm/test/MC/AArch64/arm64e-ptrauth-abi-version.s
A llvm/test/tools/llvm-objdump/AArch64/Inputs/fat.macho-arm64e-kernel-ptrauth-abi
A llvm/test/tools/llvm-objdump/AArch64/Inputs/fat.macho-arm64e-ptrauth-abi
A llvm/test/tools/llvm-objdump/AArch64/macho-universal-arm64e-kernel-ptrauth-abi.test
A llvm/test/tools/llvm-objdump/AArch64/macho-universal-arm64e-ptrauth-abi.test
A llvm/test/tools/llvm-objdump/macho-ptrauth-cpusubtype.test
M llvm/tools/dsymutil/MachOUtils.cpp
M llvm/tools/llvm-lto/llvm-lto.cpp
M llvm/tools/llvm-objdump/MachODump.cpp
M llvm/unittests/BinaryFormat/MachOTest.cpp
Log Message:
-----------
[AArch64][MachO] Support ptrauth ABI version.
Commit: 857fcbda9529be8d32b357dcf3ac0d2a90319365
https://github.com/llvm/llvm-project/commit/857fcbda9529be8d32b357dcf3ac0d2a90319365
Author: Ahmed Bougacha <ahmed at bougacha.org>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M llvm/include/llvm/IR/DIBuilder.h
M llvm/include/llvm/IR/DebugInfoMetadata.h
M llvm/lib/AsmParser/LLParser.cpp
M llvm/lib/Bitcode/Reader/MetadataLoader.cpp
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
M llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp
M llvm/lib/IR/AsmWriter.cpp
M llvm/lib/IR/DIBuilder.cpp
M llvm/lib/IR/DebugInfo.cpp
M llvm/lib/IR/DebugInfoMetadata.cpp
M llvm/lib/IR/LLVMContextImpl.h
M llvm/lib/IR/Verifier.cpp
M llvm/test/Assembler/debug-info.ll
A llvm/test/DebugInfo/AArch64/ptrauth.ll
M llvm/unittests/IR/MetadataTest.cpp
Log Message:
-----------
[DWARF] Support __ptrauth type qualifier.
Commit: 15da5b980c90d668c74aa18663b8fcfbb8d77279
https://github.com/llvm/llvm-project/commit/15da5b980c90d668c74aa18663b8fcfbb8d77279
Author: Ahmed Bougacha <ahmed at bougacha.org>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M llvm/include/llvm/Analysis/Utils/Local.h
Log Message:
-----------
[IR] Generalize EmitGEPOffset to not need an actual GEP inst.
Commit: 61cf04bd613d22a381eca0f7b7ec8916afcfb043
https://github.com/llvm/llvm-project/commit/61cf04bd613d22a381eca0f7b7ec8916afcfb043
Author: Ahmed Bougacha <ahmed at bougacha.org>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M clang/lib/CodeGen/ABIInfoImpl.cpp
M clang/lib/CodeGen/Address.h
M clang/lib/CodeGen/CGAtomic.cpp
M clang/lib/CodeGen/CGBlocks.cpp
M clang/lib/CodeGen/CGBlocks.h
M clang/lib/CodeGen/CGBuilder.h
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CGCUDANV.cpp
M clang/lib/CodeGen/CGCXXABI.cpp
M clang/lib/CodeGen/CGCXXABI.h
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CGCall.h
M clang/lib/CodeGen/CGClass.cpp
M clang/lib/CodeGen/CGCleanup.cpp
M clang/lib/CodeGen/CGCleanup.h
M clang/lib/CodeGen/CGCoroutine.cpp
M clang/lib/CodeGen/CGDecl.cpp
M clang/lib/CodeGen/CGException.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CGExprAgg.cpp
M clang/lib/CodeGen/CGExprCXX.cpp
M clang/lib/CodeGen/CGExprConstant.cpp
M clang/lib/CodeGen/CGExprScalar.cpp
M clang/lib/CodeGen/CGNonTrivialStruct.cpp
M clang/lib/CodeGen/CGObjC.cpp
M clang/lib/CodeGen/CGObjCGNU.cpp
M clang/lib/CodeGen/CGObjCMac.cpp
M clang/lib/CodeGen/CGObjCRuntime.cpp
M clang/lib/CodeGen/CGOpenMPRuntime.cpp
M clang/lib/CodeGen/CGOpenMPRuntime.h
M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
M clang/lib/CodeGen/CGStmt.cpp
M clang/lib/CodeGen/CGStmtOpenMP.cpp
M clang/lib/CodeGen/CGVTables.cpp
M clang/lib/CodeGen/CGValue.h
M clang/lib/CodeGen/CodeGenFunction.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/CodeGen/CodeGenPGO.cpp
M clang/lib/CodeGen/CodeGenPGO.h
M clang/lib/CodeGen/ItaniumCXXABI.cpp
M clang/lib/CodeGen/MicrosoftCXXABI.cpp
M clang/lib/CodeGen/TargetInfo.h
M clang/lib/CodeGen/Targets/NVPTX.cpp
M clang/lib/CodeGen/Targets/PPC.cpp
M clang/lib/CodeGen/Targets/Sparc.cpp
M clang/lib/CodeGen/Targets/SystemZ.cpp
M clang/lib/CodeGen/Targets/XCore.cpp
M clang/utils/TableGen/MveEmitter.cpp
M llvm/include/llvm/IR/IRBuilder.h
Log Message:
-----------
[clang][CodeGen] Introduce class RawAddress and modify Address in preparation for adding information to it that is needed for pointer authentication
Commit: 63953a9d2f3898cf51ea1a93b0ca62dd7f57cc60
https://github.com/llvm/llvm-project/commit/63953a9d2f3898cf51ea1a93b0ca62dd7f57cc60
Author: Ahmed Bougacha <ahmed at bougacha.org>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M clang/lib/CodeGen/CGAtomic.cpp
M clang/lib/CodeGen/CGBlocks.cpp
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CGClass.cpp
M clang/lib/CodeGen/CGDecl.cpp
M clang/lib/CodeGen/CGException.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CGExprAgg.cpp
M clang/lib/CodeGen/CGExprCXX.cpp
M clang/lib/CodeGen/CGExprComplex.cpp
M clang/lib/CodeGen/CGExprScalar.cpp
M clang/lib/CodeGen/CGNonTrivialStruct.cpp
M clang/lib/CodeGen/CGObjC.cpp
M clang/lib/CodeGen/CGOpenMPRuntime.cpp
M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
M clang/lib/CodeGen/CGStmt.cpp
M clang/lib/CodeGen/CGStmtOpenMP.cpp
M clang/lib/CodeGen/CGValue.h
M clang/lib/CodeGen/CodeGenFunction.cpp
M clang/lib/CodeGen/Targets/NVPTX.cpp
M clang/lib/CodeGen/Targets/X86.cpp
Log Message:
-----------
[clang][CodeGen] Remove unused getAddress CGF args.
This is in effect a revert of f139ae3d93797, as it's no longer
necessary.
Commit: b2329e1d1b24a2384bbc8736d1d8d754fc2abe8f
https://github.com/llvm/llvm-project/commit/b2329e1d1b24a2384bbc8736d1d8d754fc2abe8f
Author: Ahmed Bougacha <ahmed at bougacha.org>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
A clang/include/clang/AST/StableHash.h
M clang/lib/AST/CMakeLists.txt
A clang/lib/AST/StableHash.cpp
Log Message:
-----------
[clang][AST] Add an API for computing an ABI-stable hash of a string.
Implementation by Akira Hatanaka.
Commit: 82d77788d8d2189a632df5c7cebd3cb466a30d63
https://github.com/llvm/llvm-project/commit/82d77788d8d2189a632df5c7cebd3cb466a30d63
Author: Ahmed Bougacha <ahmed at bougacha.org>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M clang/include/clang/Basic/CodeGenOptions.h
M clang/include/clang/Basic/DiagnosticDriverKinds.td
M clang/include/clang/Basic/Features.def
M clang/include/clang/Basic/LangOptions.def
A clang/include/clang/Basic/PointerAuthOptions.h
M clang/include/clang/Driver/Options.td
M clang/include/clang/Frontend/CompilerInvocation.h
M clang/lib/CodeGen/CodeGenFunction.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/Darwin.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/lib/Headers/ptrauth.h
A clang/test/CodeGen/ptrauth-function-attributes.c
M clang/test/Driver/arch-arm64e.c
M clang/test/Preprocessor/ptrauth_feature.c
Log Message:
-----------
[clang] Implement pointer authentication for return addresses.
Commit: 3888816afcce6b923d3e089d0c38364bbecef331
https://github.com/llvm/llvm-project/commit/3888816afcce6b923d3e089d0c38364bbecef331
Author: Ahmed Bougacha <ahmed at bougacha.org>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M clang/include/clang/Basic/LangOptions.def
M clang/include/clang/Basic/PointerAuthOptions.h
M clang/include/clang/Driver/Options.td
M clang/lib/CodeGen/CodeGenFunction.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/Darwin.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/test/CodeGen/ptrauth-function-attributes.c
M clang/test/Driver/arch-arm64e.c
Log Message:
-----------
[clang] Enable pointer authentication auth-failure traps.
Commit: 3dc806498c1c518f171d4a8692338e9bf423ccdf
https://github.com/llvm/llvm-project/commit/3dc806498c1c518f171d4a8692338e9bf423ccdf
Author: Ahmed Bougacha <ahmed at bougacha.org>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M clang/include/clang/Basic/Builtins.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/CodeGen/CodeGenABITypes.h
M clang/lib/AST/ExprConstant.cpp
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CGExprConstant.cpp
A clang/lib/CodeGen/CGPointerAuth.cpp
M clang/lib/CodeGen/CMakeLists.txt
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/CodeGen/CodeGenModule.h
M clang/lib/Headers/ptrauth.h
M clang/lib/Sema/SemaChecking.cpp
M clang/test/Sema/ptrauth-intrinsics-macro.c
M clang/test/Sema/ptrauth.c
Log Message:
-----------
[clang] Define ptrauth_sign_constant builtin.
Commit: b8b815e94bd9f8ae139fc739f793e5af3b3fede7
https://github.com/llvm/llvm-project/commit/b8b815e94bd9f8ae139fc739f793e5af3b3fede7
Author: Ahmed Bougacha <ahmed at bougacha.org>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/Basic/Builtins.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/TokenKinds.def
M clang/include/clang/CodeGen/CodeGenABITypes.h
M clang/include/clang/CodeGen/ConstantInitBuilder.h
M clang/include/clang/Parse/Parser.h
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ExprConstant.cpp
M clang/lib/AST/ItaniumMangle.cpp
M clang/lib/CodeGen/CGExprConstant.cpp
M clang/lib/Headers/ptrauth.h
M clang/lib/Parse/ParseExpr.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/test/CodeGen/ptrauth-intrinsics.c
M clang/test/CodeGenCXX/mangle-fail.cpp
M clang/test/Sema/ptrauth-intrinsics-macro.c
A clang/test/SemaCXX/ptrauth.cpp
Log Message:
-----------
[clang] Implement pointer authentication type/string discriminator builtins.
Commit: fb2f350b8bcdc6f5e43b02a7e633d32f7086f4c4
https://github.com/llvm/llvm-project/commit/fb2f350b8bcdc6f5e43b02a7e633d32f7086f4c4
Author: Ahmed Bougacha <ahmed at bougacha.org>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M clang/lib/CodeGen/Address.h
M clang/lib/CodeGen/CGBlocks.cpp
M clang/lib/CodeGen/CGBuilder.h
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CGException.cpp
M clang/lib/CodeGen/CGObjCMac.cpp
Log Message:
-----------
[clang][CodeGen] Teach RawAddress/Address about ptrauth.
FIXME: this isn't really usable in isolation, and really needs more of
the changes in the function pointer patch. I don't know if there's
something salvageable here.
Commit: baee00003eadd1f27a46d3c40d5ffd2c3c8a6d0c
https://github.com/llvm/llvm-project/commit/baee00003eadd1f27a46d3c40d5ffd2c3c8a6d0c
Author: Ahmed Bougacha <ahmed at bougacha.org>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M clang/include/clang/AST/Type.h
M clang/include/clang/Basic/Features.def
M clang/include/clang/Basic/LangOptions.def
M clang/include/clang/Basic/LangOptions.h
M clang/include/clang/Basic/PointerAuthOptions.h
M clang/include/clang/CodeGen/CodeGenABITypes.h
M clang/include/clang/CodeGen/ConstantInitBuilder.h
M clang/include/clang/Driver/Options.td
M clang/lib/AST/ItaniumMangle.cpp
M clang/lib/CodeGen/Address.h
M clang/lib/CodeGen/CGBuilder.h
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CGCall.h
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CGExprAgg.cpp
M clang/lib/CodeGen/CGExprConstant.cpp
M clang/lib/CodeGen/CGExprScalar.cpp
M clang/lib/CodeGen/CGObjC.cpp
M clang/lib/CodeGen/CGPointerAuth.cpp
A clang/lib/CodeGen/CGPointerAuthInfo.h
M clang/lib/CodeGen/CGValue.h
M clang/lib/CodeGen/CodeGenFunction.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/CodeGen/CodeGenModule.h
M clang/lib/CodeGen/ItaniumCXXABI.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/Darwin.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/lib/Headers/ptrauth.h
M clang/test/CodeGen/ptrauth-function-attributes.c
A clang/test/CodeGen/ptrauth-function-init-fail.c
A clang/test/CodeGen/ptrauth-function-init.c
A clang/test/CodeGen/ptrauth-function-lvalue-cast-disc.c
A clang/test/CodeGen/ptrauth-function-lvalue-cast-undisc.c
A clang/test/CodeGen/ptrauth-function.c
M clang/test/CodeGen/ptrauth-intrinsics.c
A clang/test/CodeGen/ptrauth-weak_import.c
A clang/test/CodeGen/ptrauth.c
A clang/test/CodeGen/ptrauth_nop_cast.c
M clang/test/CodeGen/ubsan-function.cpp
A clang/test/CodeGenCXX/ptrauth.cpp
A clang/test/CodeGenObjCXX/ptrauth-property-object-reference.mm
M clang/test/Driver/arch-arm64e.c
M clang/test/Preprocessor/ptrauth_feature.c
A clang/test/Sema/ptrauth-function.c
M clang/test/Sema/ptrauth-intrinsics-macro.c
Log Message:
-----------
[clang] Implement pointer authentication for function pointers.
FIXME: ptrauth-function-lvalue-cast-disc.c, dropped nonnull
Commit: a1eb3414439d7d0871619bcd5b7eedcb6c636583
https://github.com/llvm/llvm-project/commit/a1eb3414439d7d0871619bcd5b7eedcb6c636583
Author: Ahmed Bougacha <ahmed at bougacha.org>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CGExprAgg.cpp
M clang/lib/CodeGen/CGExprCXX.cpp
M clang/lib/CodeGen/CGValue.h
M clang/lib/CodeGen/CodeGenFunction.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/CodeGen/ItaniumCXXABI.cpp
Log Message:
-----------
[clang][CodeGen] Set KnownNonNull in more places.
Based on:
commit 6f2799bec00395230522f0276469ba7241b5217c
commit 6a31de1dae8967d68de78bcb1d0dd82470b286a5
[CodeGen] Add a flag to Address and Lvalue that is used to keep
track of whether the pointer is known not to be null
This is based on https://reviews.llvm.org/D142584. The flag is used to
determine whether a null check is needed when signing/authenticating
pointers.
Commit: 5b3e7d4243aeed7cd8e16ca0de15a26272d61aa1
https://github.com/llvm/llvm-project/commit/5b3e7d4243aeed7cd8e16ca0de15a26272d61aa1
Author: Ahmed Bougacha <ahmed at bougacha.org>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M clang/include/clang/Basic/Features.def
M clang/include/clang/Basic/LangOptions.def
M clang/include/clang/Basic/PointerAuthOptions.h
M clang/include/clang/Driver/Options.td
M clang/lib/CodeGen/CGBlocks.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/Darwin.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/lib/Headers/ptrauth.h
A clang/test/CodeGen/ptrauth-blocks.c
A clang/test/CodeGenCXX/ptrauth-block-capture-function-byref.cpp
A clang/test/CodeGenObjC/ptrauth-block-descriptor-pointer.m
M clang/test/Driver/arch-arm64e.c
A clang/test/Driver/ptrauth-block-descriptor.m
Log Message:
-----------
[clang] Implement pointer authentication for blocks.
Commit: 6ed3695cab4362c4681a6511babdefda8d8f6bf4
https://github.com/llvm/llvm-project/commit/6ed3695cab4362c4681a6511babdefda8d8f6bf4
Author: Ahmed Bougacha <ahmed at bougacha.org>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M clang/include/clang/Basic/Features.def
M clang/include/clang/Basic/PointerAuthOptions.h
M clang/lib/CodeGen/CGObjCMac.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/lib/Headers/ptrauth.h
A clang/test/CodeGenObjC/ptrauth-method-list-pointer.m
A clang/test/CodeGenObjC/ptrauth-method-list.m
Log Message:
-----------
[clang] Implement pointer authentication for ObjC method lists.
Commit: 087b291e42291801cbc08a1e00572c194b84a9da
https://github.com/llvm/llvm-project/commit/087b291e42291801cbc08a1e00572c194b84a9da
Author: Ahmed Bougacha <ahmed at bougacha.org>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/AST/AbstractBasicReader.h
M clang/include/clang/AST/AbstractBasicWriter.h
M clang/include/clang/AST/NonTrivialTypeVisitor.h
M clang/include/clang/AST/Type.h
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/Features.def
M clang/include/clang/Basic/LangOptions.h
M clang/include/clang/Basic/PointerAuthOptions.h
M clang/include/clang/Basic/TokenKinds.def
M clang/include/clang/Parse/Parser.h
M clang/include/clang/Sema/Sema.h
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/DeclCXX.cpp
M clang/lib/AST/Expr.cpp
M clang/lib/AST/ItaniumMangle.cpp
M clang/lib/AST/Type.cpp
M clang/lib/AST/TypePrinter.cpp
M clang/lib/CodeGen/CGBlocks.cpp
M clang/lib/CodeGen/CGBlocks.h
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CGClass.cpp
M clang/lib/CodeGen/CGDebugInfo.cpp
M clang/lib/CodeGen/CGDecl.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CGExprAgg.cpp
M clang/lib/CodeGen/CGExprCXX.cpp
M clang/lib/CodeGen/CGExprConstant.cpp
M clang/lib/CodeGen/CGExprScalar.cpp
M clang/lib/CodeGen/CGNonTrivialStruct.cpp
M clang/lib/CodeGen/CGObjC.cpp
M clang/lib/CodeGen/CGPointerAuth.cpp
M clang/lib/CodeGen/CGPointerAuthInfo.h
M clang/lib/CodeGen/CodeGenFunction.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/CodeGen/CodeGenTypes.cpp
M clang/lib/CodeGen/ConstantEmitter.h
M clang/lib/Format/FormatToken.h
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/lib/Headers/ptrauth.h
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Sema/SemaCast.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaObjCProperty.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Sema/SemaType.cpp
A clang/test/AST/ast-dump-ptrauth-json.cpp
A clang/test/CodeGen/ptrauth-authenticated-null-values.c
M clang/test/CodeGen/ptrauth-blocks.c
A clang/test/CodeGen/ptrauth-debuginfo.c
A clang/test/CodeGen/ptrauth-in-c-struct.c
A clang/test/CodeGen/ptrauth-qualifier-function.c
A clang/test/CodeGen/ptrauth-qualifier-loadstore.c
A clang/test/CodeGen/ptrauth-qualifier.c
A clang/test/CodeGen/ptrauth-restricted-intptr-qualifier.c
A clang/test/CodeGen/ptrauth-stripping.c
A clang/test/CodeGenCXX/ptrauth-authenticated-null-values.cpp
A clang/test/CodeGenCXX/ptrauth-qualifier-struct.cpp
A clang/test/CodeGenObjC/ptrauth-class.m
A clang/test/CodeGenObjC/ptrauth-property-backing.m
A clang/test/CodeGenObjCXX/ptrauth-struct-cxx-abi.mm
M clang/test/Preprocessor/ptrauth_feature.c
A clang/test/Sema/atomic-ops-ptrauth.c
A clang/test/Sema/ptrauth-authenticated-null.c
A clang/test/Sema/ptrauth-authenticated-null.cpp
M clang/test/Sema/ptrauth-intrinsics-macro.c
A clang/test/Sema/ptrauth-qualifier.c
A clang/test/Sema/ptrauth-restricted-intptr-qualifier.c
A clang/test/SemaCXX/ptrauth-qualifier.cpp
A clang/test/SemaObjC/ptrauth-pointers.m
A clang/test/SemaObjC/ptrauth-qualifier.m
Log Message:
-----------
[clang] Implement the __ptrauth type qualifier.
With signed null and signed uintptr support.
Commit: 1cb460d8551e470f031c7a81a67660d661fa96b1
https://github.com/llvm/llvm-project/commit/1cb460d8551e470f031c7a81a67660d661fa96b1
Author: Ahmed Bougacha <ahmed at bougacha.org>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M clang/include/clang/AST/GlobalDecl.h
M clang/include/clang/AST/VTableBuilder.h
M clang/include/clang/Basic/Thunk.h
M clang/lib/AST/VTableBuilder.cpp
Log Message:
-----------
[clang] Record the original declaration for which a v-table slot was created.
Commit: fa81813cc2c20d58eb684a424bb43d6cd0acfe96
https://github.com/llvm/llvm-project/commit/fa81813cc2c20d58eb684a424bb43d6cd0acfe96
Author: Ahmed Bougacha <ahmed at bougacha.org>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/AST/Mangle.h
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/Features.def
M clang/include/clang/Basic/LangOptions.def
M clang/include/clang/Basic/PointerAuthOptions.h
M clang/include/clang/Basic/Thunk.h
M clang/include/clang/Driver/Options.td
M clang/include/clang/Sema/Sema.h
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ItaniumMangle.cpp
M clang/lib/AST/Mangle.cpp
M clang/lib/AST/MicrosoftMangle.cpp
M clang/lib/AST/VTableBuilder.cpp
M clang/lib/CodeGen/CGCXX.cpp
M clang/lib/CodeGen/CGCXXABI.cpp
M clang/lib/CodeGen/CGCXXABI.h
M clang/lib/CodeGen/CGClass.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CGExprConstant.cpp
M clang/lib/CodeGen/CGPointerAuth.cpp
M clang/lib/CodeGen/CGVTT.cpp
M clang/lib/CodeGen/CGVTables.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/CodeGen/CodeGenModule.h
M clang/lib/CodeGen/ItaniumCXXABI.cpp
M clang/lib/CodeGen/MicrosoftCXXABI.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/Darwin.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/lib/Headers/ptrauth.h
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaExpr.cpp
A clang/test/CodeGen/ptrauth-ubsan-vptr.cpp
M clang/test/CodeGenCXX/catch-undef-behavior.cpp
A clang/test/CodeGenCXX/ptrauth-apple-kext-indirect-call-2.cpp
A clang/test/CodeGenCXX/ptrauth-apple-kext-indirect-call.cpp
A clang/test/CodeGenCXX/ptrauth-apple-kext-indirect-virtual-dtor-call.cpp
A clang/test/CodeGenCXX/ptrauth-explicit-vtable-pointer-control.cpp
A clang/test/CodeGenCXX/ptrauth-rtti-layout.cpp
A clang/test/CodeGenCXX/ptrauth-thunks.cpp
A clang/test/CodeGenCXX/ptrauth-virtual-function.cpp
A clang/test/CodeGenCXX/ptrauth-vtable-virtual-inheritance-thunk.cpp
M clang/test/CodeGenCXX/ubsan-vtable-checks.cpp
M clang/test/Driver/arch-arm64e.c
M clang/test/Misc/pragma-attribute-supported-attributes-list.test
M clang/test/Sema/ptrauth-intrinsics-macro.c
M clang/test/SemaCXX/ptrauth.cpp
A clang/test/SemaCXX/vtable_pointer_authentication_attribute.cpp
M clang/utils/TableGen/ClangAttrEmitter.cpp
Log Message:
-----------
[clang] Implement pointer authentication for C++ virtual functions, v-tables, and VTTs.
Commit: c81a39bec2f364569e900b5e4c1cb2416939110f
https://github.com/llvm/llvm-project/commit/c81a39bec2f364569e900b5e4c1cb2416939110f
Author: Ahmed Bougacha <ahmed at bougacha.org>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M clang/include/clang/Basic/Features.def
M clang/include/clang/Basic/PointerAuthOptions.h
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CGPointerAuth.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/CodeGen/CodeGenModule.h
M clang/lib/CodeGen/ItaniumCXXABI.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
A clang/test/CodeGenCXX/ptrauth-member-function-pointer.cpp
M clang/test/Preprocessor/ptrauth_feature.c
Log Message:
-----------
[clang] Implement pointer authentication for C++ member function pointers.
Commit: f11613b38feb3cdbb11269624bfb3ef4441f5a46
https://github.com/llvm/llvm-project/commit/f11613b38feb3cdbb11269624bfb3ef4441f5a46
Author: Ahmed Bougacha <ahmed at bougacha.org>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M clang/lib/CodeGen/CGDeclCXX.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/CodeGen/ItaniumCXXABI.cpp
A clang/test/CodeGenCXX/ptrauth-static-destructors.cpp
Log Message:
-----------
[clang] Sign function pointers passed to atexit and __cxa_atexit.
Commit: 5f23e4564cfbfae710a0f2cc358385301c66248d
https://github.com/llvm/llvm-project/commit/5f23e4564cfbfae710a0f2cc358385301c66248d
Author: Ahmed Bougacha <ahmed at bougacha.org>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M clang/lib/CodeGen/CGDeclCXX.cpp
M clang/lib/CodeGen/ItaniumCXXABI.cpp
A clang/test/CodeGenCXX/ptrauth-throw.cpp
Log Message:
-----------
[clang] Sign the destructor pointer passed to __cxa_throw.
Commit: 9e39060653db8ad092ab41c496666ffde1a20d43
https://github.com/llvm/llvm-project/commit/9e39060653db8ad092ab41c496666ffde1a20d43
Author: Ahmed Bougacha <ahmed at bougacha.org>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M clang/lib/CodeGen/CGObjCMac.cpp
A clang/test/CodeGenObjC/ptrauth-attr-exception.m
Log Message:
-----------
[clang] Sign the v-table pointer in ObjC exception RTTI.
Commit: 2b2d91c81cbf01b366b49cc46c5772ae1559653a
https://github.com/llvm/llvm-project/commit/2b2d91c81cbf01b366b49cc46c5772ae1559653a
Author: Ahmed Bougacha <ahmed at bougacha.org>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M clang/lib/CodeGen/CGCall.h
M clang/lib/CodeGen/CGObjCGNU.cpp
M clang/lib/CodeGen/MicrosoftCXXABI.cpp
Log Message:
-----------
[clang] Make the CGPointerAuthInfo parameter to the general CGCallee constructor mandatory.
Commit: 03a8200c2bc357093a2330c525cc04919f0fe8db
https://github.com/llvm/llvm-project/commit/03a8200c2bc357093a2330c525cc04919f0fe8db
Author: Ahmed Bougacha <ahmed at bougacha.org>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/AST/CXXRecordDeclDefinitionBits.def
M clang/include/clang/AST/DeclCXX.h
M clang/include/clang/AST/Stmt.h
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/TokenKinds.def
M clang/include/clang/Parse/Parser.h
M clang/include/clang/Sema/Sema.h
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/DeclCXX.cpp
M clang/lib/AST/ExprConstant.cpp
M clang/lib/AST/ItaniumMangle.cpp
M clang/lib/CodeGen/CGPointerAuth.cpp
M clang/lib/Parse/ParseExpr.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/test/CodeGen/ptrauth-function-lvalue-cast-disc.c
M clang/test/CodeGen/ptrauth-function-lvalue-cast-undisc.c
A clang/test/CodeGenCXX/ptrauth-struct-attr.cpp
A clang/test/CodeGenObjC/ptrauth-struct-attr.m
M clang/test/Misc/pragma-attribute-supported-attributes-list.test
A clang/test/Sema/ptrauth-struct-attr.c
A clang/test/SemaCXX/ptrauth-struct-attr.cpp
Log Message:
-----------
[clang] Implement the ptrauth_struct type attribute.
Commit: e83d8a3ef85a0f6697a6c5576b142252f401d02f
https://github.com/llvm/llvm-project/commit/e83d8a3ef85a0f6697a6c5576b142252f401d02f
Author: Ahmed Bougacha <ahmed at bougacha.org>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M clang/docs/PointerAuthentication.rst
Log Message:
-----------
Revert "Update rst refs following doc page split."
This reverts commit cd71428f644fc8d94afcdb1352bfc33f97ab2671.
Commit: 1036f3cc52af974fe465357ece617da8bba95111
https://github.com/llvm/llvm-project/commit/1036f3cc52af974fe465357ece617da8bba95111
Author: Ahmed Bougacha <ahmed at bougacha.org>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M clang/docs/PointerAuthentication.rst
Log Message:
-----------
[clang] Document the ptrauth security model.
Commit: b6b0a0c693c86d657a7e9bc2f3336f4d29b925bd
https://github.com/llvm/llvm-project/commit/b6b0a0c693c86d657a7e9bc2f3336f4d29b925bd
Author: Ahmed Bougacha <ahmed at bougacha.org>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M clang/docs/PointerAuthentication.rst
Log Message:
-----------
[clang] Document the rest of ptrauth, incl. qualifiers and language ABIs.
Commit: 46d4e1c28cd9f049c25ecb5107dd516f39daa27d
https://github.com/llvm/llvm-project/commit/46d4e1c28cd9f049c25ecb5107dd516f39daa27d
Author: Ahmed Bougacha <ahmed at bougacha.org>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M clang/include/clang/Basic/LangOptions.def
M clang/include/clang/Basic/PointerAuthOptions.h
M clang/include/clang/Driver/Options.td
M clang/lib/CodeGen/BackendUtil.cpp
M clang/lib/CodeGen/CGPointerAuth.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/test/Driver/arch-arm64e.c
M llvm/include/llvm/InitializePasses.h
A llvm/include/llvm/Transforms/Instrumentation/SoftPointerAuth.h
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/PassRegistry.def
M llvm/lib/Transforms/Instrumentation/CMakeLists.txt
A llvm/lib/Transforms/Instrumentation/SoftPointerAuth.cpp
A llvm/test/Transforms/SoftPointerAuth/intrinsics.ll
A llvm/test/Transforms/SoftPointerAuth/relocs.ll
Log Message:
-----------
Implement SoftPointerAuth prototype.
Commit: 215982ed2fd72475ed6a219eb6ec9381c8ccae24
https://github.com/llvm/llvm-project/commit/215982ed2fd72475ed6a219eb6ec9381c8ccae24
Author: Ahmed Bougacha <ahmed at bougacha.org>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M compiler-rt/cmake/Modules/AllSupportedArchDefs.cmake
M compiler-rt/lib/asan/scripts/asan_symbolize.py
M compiler-rt/lib/sanitizer_common/sanitizer_common.h
M compiler-rt/lib/sanitizer_common/sanitizer_procmaps_mac.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_stacktrace.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_libcdep.cpp
M compiler-rt/lib/ubsan/ubsan_type_hash_itanium.cpp
Log Message:
-----------
arm64e/ptrauth unified patch: compiler-rt
Commit: 5657f4ed90eab4a5cf5c9e11595bbdc530acab3c
https://github.com/llvm/llvm-project/commit/5657f4ed90eab4a5cf5c9e11595bbdc530acab3c
Author: Ahmed Bougacha <ahmed at bougacha.org>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M libcxx/include/typeinfo
M libcxxabi/src/private_typeinfo.cpp
Log Message:
-----------
arm64e/ptrauth unified patch: libcxx/abi
Commit: ec6258a0e52528bac50ebb3b88c406180597f590
https://github.com/llvm/llvm-project/commit/ec6258a0e52528bac50ebb3b88c406180597f590
Author: Ahmed Bougacha <ahmed at bougacha.org>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M libunwind/src/AddressSpace.hpp
M libunwind/src/CompactUnwinder.hpp
M libunwind/src/DwarfInstructions.hpp
M libunwind/src/DwarfParser.hpp
M libunwind/src/Registers.hpp
M libunwind/src/UnwindCursor.hpp
M libunwind/src/UnwindLevel1.c
M libunwind/src/UnwindRegistersRestore.S
M libunwind/src/UnwindRegistersSave.S
M libunwind/src/libunwind.cpp
M libunwind/src/libunwind_ext.h
Log Message:
-----------
arm64e/ptrauth unified patch: libunwind
Commit: ffebed6d17954ac64fe823551dbee2c12b75722b
https://github.com/llvm/llvm-project/commit/ffebed6d17954ac64fe823551dbee2c12b75722b
Author: Ahmed Bougacha <ahmed at bougacha.org>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M clang/CMakeLists.txt
M clang/docs/PointerAuthentication.rst
M clang/include/clang/AST/Type.h
M clang/include/clang/Basic/Features.def
M clang/include/clang/Basic/LangOptions.def
M clang/include/clang/Basic/LangOptions.h
M clang/include/clang/Basic/PointerAuthOptions.h
M clang/include/clang/Config/config.h.cmake
M clang/include/clang/Driver/Options.td
M clang/lib/AST/TypePrinter.cpp
M clang/lib/CodeGen/CGBlocks.cpp
M clang/lib/CodeGen/CGClass.cpp
M clang/lib/CodeGen/CGDebugInfo.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CGObjCMac.cpp
M clang/lib/CodeGen/CGPointerAuth.cpp
M clang/lib/CodeGen/CGPointerAuthInfo.h
M clang/lib/CodeGen/CodeGenFunction.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/CodeGen/CodeGenModule.h
M clang/lib/CodeGen/ItaniumCXXABI.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/Darwin.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/lib/Headers/ptrauth.h
M clang/lib/Sema/SemaType.cpp
M clang/test/CMakeLists.txt
A clang/test/CodeGen/ptrauth-cfstr-isa.c
M clang/test/CodeGen/ptrauth-debuginfo.c
A clang/test/CodeGen/ptrauth-isa-masking.c
A clang/test/CodeGenObjC/ptrauth-blocks.m
A clang/test/CodeGenObjC/ptrauth-isa-auth-mode.m
A clang/test/CodeGenObjC/ptrauth-isa-super.m
M clang/test/Driver/arch-arm64e.c
A clang/test/Driver/ptrauth-objc-isa-mode-default.c
A clang/test/Preprocessor/ptrauth-h-isa-authentication-config.c
A clang/test/Preprocessor/ptrauth_objc_isa_feature.c
M clang/test/Sema/ptrauth-qualifier.c
M clang/test/lit.cfg.py
M clang/test/lit.site.cfg.py.in
Log Message:
-----------
arm64e/ptrauth: objc isa signing.
Commit: 32f65dea5f368b259b5cd8fe9f7f805173d64b92
https://github.com/llvm/llvm-project/commit/32f65dea5f368b259b5cd8fe9f7f805173d64b92
Author: Ahmed Bougacha <ahmed at bougacha.org>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M llvm/cmake/config.guess
Log Message:
-----------
[clang] Use has_feature ptrauth in Apple Silicon host triple recognition.
Commit: f10f823eb4625fba54284bbdb4296ed1a975adc1
https://github.com/llvm/llvm-project/commit/f10f823eb4625fba54284bbdb4296ed1a975adc1
Author: Ahmed Bougacha <ahmed at bougacha.org>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M clang/lib/CodeGen/EHScopeStack.h
M llvm/include/llvm/Support/Compiler.h
Log Message:
-----------
[clang] Annotate Cleanup to support ptrauth vtable diversity.
Commit: b0728ac2020675ebdaa59d667a32aceff783fb89
https://github.com/llvm/llvm-project/commit/b0728ac2020675ebdaa59d667a32aceff783fb89
Author: Ahmed Bougacha <ahmed at bougacha.org>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M clang/lib/Basic/Module.cpp
A clang/test/Modules/Inputs/ptrauth-include-from-darwin/module.modulemap
A clang/test/Modules/Inputs/ptrauth-include-from-darwin/ptrauth.h
A clang/test/Modules/Inputs/ptrauth-include-from-darwin/stddef.h
A clang/test/Modules/ptrauth-include-from-darwin.m
Log Message:
-----------
[clang] Allow ptrauth.h usage from no_undeclared_interfaces modules.
See ed84df008f609f7245871a9b6d00b57cb19410aa.
Commit: be14e208032fdfd0a8598c729bb11d3bfdcbd298
https://github.com/llvm/llvm-project/commit/be14e208032fdfd0a8598c729bb11d3bfdcbd298
Author: Ahmed Bougacha <ahmed at bougacha.org>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M llvm/lib/Transforms/Coroutines/CoroInstr.h
M llvm/lib/Transforms/Coroutines/CoroInternal.h
M llvm/lib/Transforms/Coroutines/CoroSplit.cpp
M llvm/lib/Transforms/Coroutines/Coroutines.cpp
A llvm/test/Transforms/Coroutines/coro-retcon-ptrauth.ll
Log Message:
-----------
[Coroutines] Support ptrauth.
Commit: a3a877a2bb89db728430168570f01ee14d051eed
https://github.com/llvm/llvm-project/commit/a3a877a2bb89db728430168570f01ee14d051eed
Author: Ahmed Bougacha <ahmed at bougacha.org>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M llvm/include/llvm/ExecutionEngine/JITLink/aarch64.h
M llvm/include/llvm/ExecutionEngine/JITSymbol.h
M llvm/lib/ExecutionEngine/JITLink/MachO_arm64.cpp
M llvm/lib/ExecutionEngine/Orc/ExecutionUtils.cpp
M llvm/lib/ExecutionEngine/Orc/LazyReexports.cpp
Log Message:
-----------
[OrcJIT] Support arm64e/ptrauth.
Commit: bdcf94ed9124745e1eb8e4c86c974f8822e61c7c
https://github.com/llvm/llvm-project/commit/bdcf94ed9124745e1eb8e4c86c974f8822e61c7c
Author: Ahmed Bougacha <ahmed at bougacha.org>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M clang/include/clang/Driver/Options.td
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/test/CodeGen/ptrauth-function-attributes.c
M clang/test/Driver/arch-arm64e.c
Log Message:
-----------
[AArch64] Add ptrauth + BTI support.
Commit: 45640f95ebfd5f57c55f5feb713790dc5817facc
https://github.com/llvm/llvm-project/commit/45640f95ebfd5f57c55f5feb713790dc5817facc
Author: Ahmed Bougacha <ahmed at bougacha.org>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M clang/docs/LanguageExtensions.rst
M clang/include/clang/Basic/Builtins.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/Sema/SemaChecking.cpp
A clang/test/CodeGenCXX/builtin-get-vtable-pointer.cpp
A clang/test/CodeGenCXX/builtin_virtual_member_address.cpp
A clang/test/SemaCXX/builtin-get-vtable-pointer.cpp
A clang/test/SemaCXX/builtin_virtual_member_address.cpp
Log Message:
-----------
[clang] Add builtin_get_vtable_pointer and virtual_member_address
Compare: https://github.com/llvm/llvm-project/compare/df1d0af0a4a2%5E...45640f95ebfd
More information about the All-commits
mailing list