https://github.com/pcc updated https://github.com/llvm/llvm-project/pull/132857
>From 4eac4350b8a540aba5c5ed658353b4f6abaf329b Mon Sep 17 00:00:00 2001 From: Peter Collingbourne <p...@google.com> Date: Thu, 5 Jun 2025 22:15:52 -0700 Subject: [PATCH] Address comments Created using spr 1.3.6-beta.1 --- llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp | 6 ++++-- llvm/lib/Target/AArch64/AArch64InstrInfo.td | 3 +-- .../AArch64/ptrauth-intrinsic-auth-resign-with-blend.ll | 4 ++-- llvm/test/CodeGen/AArch64/ptrauth-intrinsic-auth-resign.ll | 4 ++-- 4 files changed, 9 insertions(+), 8 deletions(-) diff --git a/llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp b/llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp index 80924c4858ccc..716cae5395ebc 100644 --- a/llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp +++ b/llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp @@ -173,7 +173,7 @@ class AArch64AsmPrinter : public AsmPrinter { const MachineOperand *AUTAddrDisc, Register Scratch, std::optional<AArch64PACKey::ID> PACKey, - uint64_t PACDisc, unsigned PACAddrDisc); + uint64_t PACDisc, Register PACAddrDisc); // Emit the sequence to compute the discriminator. // @@ -1871,6 +1871,8 @@ Register AArch64AsmPrinter::emitPtrauthDiscriminator(uint16_t Disc, Register AddrDisc, Register ScratchReg, bool MayUseAddrAsScratch) { + assert(ScratchReg == AArch64::X16 || ScratchReg == AArch64::X17 || + !STI->isX16X17Safer()); // So far we've used NoRegister in pseudos. Now we need real encodings. if (AddrDisc == AArch64::NoRegister) AddrDisc = AArch64::XZR; @@ -2073,7 +2075,7 @@ void AArch64AsmPrinter::emitPtrauthAuthResign( Register AUTVal, AArch64PACKey::ID AUTKey, uint64_t AUTDisc, const MachineOperand *AUTAddrDisc, Register Scratch, std::optional<AArch64PACKey::ID> PACKey, uint64_t PACDisc, - unsigned PACAddrDisc) { + Register PACAddrDisc) { const bool IsAUTPAC = PACKey.has_value(); // We expand AUT/AUTPAC into a sequence of the form diff --git a/llvm/lib/Target/AArch64/AArch64InstrInfo.td b/llvm/lib/Target/AArch64/AArch64InstrInfo.td index 37acdc3e9f7cc..caa247c3c2ce4 100644 --- a/llvm/lib/Target/AArch64/AArch64InstrInfo.td +++ b/llvm/lib/Target/AArch64/AArch64InstrInfo.td @@ -1955,8 +1955,7 @@ let Predicates = [HasPAuth] in { def AUTxMxN : Pseudo<(outs GPR64:$AuthVal, GPR64common:$Scratch), (ins GPR64:$Val, i32imm:$Key, i64imm:$Disc, GPR64:$AddrDisc), - []>, Sched<[WriteI, ReadI]> { - let Constraints = "$AuthVal = $Val"; + [], "$AuthVal = $Val">, Sched<[WriteI, ReadI]> { let isCodeGenOnly = 1; let hasSideEffects = 0; let mayStore = 0; diff --git a/llvm/test/CodeGen/AArch64/ptrauth-intrinsic-auth-resign-with-blend.ll b/llvm/test/CodeGen/AArch64/ptrauth-intrinsic-auth-resign-with-blend.ll index e6651c83af8af..e2aea6df78250 100644 --- a/llvm/test/CodeGen/AArch64/ptrauth-intrinsic-auth-resign-with-blend.ll +++ b/llvm/test/CodeGen/AArch64/ptrauth-intrinsic-auth-resign-with-blend.ll @@ -165,10 +165,10 @@ define i64 @test_resign_blend_and_const(i64 %arg, i64 %arg1) { ; CHECKED-NEXT: mov x17, x16 ; CHECKED-NEXT: xpacd x17 ; CHECKED-NEXT: cmp x16, x17 -; CHECKED-NEXT: b.eq [[L]]auth_success_[[N2:[0-9]+]] +; CHECKED-NEXT: b.eq [[L]]auth_success_1 ; CHECKED-NEXT: mov x16, x17 ; CHECKED-NEXT: b [[L]]resign_end_1 -; CHECKED-NEXT: Lauth_success_[[N2]]: +; CHECKED-NEXT: Lauth_success_1: ; CHECKED-NEXT: mov x17, #56789 ; CHECKED-NEXT: pacdb x16, x17 ; CHECKED-NEXT: Lresign_end_1: diff --git a/llvm/test/CodeGen/AArch64/ptrauth-intrinsic-auth-resign.ll b/llvm/test/CodeGen/AArch64/ptrauth-intrinsic-auth-resign.ll index 47fa3f8e88c41..f95dc5600aec8 100644 --- a/llvm/test/CodeGen/AArch64/ptrauth-intrinsic-auth-resign.ll +++ b/llvm/test/CodeGen/AArch64/ptrauth-intrinsic-auth-resign.ll @@ -687,10 +687,10 @@ define i64 @test_resign_da_constdisc(i64 %arg, i64 %arg1) { ; CHECKED-NEXT: mov x17, x16 ; CHECKED-NEXT: xpacd x17 ; CHECKED-NEXT: cmp x16, x17 -; CHECKED-NEXT: b.eq [[L]]auth_success_[[N1:[0-9]+]] +; CHECKED-NEXT: b.eq [[L]]auth_success_7 ; CHECKED-NEXT: mov x16, x17 ; CHECKED-NEXT: b [[L]]resign_end_6 -; CHECKED-NEXT: Lauth_success_[[N1]]: +; CHECKED-NEXT: Lauth_success_7: ; CHECKED-NEXT: mov x17, #256 ; CHECKED-NEXT: pacda x16, x17 ; CHECKED-NEXT: Lresign_end_6: _______________________________________________ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits