Skip to content

Commit

Permalink
Revert "[FunctionAttrs] Propagate some func/arg/ret attributes from c…
Browse files Browse the repository at this point in the history
…aller to callsite (WIP)"

Accidental commit/push!

This reverts commit 4fa971f.
  • Loading branch information
goldsteinn committed Jun 13, 2023
1 parent 94cf2c0 commit 3391bdc
Show file tree
Hide file tree
Showing 52 changed files with 1,049 additions and 1,959 deletions.
4 changes: 2 additions & 2 deletions clang/test/CodeGen/LoongArch/inline-asm-constraints.c
Original file line number Diff line number Diff line change
Expand Up @@ -59,12 +59,12 @@ void test_K(void) {

void test_ZB(int *p) {
// CHECK-LABEL: define{{.*}} void @test_ZB(ptr noundef %p)
// CHECK: call void asm sideeffect "", "*^ZB"(ptr noundef elementtype(i32) %p)
// CHECK: call void asm sideeffect "", "*^ZB"(ptr elementtype(i32) %p)
asm volatile ("" :: "ZB"(*p));
}

void test_ZC(int *p) {
// CHECK-LABEL: define{{.*}} void @test_ZC(ptr noundef %p)
// CHECK: call void asm sideeffect "", "*^ZC"(ptr noundef elementtype(i32) %p)
// CHECK: call void asm sideeffect "", "*^ZC"(ptr elementtype(i32) %p)
asm volatile ("" :: "ZC"(*p));
}
4 changes: 2 additions & 2 deletions clang/test/CodeGen/LoongArch/inline-asm-operand-modifiers.c
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

// CHECK-LABEL: @test_z_zero(
// CHECK-NEXT: entry:
// CHECK-NEXT: [[TMP0:%.*]] = tail call i32 asm sideeffect "add.w $0, $1, ${2:z}", "=r,r,ri"(i32 noundef [[A:%.*]], i32 0) #[[ATTR1:[0-9]+]], !srcloc !2
// CHECK-NEXT: [[TMP0:%.*]] = tail call i32 asm sideeffect "add.w $0, $1, ${2:z}", "=r,r,ri"(i32 [[A:%.*]], i32 0) #[[ATTR1:[0-9]+]], !srcloc !2
// CHECK-NEXT: ret void
//
void test_z_zero(int a) {
Expand All @@ -16,7 +16,7 @@ void test_z_zero(int a) {

// CHECK-LABEL: @test_z_nonzero(
// CHECK-NEXT: entry:
// CHECK-NEXT: [[TMP0:%.*]] = tail call i32 asm sideeffect "add.w $0, $1, ${2:z}", "=r,r,ri"(i32 noundef [[A:%.*]], i32 1) #[[ATTR1]], !srcloc !3
// CHECK-NEXT: [[TMP0:%.*]] = tail call i32 asm sideeffect "add.w $0, $1, ${2:z}", "=r,r,ri"(i32 [[A:%.*]], i32 1) #[[ATTR1]], !srcloc !3
// CHECK-NEXT: ret void
//
void test_z_nonzero(int a) {
Expand Down
45 changes: 20 additions & 25 deletions clang/test/CodeGen/LoongArch/intrinsic-la32.c
Original file line number Diff line number Diff line change
Expand Up @@ -62,8 +62,8 @@ unsigned int csrrd_w() {

// LA32-LABEL: @csrwr_w(
// LA32-NEXT: entry:
// LA32-NEXT: [[TMP0:%.*]] = tail call i32 @llvm.loongarch.csrwr.w(i32 noundef [[A:%.*]], i32 1)
// LA32-NEXT: [[TMP1:%.*]] = tail call i32 @llvm.loongarch.csrwr.w(i32 noundef [[A]], i32 1)
// LA32-NEXT: [[TMP0:%.*]] = tail call i32 @llvm.loongarch.csrwr.w(i32 [[A:%.*]], i32 1)
// LA32-NEXT: [[TMP1:%.*]] = tail call i32 @llvm.loongarch.csrwr.w(i32 [[A]], i32 1)
// LA32-NEXT: ret i32 0
//
unsigned int csrwr_w(unsigned int a) {
Expand All @@ -74,8 +74,8 @@ unsigned int csrwr_w(unsigned int a) {

// LA32-LABEL: @csrxchg_w(
// LA32-NEXT: entry:
// LA32-NEXT: [[TMP0:%.*]] = tail call i32 @llvm.loongarch.csrxchg.w(i32 noundef [[A:%.*]], i32 noundef [[B:%.*]], i32 1)
// LA32-NEXT: [[TMP1:%.*]] = tail call i32 @llvm.loongarch.csrxchg.w(i32 noundef [[A]], i32 noundef [[B]], i32 1)
// LA32-NEXT: [[TMP0:%.*]] = tail call i32 @llvm.loongarch.csrxchg.w(i32 [[A:%.*]], i32 [[B:%.*]], i32 1)
// LA32-NEXT: [[TMP1:%.*]] = tail call i32 @llvm.loongarch.csrxchg.w(i32 [[A]], i32 [[B]], i32 1)
// LA32-NEXT: ret i32 0
//
unsigned int csrxchg_w(unsigned int a, unsigned int b) {
Expand All @@ -86,8 +86,8 @@ unsigned int csrxchg_w(unsigned int a, unsigned int b) {

// LA32-LABEL: @iocsrrd_b(
// LA32-NEXT: entry:
// LA32-NEXT: [[TMP0:%.*]] = tail call i32 @llvm.loongarch.iocsrrd.b(i32 noundef [[A:%.*]])
// LA32-NEXT: [[TMP1:%.*]] = tail call i32 @llvm.loongarch.iocsrrd.b(i32 noundef [[A]])
// LA32-NEXT: [[TMP0:%.*]] = tail call i32 @llvm.loongarch.iocsrrd.b(i32 [[A:%.*]])
// LA32-NEXT: [[TMP1:%.*]] = tail call i32 @llvm.loongarch.iocsrrd.b(i32 [[A]])
// LA32-NEXT: ret i8 0
//
unsigned char iocsrrd_b(unsigned int a) {
Expand All @@ -98,8 +98,8 @@ unsigned char iocsrrd_b(unsigned int a) {

// LA32-LABEL: @iocsrrd_h(
// LA32-NEXT: entry:
// LA32-NEXT: [[TMP0:%.*]] = tail call i32 @llvm.loongarch.iocsrrd.h(i32 noundef [[A:%.*]])
// LA32-NEXT: [[TMP1:%.*]] = tail call i32 @llvm.loongarch.iocsrrd.h(i32 noundef [[A]])
// LA32-NEXT: [[TMP0:%.*]] = tail call i32 @llvm.loongarch.iocsrrd.h(i32 [[A:%.*]])
// LA32-NEXT: [[TMP1:%.*]] = tail call i32 @llvm.loongarch.iocsrrd.h(i32 [[A]])
// LA32-NEXT: ret i16 0
//
unsigned short iocsrrd_h(unsigned int a) {
Expand All @@ -110,8 +110,8 @@ unsigned short iocsrrd_h(unsigned int a) {

// LA32-LABEL: @iocsrrd_w(
// LA32-NEXT: entry:
// LA32-NEXT: [[TMP0:%.*]] = tail call i32 @llvm.loongarch.iocsrrd.w(i32 noundef [[A:%.*]])
// LA32-NEXT: [[TMP1:%.*]] = tail call i32 @llvm.loongarch.iocsrrd.w(i32 noundef [[A]])
// LA32-NEXT: [[TMP0:%.*]] = tail call i32 @llvm.loongarch.iocsrrd.w(i32 [[A:%.*]])
// LA32-NEXT: [[TMP1:%.*]] = tail call i32 @llvm.loongarch.iocsrrd.w(i32 [[A]])
// LA32-NEXT: ret i32 0
//
unsigned int iocsrrd_w(unsigned int a) {
Expand All @@ -123,8 +123,8 @@ unsigned int iocsrrd_w(unsigned int a) {
// LA32-LABEL: @iocsrwr_b(
// LA32-NEXT: entry:
// LA32-NEXT: [[CONV_I:%.*]] = zext i8 [[A:%.*]] to i32
// LA32-NEXT: tail call void @llvm.loongarch.iocsrwr.b(i32 [[CONV_I]], i32 noundef [[B:%.*]])
// LA32-NEXT: tail call void @llvm.loongarch.iocsrwr.b(i32 [[CONV_I]], i32 noundef [[B]])
// LA32-NEXT: tail call void @llvm.loongarch.iocsrwr.b(i32 [[CONV_I]], i32 [[B:%.*]])
// LA32-NEXT: tail call void @llvm.loongarch.iocsrwr.b(i32 [[CONV_I]], i32 [[B]])
// LA32-NEXT: ret void
//
void iocsrwr_b(unsigned char a, unsigned int b) {
Expand All @@ -135,8 +135,8 @@ void iocsrwr_b(unsigned char a, unsigned int b) {
// LA32-LABEL: @iocsrwr_h(
// LA32-NEXT: entry:
// LA32-NEXT: [[CONV_I:%.*]] = zext i16 [[A:%.*]] to i32
// LA32-NEXT: tail call void @llvm.loongarch.iocsrwr.h(i32 [[CONV_I]], i32 noundef [[B:%.*]])
// LA32-NEXT: tail call void @llvm.loongarch.iocsrwr.h(i32 [[CONV_I]], i32 noundef [[B]])
// LA32-NEXT: tail call void @llvm.loongarch.iocsrwr.h(i32 [[CONV_I]], i32 [[B:%.*]])
// LA32-NEXT: tail call void @llvm.loongarch.iocsrwr.h(i32 [[CONV_I]], i32 [[B]])
// LA32-NEXT: ret void
//
void iocsrwr_h(unsigned short a, unsigned int b) {
Expand All @@ -146,8 +146,8 @@ void iocsrwr_h(unsigned short a, unsigned int b) {

// LA32-LABEL: @iocsrwr_w(
// LA32-NEXT: entry:
// LA32-NEXT: tail call void @llvm.loongarch.iocsrwr.w(i32 noundef [[A:%.*]], i32 noundef [[B:%.*]])
// LA32-NEXT: tail call void @llvm.loongarch.iocsrwr.w(i32 noundef [[A]], i32 noundef [[B]])
// LA32-NEXT: tail call void @llvm.loongarch.iocsrwr.w(i32 [[A:%.*]], i32 [[B:%.*]])
// LA32-NEXT: tail call void @llvm.loongarch.iocsrwr.w(i32 [[A]], i32 [[B]])
// LA32-NEXT: ret void
//
void iocsrwr_w(unsigned int a, unsigned int b) {
Expand All @@ -157,8 +157,8 @@ void iocsrwr_w(unsigned int a, unsigned int b) {

// LA32-LABEL: @cpucfg(
// LA32-NEXT: entry:
// LA32-NEXT: [[TMP0:%.*]] = tail call i32 @llvm.loongarch.cpucfg(i32 noundef [[A:%.*]])
// LA32-NEXT: [[TMP1:%.*]] = tail call i32 @llvm.loongarch.cpucfg(i32 noundef [[A]])
// LA32-NEXT: [[TMP0:%.*]] = tail call i32 @llvm.loongarch.cpucfg(i32 [[A:%.*]])
// LA32-NEXT: [[TMP1:%.*]] = tail call i32 @llvm.loongarch.cpucfg(i32 [[A]])
// LA32-NEXT: ret i32 0
//
unsigned int cpucfg(unsigned int a) {
Expand Down Expand Up @@ -192,8 +192,8 @@ int loongarch_movfcsr2gr() {

// LA32-LABEL: @loongarch_movgr2fcsr(
// LA32-NEXT: entry:
// LA32-NEXT: tail call void @llvm.loongarch.movgr2fcsr(i32 1, i32 noundef [[A:%.*]])
// LA32-NEXT: tail call void @llvm.loongarch.movgr2fcsr(i32 1, i32 noundef [[A]])
// LA32-NEXT: tail call void @llvm.loongarch.movgr2fcsr(i32 1, i32 [[A:%.*]])
// LA32-NEXT: tail call void @llvm.loongarch.movgr2fcsr(i32 1, i32 [[A]])
// LA32-NEXT: ret void
//
void loongarch_movgr2fcsr(int a) {
Expand All @@ -206,11 +206,6 @@ void loongarch_movgr2fcsr(int a) {
// CHECK-NEXT: tail call void @llvm.loongarch.cacop.w(i32 1, i32 [[A:%.*]], i32 1024)
// CHECK-NEXT: tail call void @llvm.loongarch.cacop.w(i32 1, i32 [[A]], i32 1024)
// CHECK-NEXT: ret void
// LA32-LABEL: @cacop_w(
// LA32-NEXT: entry:
// LA32-NEXT: tail call void @llvm.loongarch.cacop.w(i32 1, i32 noundef [[A:%.*]], i32 1024)
// LA32-NEXT: tail call void @llvm.loongarch.cacop.w(i32 1, i32 noundef [[A]], i32 1024)
// LA32-NEXT: ret void
//
void cacop_w(unsigned long int a) {
__cacop_w(1, a, 1024);
Expand Down

0 comments on commit 3391bdc

Please sign in to comment.