From d94b320e647a0162b6ca3be6263231a879fc2ebb Mon Sep 17 00:00:00 2001 From: Michelle Casbon Date: Fri, 25 Sep 2020 22:18:30 +0000 Subject: [PATCH 1/2] Add missing NodeType enums --- llvm/lib/Target/AArch64/AArch64ISelLowering.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/llvm/lib/Target/AArch64/AArch64ISelLowering.cpp b/llvm/lib/Target/AArch64/AArch64ISelLowering.cpp index 619b5e097f7b8..14aaaf88f734a 100644 --- a/llvm/lib/Target/AArch64/AArch64ISelLowering.cpp +++ b/llvm/lib/Target/AArch64/AArch64ISelLowering.cpp @@ -1530,6 +1530,8 @@ const char *AArch64TargetLowering::getTargetNodeName(unsigned Opcode) const { case AArch64ISD::FIRST_NUMBER: break; MAKE_CASE(AArch64ISD::CALL) + MAKE_CASE(AArch64ISD::AUTH_CALL) + MAKE_CASE(AArch64ISD::AUTH_TC_RETURN) MAKE_CASE(AArch64ISD::ADRP) MAKE_CASE(AArch64ISD::ADR) MAKE_CASE(AArch64ISD::ADDlow) From 364aacead5bd52ab206d3614f23c971d9ea12318 Mon Sep 17 00:00:00 2001 From: Michelle Casbon Date: Sat, 26 Sep 2020 01:31:25 +0000 Subject: [PATCH 2/2] Update tests --- clang/test/CodeGen/ptrauth-in-c-struct.c | 2 +- clang/test/CodeGenCXX/ptrauth-member-function-pointer.cpp | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/clang/test/CodeGen/ptrauth-in-c-struct.c b/clang/test/CodeGen/ptrauth-in-c-struct.c index 1b914d29b662d..07a92486d33ae 100644 --- a/clang/test/CodeGen/ptrauth-in-c-struct.c +++ b/clang/test/CodeGen/ptrauth-in-c-struct.c @@ -132,7 +132,7 @@ void test_argument_SA(SA *a) { calleeSA(*a); } -// CHECK: define void @test_return_SA(%[[STRUCT_SA]]* noalias sret align 8 %[[AGG_RESULT:.*]], %[[STRUCT_SA]]* %[[A:.*]]) +// CHECK: define void @test_return_SA(%[[STRUCT_SA]]* noalias sret(%[[STRUCT_SA]]) align 8 %[[AGG_RESULT:.*]], %[[STRUCT_SA]]* %[[A:.*]]) // CHECK: %[[A_ADDR:.*]] = alloca %[[STRUCT_SA]]*, align 8 // CHECK: store %[[STRUCT_SA]]* %[[A]], %[[STRUCT_SA]]** %[[A_ADDR]], align 8 // CHECK: %[[V0:.*]] = load %[[STRUCT_SA]]*, %[[STRUCT_SA]]** %[[A_ADDR]], align 8 diff --git a/clang/test/CodeGenCXX/ptrauth-member-function-pointer.cpp b/clang/test/CodeGenCXX/ptrauth-member-function-pointer.cpp index d219e8f5a351e..d89b1c69f3e21 100644 --- a/clang/test/CodeGenCXX/ptrauth-member-function-pointer.cpp +++ b/clang/test/CodeGenCXX/ptrauth-member-function-pointer.cpp @@ -168,8 +168,8 @@ typedef void (Derived0::*MethodTy1)(); // Check that the sret pointer passed to the caller is forwarded to the musttail // call. -// CHECK: define linkonce_odr hidden void @_ZN8Derived04sretEv_vfpthunk_(%[[STRUCT_A1]]* noalias sret align 4 %[[AGG_RESULT:.*]], %[[STRUCT_DERIVED0]]* %{{.*}}) -// CHECK: musttail call void %{{.*}}(%[[STRUCT_A1]]* sret align 4 %[[AGG_RESULT]], %[[STRUCT_DERIVED0]]* %{{.*}}) [ "ptrauth"(i32 0, i64 %{{.*}}) ] +// CHECK: define linkonce_odr hidden void @_ZN8Derived04sretEv_vfpthunk_(%[[STRUCT_A1]]* noalias sret(%[[STRUCT_A1]]) align 4 %[[AGG_RESULT:.*]], %[[STRUCT_DERIVED0]]* %{{.*}}) +// CHECK: musttail call void %{{.*}}(%[[STRUCT_A1]]* sret(%[[STRUCT_A1]]) align 4 %[[AGG_RESULT]], %[[STRUCT_DERIVED0]]* %{{.*}}) [ "ptrauth"(i32 0, i64 %{{.*}}) ] // CHECK-NEXT: ret void // Check that the thunk function doesn't destruct the trivial_abi argument.