11; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 2
2- ; RUN: opt -S < %s -passes=no-op-function | FileCheck %s
2+ ; RUN: opt -S < %s -passes=infer-alignment | FileCheck %s
33
44; ------------------------------------------------------------------------------
55; load/store of null
66; ------------------------------------------------------------------------------
77
88define void @load_null () {
99; CHECK-LABEL: define void @load_null() {
10- ; CHECK-NEXT: [[X_0:%.*]] = load atomic i32, ptr null unordered, align 4
11- ; CHECK-NEXT: [[X_1:%.*]] = load atomic i32, ptr null monotonic, align 4
12- ; CHECK-NEXT: [[X_2:%.*]] = load atomic i32, ptr null seq_cst, align 4
10+ ; CHECK-NEXT: [[X_0:%.*]] = load atomic i32, ptr null unordered, align 4294967296
11+ ; CHECK-NEXT: [[X_1:%.*]] = load atomic i32, ptr null monotonic, align 4294967296
12+ ; CHECK-NEXT: [[X_2:%.*]] = load atomic i32, ptr null seq_cst, align 4294967296
1313; CHECK-NEXT: ret void
1414;
1515 %x.0 = load atomic i32 , ptr null unordered , align 4
@@ -20,9 +20,9 @@ define void @load_null() {
2020
2121define void @store_null () {
2222; CHECK-LABEL: define void @store_null() {
23- ; CHECK-NEXT: store atomic i32 0, ptr null unordered, align 4
24- ; CHECK-NEXT: store atomic i32 0, ptr null monotonic, align 4
25- ; CHECK-NEXT: store atomic i32 0, ptr null seq_cst, align 4
23+ ; CHECK-NEXT: store atomic i32 0, ptr null unordered, align 4294967296
24+ ; CHECK-NEXT: store atomic i32 0, ptr null monotonic, align 4294967296
25+ ; CHECK-NEXT: store atomic i32 0, ptr null seq_cst, align 4294967296
2626; CHECK-NEXT: ret void
2727;
2828 store atomic i32 0 , ptr null unordered , align 4
@@ -38,9 +38,9 @@ define void @store_null() {
3838
3939define void @load_nonnull () {
4040; CHECK-LABEL: define void @load_nonnull() {
41- ; CHECK-NEXT: [[X_0:%.*]] = load atomic i32, ptr @c unordered, align 4
42- ; CHECK-NEXT: [[X_1:%.*]] = load atomic i32, ptr @c monotonic, align 4
43- ; CHECK-NEXT: [[X_2:%.*]] = load atomic i32, ptr @c seq_cst, align 4
41+ ; CHECK-NEXT: [[X_0:%.*]] = load atomic i32, ptr @c unordered, align 8
42+ ; CHECK-NEXT: [[X_1:%.*]] = load atomic i32, ptr @c monotonic, align 8
43+ ; CHECK-NEXT: [[X_2:%.*]] = load atomic i32, ptr @c seq_cst, align 8
4444; CHECK-NEXT: ret void
4545;
4646 %x.0 = load atomic i32 , ptr @c unordered , align 4
@@ -51,9 +51,9 @@ define void @load_nonnull() {
5151
5252define void @store_nonnull () {
5353; CHECK-LABEL: define void @store_nonnull() {
54- ; CHECK-NEXT: store atomic i32 0, ptr @c unordered, align 4
55- ; CHECK-NEXT: store atomic i32 0, ptr @c monotonic, align 4
56- ; CHECK-NEXT: store atomic i32 0, ptr @c seq_cst, align 4
54+ ; CHECK-NEXT: store atomic i32 0, ptr @c unordered, align 8
55+ ; CHECK-NEXT: store atomic i32 0, ptr @c monotonic, align 8
56+ ; CHECK-NEXT: store atomic i32 0, ptr @c seq_cst, align 8
5757; CHECK-NEXT: ret void
5858;
5959 store atomic i32 0 , ptr @c unordered , align 4
@@ -69,9 +69,9 @@ define void @store_nonnull() {
6969define void @load_alloca () {
7070; CHECK-LABEL: define void @load_alloca() {
7171; CHECK-NEXT: [[ALLOCA:%.*]] = alloca i32, align 4
72- ; CHECK-NEXT: [[X_0:%.*]] = load atomic i32, ptr [[ALLOCA]] unordered, align 1
73- ; CHECK-NEXT: [[X_1:%.*]] = load atomic i32, ptr [[ALLOCA]] monotonic, align 1
74- ; CHECK-NEXT: [[X_2:%.*]] = load atomic i32, ptr [[ALLOCA]] seq_cst, align 1
72+ ; CHECK-NEXT: [[X_0:%.*]] = load atomic i32, ptr [[ALLOCA]] unordered, align 4
73+ ; CHECK-NEXT: [[X_1:%.*]] = load atomic i32, ptr [[ALLOCA]] monotonic, align 4
74+ ; CHECK-NEXT: [[X_2:%.*]] = load atomic i32, ptr [[ALLOCA]] seq_cst, align 4
7575; CHECK-NEXT: ret void
7676;
7777 %alloca = alloca i32
@@ -84,9 +84,9 @@ define void @load_alloca() {
8484define void @store_alloca () {
8585; CHECK-LABEL: define void @store_alloca() {
8686; CHECK-NEXT: [[ALLOCA:%.*]] = alloca i32, align 4
87- ; CHECK-NEXT: store atomic i32 0, ptr [[ALLOCA]] unordered, align 1
88- ; CHECK-NEXT: store atomic i32 0, ptr [[ALLOCA]] monotonic, align 1
89- ; CHECK-NEXT: store atomic i32 0, ptr [[ALLOCA]] seq_cst, align 1
87+ ; CHECK-NEXT: store atomic i32 0, ptr [[ALLOCA]] unordered, align 4
88+ ; CHECK-NEXT: store atomic i32 0, ptr [[ALLOCA]] monotonic, align 4
89+ ; CHECK-NEXT: store atomic i32 0, ptr [[ALLOCA]] seq_cst, align 4
9090; CHECK-NEXT: ret void
9191;
9292 %alloca = alloca i32
0 commit comments