From a3b510dfe5b8790ef202fb15004a858695192530 Mon Sep 17 00:00:00 2001 From: Konstantin Schwarz Date: Tue, 18 Jun 2024 22:08:29 +0100 Subject: [PATCH] fixup! [AIE] Add basic clang support, including intrinsics --- clang/test/CodeGen/aie/aie-abi-cpp.cpp | 4 ++-- clang/test/CodeGen/aie/aie-abi-struct.cpp | 6 +++--- clang/test/CodeGen/aie/aie-abi-vector.cpp | 2 +- clang/test/CodeGen/aie/aie-abi.cpp | 2 +- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/clang/test/CodeGen/aie/aie-abi-cpp.cpp b/clang/test/CodeGen/aie/aie-abi-cpp.cpp index f71e794f1e7a..051a27369b96 100644 --- a/clang/test/CodeGen/aie/aie-abi-cpp.cpp +++ b/clang/test/CodeGen/aie/aie-abi-cpp.cpp @@ -1,4 +1,4 @@ -// NOTE: Assertions have been autogenerated by utils/update_cc_test_checks.py UTC_ARGS: --function-signature --return-type --skip-function-body +// NOTE: Assertions have been autogenerated by utils/update_cc_test_checks.py UTC_ARGS: --function-signature //===- aie-abi-cpp.cpp ------------------------------------------*- C++ -*-===// // // This file is licensed under the Apache License v2.0 with LLVM Exceptions. @@ -23,5 +23,5 @@ class C2I { // CHECK-SAME: (ptr noundef [[TMP0:%.*]]) #[[ATTR0:[0-9]+]] { void pass_C2I(C2I) {} // CHECK-LABEL: define {{[^@]*}}void @_Z7ret_C2Iv -// CHECK-SAME: (ptr noalias sret([[CLASS_C2I:%.*]]) align 4 [[AGG_RESULT:%.*]]) #[[ATTR0:[0-9]+]] { +// CHECK-SAME: (ptr dead_on_unwind noalias writable sret([[CLASS_C2I:%.*]]) align 4 [[AGG_RESULT:%.*]]) #[[ATTR0:[0-9]+]] { C2I ret_C2I() {} diff --git a/clang/test/CodeGen/aie/aie-abi-struct.cpp b/clang/test/CodeGen/aie/aie-abi-struct.cpp index 49c16ff79158..16ff0f3a5a93 100644 --- a/clang/test/CodeGen/aie/aie-abi-struct.cpp +++ b/clang/test/CodeGen/aie/aie-abi-struct.cpp @@ -126,7 +126,7 @@ struct S4I_A8 { }; // CHECK-LABEL: define {{[^@]*}}void @ret_S4I_A8 -// CHECK-SAME: (ptr noalias sret([[STRUCT_S4I_A8:%.*]]) align 8 [[AGG_RESULT:%.*]]) #[[ATTR0:[0-9]+]] { +// CHECK-SAME: (ptr dead_on_unwind noalias writable sret([[STRUCT_S4I_A8:%.*]]) align 8 [[AGG_RESULT:%.*]]) #[[ATTR0:[0-9]+]] { struct S4I_A8 ret_S4I_A8(void) { return {}; } // CHECK-LABEL: define {{[^@]*}}void @pass_S4I_A8 // CHECK-SAME: ([[STRUCT_S4I_A8:%.*]] [[DOTCOERCE:%.*]]) #[[ATTR0:[0-9]+]] { @@ -137,7 +137,7 @@ struct S5I { }; // CHECK-LABEL: define {{[^@]*}}void @ret_S5I -// CHECK-SAME: (ptr noalias sret([[STRUCT_S5I:%.*]]) align 4 [[AGG_RESULT:%.*]]) #[[ATTR0:[0-9]+]] { +// CHECK-SAME: (ptr dead_on_unwind noalias writable sret([[STRUCT_S5I:%.*]]) align 4 [[AGG_RESULT:%.*]]) #[[ATTR0:[0-9]+]] { struct S5I ret_S5I(void) { return {}; } // CHECK-LABEL: define {{[^@]*}}void @pass_S5I // CHECK-SAME: ([[STRUCT_S5I:%.*]] [[DOTCOERCE:%.*]]) #[[ATTR0:[0-9]+]] { @@ -148,7 +148,7 @@ struct S5xI { }; // CHECK-LABEL: define {{[^@]*}}void @ret_S5xI -// CHECK-SAME: (ptr noalias sret([[STRUCT_S5XI:%.*]]) align 4 [[AGG_RESULT:%.*]]) #[[ATTR0:[0-9]+]] { +// CHECK-SAME: (ptr dead_on_unwind noalias writable sret([[STRUCT_S5XI:%.*]]) align 4 [[AGG_RESULT:%.*]]) #[[ATTR0:[0-9]+]] { struct S5xI ret_S5xI(void) { return {}; } // CHECK-LABEL: define {{[^@]*}}void @pass_S5xI // CHECK-SAME: ([[STRUCT_S5XI:%.*]] [[DOTCOERCE:%.*]]) #[[ATTR0:[0-9]+]] { diff --git a/clang/test/CodeGen/aie/aie-abi-vector.cpp b/clang/test/CodeGen/aie/aie-abi-vector.cpp index 22f40e6fc966..9896294a3384 100644 --- a/clang/test/CodeGen/aie/aie-abi-vector.cpp +++ b/clang/test/CodeGen/aie/aie-abi-vector.cpp @@ -37,7 +37,7 @@ struct S3xv2int32 { v2int32 a[3]; }; // CHECK-LABEL: define {{[^@]*}}void @ret_S3xv2int32 -// CHECK-SAME: (ptr noalias sret([[STRUCT_S3XV2INT32:%.*]]) align 8 [[AGG_RESULT:%.*]]) #[[ATTR1:[0-9]+]] { +// CHECK-SAME: (ptr dead_on_unwind noalias writable sret([[STRUCT_S3XV2INT32:%.*]]) align 8 [[AGG_RESULT:%.*]]) #[[ATTR1:[0-9]+]] { S3xv2int32 ret_S3xv2int32(void) { return {}; } /****** 128-bits vector ******/ diff --git a/clang/test/CodeGen/aie/aie-abi.cpp b/clang/test/CodeGen/aie/aie-abi.cpp index efbdeff4f0e0..991a0fd44281 100644 --- a/clang/test/CodeGen/aie/aie-abi.cpp +++ b/clang/test/CodeGen/aie/aie-abi.cpp @@ -105,7 +105,7 @@ typedef struct S3 { // align 4 %agg.result) // CHECK-LABEL: define {{[^@]*}}void @ret_st3 -// CHECK-SAME: (ptr noalias sret([[STRUCT_S3:%.*]]) align 4 [[AGG_RESULT:%.*]]) #[[ATTR0:[0-9]+]] { +// CHECK-SAME: (ptr dead_on_unwind noalias writable sret([[STRUCT_S3:%.*]]) align 4 [[AGG_RESULT:%.*]]) #[[ATTR0:[0-9]+]] { st3 ret_st3(void) { return {0, 0, 0, 0, 0}; } // CHECK-LABEL: define {{[^@]*}}i32 @tk_st3