Author: Nikita Popov Date: 2026-03-06T14:39:37+01:00 New Revision: 182133c3b9e17367b2a65eb2bdd7464794e69120
URL: https://github.com/llvm/llvm-project/commit/182133c3b9e17367b2a65eb2bdd7464794e69120 DIFF: https://github.com/llvm/llvm-project/commit/182133c3b9e17367b2a65eb2bdd7464794e69120.diff LOG: [Clang] Fix test failures with 32-bit default triple Fix failures after #184819. Added: Modified: clang/test/CodeGen/volatile-1.c clang/test/CodeGenCXX/volatile-1.cpp Removed: ################################################################################ diff --git a/clang/test/CodeGen/volatile-1.c b/clang/test/CodeGen/volatile-1.c index 54fc6d0df613b..2c26a8cb3b282 100644 --- a/clang/test/CodeGen/volatile-1.c +++ b/clang/test/CodeGen/volatile-1.c @@ -27,43 +27,43 @@ void test(void) { // CHECK: load volatile [[INT]], ptr @i i; // CHECK-NEXT: load volatile [[INT]], ptr @ci, align [[ALIGN:[0-9]+]] - // CHECK-NEXT: load volatile [[INT]], ptr getelementptr inbounds nuw (i8, ptr @ci, i64 4), align [[ALIGN_GEP:[0-9]+]] + // CHECK-NEXT: load volatile [[INT]], ptr getelementptr inbounds nuw (i8, ptr @ci, [[ISIZE:i64|i32]] 4), align [[ALIGN_GEP:[0-9]+]] // CHECK-NEXT: sitofp [[INT]] (float)(ci); // CHECK-NEXT: load volatile [[INT]], ptr @ci, align [[ALIGN]] - // CHECK-NEXT: load volatile [[INT]], ptr getelementptr inbounds nuw (i8, ptr @ci, i64 4), align [[ALIGN_GEP]] + // CHECK-NEXT: load volatile [[INT]], ptr getelementptr inbounds nuw (i8, ptr @ci, [[ISIZE]] 4), align [[ALIGN_GEP]] (void)ci; // CHECK-NEXT: memcpy (void)a; // CHECK-NEXT: [[R:%.*]] = load volatile [[INT]], ptr @ci, align [[ALIGN]] - // CHECK-NEXT: [[I:%.*]] = load volatile [[INT]], ptr getelementptr inbounds nuw (i8, ptr @ci, i64 4), align [[ALIGN_GEP]] + // CHECK-NEXT: [[I:%.*]] = load volatile [[INT]], ptr getelementptr inbounds nuw (i8, ptr @ci, [[ISIZE]] 4), align [[ALIGN_GEP]] // CHECK-NEXT: store volatile [[INT]] [[R]], ptr @ci, align [[ALIGN]] - // CHECK-NEXT: store volatile [[INT]] [[I]], ptr getelementptr inbounds nuw (i8, ptr @ci, i64 4), align [[ALIGN_GEP]] + // CHECK-NEXT: store volatile [[INT]] [[I]], ptr getelementptr inbounds nuw (i8, ptr @ci, [[ISIZE]] 4), align [[ALIGN_GEP]] (void)(ci=ci); // CHECK-NEXT: [[T:%.*]] = load volatile [[INT]], ptr @j // CHECK-NEXT: store volatile [[INT]] [[T]], ptr @i (void)(i=j); // CHECK-NEXT: [[R1:%.*]] = load volatile [[INT]], ptr @ci, align [[ALIGN]] - // CHECK-NEXT: [[I1:%.*]] = load volatile [[INT]], ptr getelementptr inbounds nuw (i8, ptr @ci, i64 4), align [[ALIGN_GEP]] + // CHECK-NEXT: [[I1:%.*]] = load volatile [[INT]], ptr getelementptr inbounds nuw (i8, ptr @ci, [[ISIZE]] 4), align [[ALIGN_GEP]] // CHECK-NEXT: [[R2:%.*]] = load volatile [[INT]], ptr @ci, align [[ALIGN]] - // CHECK-NEXT: [[I2:%.*]] = load volatile [[INT]], ptr getelementptr inbounds nuw (i8, ptr @ci, i64 4), align [[ALIGN_GEP]] + // CHECK-NEXT: [[I2:%.*]] = load volatile [[INT]], ptr getelementptr inbounds nuw (i8, ptr @ci, [[ISIZE]] 4), align [[ALIGN_GEP]] // Not sure why they're ordered this way. // CHECK-NEXT: [[R:%.*]] = add [[INT]] [[R2]], [[R1]] // CHECK-NEXT: [[I:%.*]] = add [[INT]] [[I2]], [[I1]] // CHECK-NEXT: store volatile [[INT]] [[R]], ptr @ci, align [[ALIGN]] - // CHECK-NEXT: store volatile [[INT]] [[I]], ptr getelementptr inbounds nuw (i8, ptr @ci, i64 4), align [[ALIGN_GEP]] + // CHECK-NEXT: store volatile [[INT]] [[I]], ptr getelementptr inbounds nuw (i8, ptr @ci, [[ISIZE]] 4), align [[ALIGN_GEP]] ci+=ci; // CHECK-NEXT: [[R1:%.*]] = load volatile [[INT]], ptr @ci, align [[ALIGN]] - // CHECK-NEXT: [[I1:%.*]] = load volatile [[INT]], ptr getelementptr inbounds nuw (i8, ptr @ci, i64 4), align [[ALIGN_GEP]] + // CHECK-NEXT: [[I1:%.*]] = load volatile [[INT]], ptr getelementptr inbounds nuw (i8, ptr @ci, [[ISIZE]] 4), align [[ALIGN_GEP]] // CHECK-NEXT: [[R2:%.*]] = load volatile [[INT]], ptr @ci, align [[ALIGN]] - // CHECK-NEXT: [[I2:%.*]] = load volatile [[INT]], ptr getelementptr inbounds nuw (i8, ptr @ci, i64 4), align [[ALIGN_GEP]] + // CHECK-NEXT: [[I2:%.*]] = load volatile [[INT]], ptr getelementptr inbounds nuw (i8, ptr @ci, [[ISIZE]] 4), align [[ALIGN_GEP]] // CHECK-NEXT: [[R:%.*]] = add [[INT]] [[R2]], [[R1]] // CHECK-NEXT: [[I:%.*]] = add [[INT]] [[I2]], [[I1]] // CHECK-NEXT: store volatile [[INT]] [[R]], ptr @ci, align [[ALIGN]] - // CHECK-NEXT: store volatile [[INT]] [[I]], ptr getelementptr inbounds nuw (i8, ptr @ci, i64 4), align [[ALIGN_GEP]] + // CHECK-NEXT: store volatile [[INT]] [[I]], ptr getelementptr inbounds nuw (i8, ptr @ci, [[ISIZE]] 4), align [[ALIGN_GEP]] // CHECK-NEXT: [[R2:%.*]] = load volatile [[INT]], ptr @ci, align [[ALIGN]] - // CHECK-NEXT: [[I2:%.*]] = load volatile [[INT]], ptr getelementptr inbounds nuw (i8, ptr @ci, i64 4), align [[ALIGN_GEP]] + // CHECK-NEXT: [[I2:%.*]] = load volatile [[INT]], ptr getelementptr inbounds nuw (i8, ptr @ci, [[ISIZE]] 4), align [[ALIGN_GEP]] // These additions can be elided // CHECK-NEXT: add [[INT]] [[R]], [[R2]] // CHECK-NEXT: add [[INT]] [[I]], [[I2]] @@ -191,9 +191,9 @@ void test(void) { // CHECK-NEXT: store volatile // CHECK-NEXT: store volatile ci=ci=ci; - // CHECK-NEXT: [[T:%.*]] = load volatile [[INT]], ptr getelementptr inbounds nuw (i8, ptr @ci, i64 4) - // CHECK-NEXT: store volatile [[INT]] [[T]], ptr getelementptr inbounds nuw (i8, ptr @ci, i64 4) - // CHECK-NEXT: store volatile [[INT]] [[T]], ptr getelementptr inbounds nuw (i8, ptr @ci, i64 4) + // CHECK-NEXT: [[T:%.*]] = load volatile [[INT]], ptr getelementptr inbounds nuw (i8, ptr @ci, [[ISIZE]] 4) + // CHECK-NEXT: store volatile [[INT]] [[T]], ptr getelementptr inbounds nuw (i8, ptr @ci, [[ISIZE]] 4) + // CHECK-NEXT: store volatile [[INT]] [[T]], ptr getelementptr inbounds nuw (i8, ptr @ci, [[ISIZE]] 4) __imag ci = __imag ci = __imag ci; // CHECK-NEXT: load volatile // CHECK-NEXT: store volatile diff --git a/clang/test/CodeGenCXX/volatile-1.cpp b/clang/test/CodeGenCXX/volatile-1.cpp index 942184fa9a1c9..a1ade1f5f441c 100644 --- a/clang/test/CodeGenCXX/volatile-1.cpp +++ b/clang/test/CodeGenCXX/volatile-1.cpp @@ -29,7 +29,7 @@ void test() { (float)(ci); // CHECK-NEXT: load volatile [[INT]], ptr @ci - // CHECK-NEXT: load volatile [[INT]], ptr getelementptr inbounds nuw (i8, ptr @ci, i64 4) + // CHECK-NEXT: load volatile [[INT]], ptr getelementptr inbounds nuw (i8, ptr @ci, [[ISIZE:i64|i32]] 4) // CHECK-NEXT: sitofp [[INT]] // These are not uses in C++98: @@ -37,15 +37,15 @@ void test() { // The lvalue-to-rvalue . . . conversions are not applied to the expression. (void)ci; // CHECK11-NEXT: load volatile [[INT]], ptr @ci - // CHECK11-NEXT: load volatile [[INT]], ptr getelementptr inbounds nuw (i8, ptr @ci, i64 4) + // CHECK11-NEXT: load volatile [[INT]], ptr getelementptr inbounds nuw (i8, ptr @ci, [[ISIZE]] 4) (void)a; (void)(ci=ci); // CHECK-NEXT: [[R:%.*]] = load volatile [[INT]], ptr @ci - // CHECK-NEXT: [[I:%.*]] = load volatile [[INT]], ptr getelementptr inbounds nuw (i8, ptr @ci, i64 4) + // CHECK-NEXT: [[I:%.*]] = load volatile [[INT]], ptr getelementptr inbounds nuw (i8, ptr @ci, [[ISIZE]] 4) // CHECK-NEXT: store volatile [[INT]] [[R]], ptr @ci - // CHECK-NEXT: store volatile [[INT]] [[I]], ptr getelementptr inbounds nuw (i8, ptr @ci, i64 4) + // CHECK-NEXT: store volatile [[INT]] [[I]], ptr getelementptr inbounds nuw (i8, ptr @ci, [[ISIZE]] 4) (void)(i=j); // CHECK-NEXT: [[T:%.*]] = load volatile [[INT]], ptr @j @@ -53,29 +53,29 @@ void test() { ci+=ci; // CHECK-NEXT: [[R1:%.*]] = load volatile [[INT]], ptr @ci - // CHECK-NEXT: [[I1:%.*]] = load volatile [[INT]], ptr getelementptr inbounds nuw (i8, ptr @ci, i64 4) + // CHECK-NEXT: [[I1:%.*]] = load volatile [[INT]], ptr getelementptr inbounds nuw (i8, ptr @ci, [[ISIZE]] 4) // CHECK-NEXT: [[R2:%.*]] = load volatile [[INT]], ptr @ci - // CHECK-NEXT: [[I2:%.*]] = load volatile [[INT]], ptr getelementptr inbounds nuw (i8, ptr @ci, i64 4) + // CHECK-NEXT: [[I2:%.*]] = load volatile [[INT]], ptr getelementptr inbounds nuw (i8, ptr @ci, [[ISIZE]] 4) // Not sure why they're ordered this way. // CHECK-NEXT: [[R:%.*]] = add [[INT]] [[R2]], [[R1]] // CHECK-NEXT: [[I:%.*]] = add [[INT]] [[I2]], [[I1]] // CHECK-NEXT: store volatile [[INT]] [[R]], ptr @ci - // CHECK-NEXT: store volatile [[INT]] [[I]], ptr getelementptr inbounds nuw (i8, ptr @ci, i64 4) + // CHECK-NEXT: store volatile [[INT]] [[I]], ptr getelementptr inbounds nuw (i8, ptr @ci, [[ISIZE]] 4) // Note that C++ requires an extra load volatile over C from the LHS of the '+'. (ci += ci) + ci; // CHECK-NEXT: [[R1:%.*]] = load volatile [[INT]], ptr @ci - // CHECK-NEXT: [[I1:%.*]] = load volatile [[INT]], ptr getelementptr inbounds nuw (i8, ptr @ci, i64 4) + // CHECK-NEXT: [[I1:%.*]] = load volatile [[INT]], ptr getelementptr inbounds nuw (i8, ptr @ci, [[ISIZE]] 4) // CHECK-NEXT: [[R2:%.*]] = load volatile [[INT]], ptr @ci - // CHECK-NEXT: [[I2:%.*]] = load volatile [[INT]], ptr getelementptr inbounds nuw (i8, ptr @ci, i64 4) + // CHECK-NEXT: [[I2:%.*]] = load volatile [[INT]], ptr getelementptr inbounds nuw (i8, ptr @ci, [[ISIZE]] 4) // CHECK-NEXT: [[R:%.*]] = add [[INT]] [[R2]], [[R1]] // CHECK-NEXT: [[I:%.*]] = add [[INT]] [[I2]], [[I1]] // CHECK-NEXT: store volatile [[INT]] [[R]], ptr @ci - // CHECK-NEXT: store volatile [[INT]] [[I]], ptr getelementptr inbounds nuw (i8, ptr @ci, i64 4) + // CHECK-NEXT: store volatile [[INT]] [[I]], ptr getelementptr inbounds nuw (i8, ptr @ci, [[ISIZE]] 4) // CHECK-NEXT: [[R1:%.*]] = load volatile [[INT]], ptr @ci - // CHECK-NEXT: [[I1:%.*]] = load volatile [[INT]], ptr getelementptr inbounds nuw (i8, ptr @ci, i64 4) + // CHECK-NEXT: [[I1:%.*]] = load volatile [[INT]], ptr getelementptr inbounds nuw (i8, ptr @ci, [[ISIZE]] 4) // CHECK-NEXT: [[R2:%.*]] = load volatile [[INT]], ptr @ci - // CHECK-NEXT: [[I2:%.*]] = load volatile [[INT]], ptr getelementptr inbounds nuw (i8, ptr @ci, i64 4) + // CHECK-NEXT: [[I2:%.*]] = load volatile [[INT]], ptr getelementptr inbounds nuw (i8, ptr @ci, [[ISIZE]] 4) // These additions can be elided. // CHECK-NEXT: add [[INT]] [[R1]], [[R2]] // CHECK-NEXT: add [[INT]] [[I1]], [[I2]] @@ -203,17 +203,17 @@ void test() { ci; // ci is a load in C++11 // CHECK11-NEXT: load volatile {{.*}} @ci - // CHECK11-NEXT: load volatile {{.*}} getelementptr inbounds nuw (i8, ptr @ci, i64 4) + // CHECK11-NEXT: load volatile {{.*}} getelementptr inbounds nuw (i8, ptr @ci, [[ISIZE]] 4) asm("nop"); // CHECK-NEXT: call void asm (int)ci; // CHECK-NEXT: load volatile {{.*}} @ci - // CHECK-NEXT: load volatile {{.*}} getelementptr inbounds nuw (i8, ptr @ci, i64 4) + // CHECK-NEXT: load volatile {{.*}} getelementptr inbounds nuw (i8, ptr @ci, [[ISIZE]] 4) (bool)ci; // CHECK-NEXT: load volatile {{.*}} @ci - // CHECK-NEXT: load volatile {{.*}} getelementptr inbounds nuw (i8, ptr @ci, i64 4) + // CHECK-NEXT: load volatile {{.*}} getelementptr inbounds nuw (i8, ptr @ci, [[ISIZE]] 4) // CHECK-NEXT: icmp ne // CHECK-NEXT: icmp ne // CHECK-NEXT: or i1 @@ -238,10 +238,10 @@ void test() { // CHECK-NEXT: store volatile __imag ci = __imag ci = __imag ci; - // CHECK-NEXT: [[T:%.*]] = load volatile [[INT]], ptr getelementptr inbounds nuw (i8, ptr @ci, i64 4) - // CHECK-NEXT: store volatile [[INT]] [[T]], ptr getelementptr inbounds nuw (i8, ptr @ci, i64 4) - // CHECK-NEXT: [[T:%.*]] = load volatile [[INT]], ptr getelementptr inbounds nuw (i8, ptr @ci, i64 4) - // CHECK-NEXT: store volatile [[INT]] [[T]], ptr getelementptr inbounds nuw (i8, ptr @ci, i64 4) + // CHECK-NEXT: [[T:%.*]] = load volatile [[INT]], ptr getelementptr inbounds nuw (i8, ptr @ci, [[ISIZE]] 4) + // CHECK-NEXT: store volatile [[INT]] [[T]], ptr getelementptr inbounds nuw (i8, ptr @ci, [[ISIZE]] 4) + // CHECK-NEXT: [[T:%.*]] = load volatile [[INT]], ptr getelementptr inbounds nuw (i8, ptr @ci, [[ISIZE]] 4) + // CHECK-NEXT: store volatile [[INT]] [[T]], ptr getelementptr inbounds nuw (i8, ptr @ci, [[ISIZE]] 4) __real (i = j); // CHECK-NEXT: load volatile _______________________________________________ cfe-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
