[clang] 182133c - [Clang] Fix test failures with 32-bit default triple
Nikita Popov via cfe-commits
cfe-commits at lists.llvm.org
Fri Mar 6 05:42:17 PST 2026
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
More information about the cfe-commits
mailing list