[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