@@ -18721,34 +18721,33 @@ int bar(int n){
18721
18721
// CHECK1-NEXT: br label [[OMP_DISPATCH_COND:%.*]]
18722
18722
// CHECK1: omp.dispatch.cond:
18723
18723
// CHECK1-NEXT: [[TMP9:%.*]] = load i32, i32* [[DOTOMP_UB]], align 4
18724
- // CHECK1-NEXT: [[CONV7:%.*]] = sext i32 [[TMP9]] to i64
18725
18724
// CHECK1-NEXT: [[TMP10:%.*]] = load i64, i64* [[DOTPREVIOUS_UB__ADDR]], align 8
18726
- // CHECK1-NEXT: [[CMP8:%.*]] = icmp ugt i64 [[CONV7]], [[TMP10]]
18725
+ // CHECK1-NEXT: [[CONV7:%.*]] = trunc i64 [[TMP10]] to i32
18726
+ // CHECK1-NEXT: [[CMP8:%.*]] = icmp sgt i32 [[TMP9]], [[CONV7]]
18727
18727
// CHECK1-NEXT: br i1 [[CMP8]], label [[COND_TRUE:%.*]], label [[COND_FALSE:%.*]]
18728
18728
// CHECK1: cond.true:
18729
18729
// CHECK1-NEXT: [[TMP11:%.*]] = load i64, i64* [[DOTPREVIOUS_UB__ADDR]], align 8
18730
+ // CHECK1-NEXT: [[CONV9:%.*]] = trunc i64 [[TMP11]] to i32
18730
18731
// CHECK1-NEXT: br label [[COND_END:%.*]]
18731
18732
// CHECK1: cond.false:
18732
18733
// CHECK1-NEXT: [[TMP12:%.*]] = load i32, i32* [[DOTOMP_UB]], align 4
18733
- // CHECK1-NEXT: [[CONV9:%.*]] = sext i32 [[TMP12]] to i64
18734
18734
// CHECK1-NEXT: br label [[COND_END]]
18735
18735
// CHECK1: cond.end:
18736
- // CHECK1-NEXT: [[COND:%.*]] = phi i64 [ [[TMP11]], [[COND_TRUE]] ], [ [[CONV9]], [[COND_FALSE]] ]
18737
- // CHECK1-NEXT: [[CONV10:%.*]] = trunc i64 [[COND]] to i32
18738
- // CHECK1-NEXT: store i32 [[CONV10]], i32* [[DOTOMP_UB]], align 4
18736
+ // CHECK1-NEXT: [[COND:%.*]] = phi i32 [ [[CONV9]], [[COND_TRUE]] ], [ [[TMP12]], [[COND_FALSE]] ]
18737
+ // CHECK1-NEXT: store i32 [[COND]], i32* [[DOTOMP_UB]], align 4
18739
18738
// CHECK1-NEXT: [[TMP13:%.*]] = load i32, i32* [[DOTOMP_LB]], align 4
18740
18739
// CHECK1-NEXT: store i32 [[TMP13]], i32* [[DOTOMP_IV]], align 4
18741
18740
// CHECK1-NEXT: [[TMP14:%.*]] = load i32, i32* [[DOTOMP_IV]], align 4
18742
18741
// CHECK1-NEXT: [[TMP15:%.*]] = load i32, i32* [[DOTOMP_UB]], align 4
18743
- // CHECK1-NEXT: [[CMP11 :%.*]] = icmp sle i32 [[TMP14]], [[TMP15]]
18744
- // CHECK1-NEXT: br i1 [[CMP11 ]], label [[OMP_DISPATCH_BODY:%.*]], label [[OMP_DISPATCH_END:%.*]]
18742
+ // CHECK1-NEXT: [[CMP10 :%.*]] = icmp sle i32 [[TMP14]], [[TMP15]]
18743
+ // CHECK1-NEXT: br i1 [[CMP10 ]], label [[OMP_DISPATCH_BODY:%.*]], label [[OMP_DISPATCH_END:%.*]]
18745
18744
// CHECK1: omp.dispatch.body:
18746
18745
// CHECK1-NEXT: br label [[OMP_INNER_FOR_COND:%.*]]
18747
18746
// CHECK1: omp.inner.for.cond:
18748
18747
// CHECK1-NEXT: [[TMP16:%.*]] = load i32, i32* [[DOTOMP_IV]], align 4
18749
18748
// CHECK1-NEXT: [[TMP17:%.*]] = load i32, i32* [[DOTOMP_UB]], align 4
18750
- // CHECK1-NEXT: [[CMP12 :%.*]] = icmp sle i32 [[TMP16]], [[TMP17]]
18751
- // CHECK1-NEXT: br i1 [[CMP12 ]], label [[OMP_INNER_FOR_BODY:%.*]], label [[OMP_INNER_FOR_END:%.*]]
18749
+ // CHECK1-NEXT: [[CMP11 :%.*]] = icmp sle i32 [[TMP16]], [[TMP17]]
18750
+ // CHECK1-NEXT: br i1 [[CMP11 ]], label [[OMP_INNER_FOR_BODY:%.*]], label [[OMP_INNER_FOR_END:%.*]]
18752
18751
// CHECK1: omp.inner.for.body:
18753
18752
// CHECK1-NEXT: [[TMP18:%.*]] = load i32, i32* [[DOTOMP_IV]], align 4
18754
18753
// CHECK1-NEXT: [[MUL:%.*]] = mul nsw i32 [[TMP18]], 1
@@ -18765,20 +18764,20 @@ int bar(int n){
18765
18764
// CHECK1-NEXT: br label [[OMP_INNER_FOR_INC:%.*]]
18766
18765
// CHECK1: omp.inner.for.inc:
18767
18766
// CHECK1-NEXT: [[TMP21:%.*]] = load i32, i32* [[DOTOMP_IV]], align 4
18768
- // CHECK1-NEXT: [[ADD13 :%.*]] = add nsw i32 [[TMP21]], 1
18769
- // CHECK1-NEXT: store i32 [[ADD13 ]], i32* [[DOTOMP_IV]], align 4
18767
+ // CHECK1-NEXT: [[ADD12 :%.*]] = add nsw i32 [[TMP21]], 1
18768
+ // CHECK1-NEXT: store i32 [[ADD12 ]], i32* [[DOTOMP_IV]], align 4
18770
18769
// CHECK1-NEXT: br label [[OMP_INNER_FOR_COND]]
18771
18770
// CHECK1: omp.inner.for.end:
18772
18771
// CHECK1-NEXT: br label [[OMP_DISPATCH_INC:%.*]]
18773
18772
// CHECK1: omp.dispatch.inc:
18774
18773
// CHECK1-NEXT: [[TMP22:%.*]] = load i32, i32* [[DOTOMP_LB]], align 4
18775
18774
// CHECK1-NEXT: [[TMP23:%.*]] = load i32, i32* [[DOTOMP_STRIDE]], align 4
18776
- // CHECK1-NEXT: [[ADD14 :%.*]] = add nsw i32 [[TMP22]], [[TMP23]]
18777
- // CHECK1-NEXT: store i32 [[ADD14 ]], i32* [[DOTOMP_LB]], align 4
18775
+ // CHECK1-NEXT: [[ADD13 :%.*]] = add nsw i32 [[TMP22]], [[TMP23]]
18776
+ // CHECK1-NEXT: store i32 [[ADD13 ]], i32* [[DOTOMP_LB]], align 4
18778
18777
// CHECK1-NEXT: [[TMP24:%.*]] = load i32, i32* [[DOTOMP_UB]], align 4
18779
18778
// CHECK1-NEXT: [[TMP25:%.*]] = load i32, i32* [[DOTOMP_STRIDE]], align 4
18780
- // CHECK1-NEXT: [[ADD15 :%.*]] = add nsw i32 [[TMP24]], [[TMP25]]
18781
- // CHECK1-NEXT: store i32 [[ADD15 ]], i32* [[DOTOMP_UB]], align 4
18779
+ // CHECK1-NEXT: [[ADD14 :%.*]] = add nsw i32 [[TMP24]], [[TMP25]]
18780
+ // CHECK1-NEXT: store i32 [[ADD14 ]], i32* [[DOTOMP_UB]], align 4
18782
18781
// CHECK1-NEXT: br label [[OMP_DISPATCH_COND]]
18783
18782
// CHECK1: omp.dispatch.end:
18784
18783
// CHECK1-NEXT: [[TMP26:%.*]] = load i32*, i32** [[DOTGLOBAL_TID__ADDR]], align 8
@@ -20328,34 +20327,33 @@ int bar(int n){
20328
20327
// CHECK2-NEXT: br label [[OMP_DISPATCH_COND:%.*]]
20329
20328
// CHECK2: omp.dispatch.cond:
20330
20329
// CHECK2-NEXT: [[TMP9:%.*]] = load i32, i32* [[DOTOMP_UB]], align 4
20331
- // CHECK2-NEXT: [[CONV7:%.*]] = sext i32 [[TMP9]] to i64
20332
20330
// CHECK2-NEXT: [[TMP10:%.*]] = load i64, i64* [[DOTPREVIOUS_UB__ADDR]], align 8
20333
- // CHECK2-NEXT: [[CMP8:%.*]] = icmp ugt i64 [[CONV7]], [[TMP10]]
20331
+ // CHECK2-NEXT: [[CONV7:%.*]] = trunc i64 [[TMP10]] to i32
20332
+ // CHECK2-NEXT: [[CMP8:%.*]] = icmp sgt i32 [[TMP9]], [[CONV7]]
20334
20333
// CHECK2-NEXT: br i1 [[CMP8]], label [[COND_TRUE:%.*]], label [[COND_FALSE:%.*]]
20335
20334
// CHECK2: cond.true:
20336
20335
// CHECK2-NEXT: [[TMP11:%.*]] = load i64, i64* [[DOTPREVIOUS_UB__ADDR]], align 8
20336
+ // CHECK2-NEXT: [[CONV9:%.*]] = trunc i64 [[TMP11]] to i32
20337
20337
// CHECK2-NEXT: br label [[COND_END:%.*]]
20338
20338
// CHECK2: cond.false:
20339
20339
// CHECK2-NEXT: [[TMP12:%.*]] = load i32, i32* [[DOTOMP_UB]], align 4
20340
- // CHECK2-NEXT: [[CONV9:%.*]] = sext i32 [[TMP12]] to i64
20341
20340
// CHECK2-NEXT: br label [[COND_END]]
20342
20341
// CHECK2: cond.end:
20343
- // CHECK2-NEXT: [[COND:%.*]] = phi i64 [ [[TMP11]], [[COND_TRUE]] ], [ [[CONV9]], [[COND_FALSE]] ]
20344
- // CHECK2-NEXT: [[CONV10:%.*]] = trunc i64 [[COND]] to i32
20345
- // CHECK2-NEXT: store i32 [[CONV10]], i32* [[DOTOMP_UB]], align 4
20342
+ // CHECK2-NEXT: [[COND:%.*]] = phi i32 [ [[CONV9]], [[COND_TRUE]] ], [ [[TMP12]], [[COND_FALSE]] ]
20343
+ // CHECK2-NEXT: store i32 [[COND]], i32* [[DOTOMP_UB]], align 4
20346
20344
// CHECK2-NEXT: [[TMP13:%.*]] = load i32, i32* [[DOTOMP_LB]], align 4
20347
20345
// CHECK2-NEXT: store i32 [[TMP13]], i32* [[DOTOMP_IV]], align 4
20348
20346
// CHECK2-NEXT: [[TMP14:%.*]] = load i32, i32* [[DOTOMP_IV]], align 4
20349
20347
// CHECK2-NEXT: [[TMP15:%.*]] = load i32, i32* [[DOTOMP_UB]], align 4
20350
- // CHECK2-NEXT: [[CMP11 :%.*]] = icmp sle i32 [[TMP14]], [[TMP15]]
20351
- // CHECK2-NEXT: br i1 [[CMP11 ]], label [[OMP_DISPATCH_BODY:%.*]], label [[OMP_DISPATCH_END:%.*]]
20348
+ // CHECK2-NEXT: [[CMP10 :%.*]] = icmp sle i32 [[TMP14]], [[TMP15]]
20349
+ // CHECK2-NEXT: br i1 [[CMP10 ]], label [[OMP_DISPATCH_BODY:%.*]], label [[OMP_DISPATCH_END:%.*]]
20352
20350
// CHECK2: omp.dispatch.body:
20353
20351
// CHECK2-NEXT: br label [[OMP_INNER_FOR_COND:%.*]]
20354
20352
// CHECK2: omp.inner.for.cond:
20355
20353
// CHECK2-NEXT: [[TMP16:%.*]] = load i32, i32* [[DOTOMP_IV]], align 4
20356
20354
// CHECK2-NEXT: [[TMP17:%.*]] = load i32, i32* [[DOTOMP_UB]], align 4
20357
- // CHECK2-NEXT: [[CMP12 :%.*]] = icmp sle i32 [[TMP16]], [[TMP17]]
20358
- // CHECK2-NEXT: br i1 [[CMP12 ]], label [[OMP_INNER_FOR_BODY:%.*]], label [[OMP_INNER_FOR_END:%.*]]
20355
+ // CHECK2-NEXT: [[CMP11 :%.*]] = icmp sle i32 [[TMP16]], [[TMP17]]
20356
+ // CHECK2-NEXT: br i1 [[CMP11 ]], label [[OMP_INNER_FOR_BODY:%.*]], label [[OMP_INNER_FOR_END:%.*]]
20359
20357
// CHECK2: omp.inner.for.body:
20360
20358
// CHECK2-NEXT: [[TMP18:%.*]] = load i32, i32* [[DOTOMP_IV]], align 4
20361
20359
// CHECK2-NEXT: [[MUL:%.*]] = mul nsw i32 [[TMP18]], 1
@@ -20372,20 +20370,20 @@ int bar(int n){
20372
20370
// CHECK2-NEXT: br label [[OMP_INNER_FOR_INC:%.*]]
20373
20371
// CHECK2: omp.inner.for.inc:
20374
20372
// CHECK2-NEXT: [[TMP21:%.*]] = load i32, i32* [[DOTOMP_IV]], align 4
20375
- // CHECK2-NEXT: [[ADD13 :%.*]] = add nsw i32 [[TMP21]], 1
20376
- // CHECK2-NEXT: store i32 [[ADD13 ]], i32* [[DOTOMP_IV]], align 4
20373
+ // CHECK2-NEXT: [[ADD12 :%.*]] = add nsw i32 [[TMP21]], 1
20374
+ // CHECK2-NEXT: store i32 [[ADD12 ]], i32* [[DOTOMP_IV]], align 4
20377
20375
// CHECK2-NEXT: br label [[OMP_INNER_FOR_COND]]
20378
20376
// CHECK2: omp.inner.for.end:
20379
20377
// CHECK2-NEXT: br label [[OMP_DISPATCH_INC:%.*]]
20380
20378
// CHECK2: omp.dispatch.inc:
20381
20379
// CHECK2-NEXT: [[TMP22:%.*]] = load i32, i32* [[DOTOMP_LB]], align 4
20382
20380
// CHECK2-NEXT: [[TMP23:%.*]] = load i32, i32* [[DOTOMP_STRIDE]], align 4
20383
- // CHECK2-NEXT: [[ADD14 :%.*]] = add nsw i32 [[TMP22]], [[TMP23]]
20384
- // CHECK2-NEXT: store i32 [[ADD14 ]], i32* [[DOTOMP_LB]], align 4
20381
+ // CHECK2-NEXT: [[ADD13 :%.*]] = add nsw i32 [[TMP22]], [[TMP23]]
20382
+ // CHECK2-NEXT: store i32 [[ADD13 ]], i32* [[DOTOMP_LB]], align 4
20385
20383
// CHECK2-NEXT: [[TMP24:%.*]] = load i32, i32* [[DOTOMP_UB]], align 4
20386
20384
// CHECK2-NEXT: [[TMP25:%.*]] = load i32, i32* [[DOTOMP_STRIDE]], align 4
20387
- // CHECK2-NEXT: [[ADD15 :%.*]] = add nsw i32 [[TMP24]], [[TMP25]]
20388
- // CHECK2-NEXT: store i32 [[ADD15 ]], i32* [[DOTOMP_UB]], align 4
20385
+ // CHECK2-NEXT: [[ADD14 :%.*]] = add nsw i32 [[TMP24]], [[TMP25]]
20386
+ // CHECK2-NEXT: store i32 [[ADD14 ]], i32* [[DOTOMP_UB]], align 4
20389
20387
// CHECK2-NEXT: br label [[OMP_DISPATCH_COND]]
20390
20388
// CHECK2: omp.dispatch.end:
20391
20389
// CHECK2-NEXT: [[TMP26:%.*]] = load i32*, i32** [[DOTGLOBAL_TID__ADDR]], align 8
@@ -21917,7 +21915,7 @@ int bar(int n){
21917
21915
// CHECK3: omp.dispatch.cond:
21918
21916
// CHECK3-NEXT: [[TMP9:%.*]] = load i32, i32* [[DOTOMP_UB]], align 4
21919
21917
// CHECK3-NEXT: [[TMP10:%.*]] = load i32, i32* [[DOTPREVIOUS_UB__ADDR]], align 4
21920
- // CHECK3-NEXT: [[CMP4:%.*]] = icmp ugt i32 [[TMP9]], [[TMP10]]
21918
+ // CHECK3-NEXT: [[CMP4:%.*]] = icmp sgt i32 [[TMP9]], [[TMP10]]
21921
21919
// CHECK3-NEXT: br i1 [[CMP4]], label [[COND_TRUE:%.*]], label [[COND_FALSE:%.*]]
21922
21920
// CHECK3: cond.true:
21923
21921
// CHECK3-NEXT: [[TMP11:%.*]] = load i32, i32* [[DOTPREVIOUS_UB__ADDR]], align 4
@@ -23463,7 +23461,7 @@ int bar(int n){
23463
23461
// CHECK4: omp.dispatch.cond:
23464
23462
// CHECK4-NEXT: [[TMP9:%.*]] = load i32, i32* [[DOTOMP_UB]], align 4
23465
23463
// CHECK4-NEXT: [[TMP10:%.*]] = load i32, i32* [[DOTPREVIOUS_UB__ADDR]], align 4
23466
- // CHECK4-NEXT: [[CMP4:%.*]] = icmp ugt i32 [[TMP9]], [[TMP10]]
23464
+ // CHECK4-NEXT: [[CMP4:%.*]] = icmp sgt i32 [[TMP9]], [[TMP10]]
23467
23465
// CHECK4-NEXT: br i1 [[CMP4]], label [[COND_TRUE:%.*]], label [[COND_FALSE:%.*]]
23468
23466
// CHECK4: cond.true:
23469
23467
// CHECK4-NEXT: [[TMP11:%.*]] = load i32, i32* [[DOTPREVIOUS_UB__ADDR]], align 4
0 commit comments