Skip to content

Commit d49e403

Browse files
author
Marek Sedlacek
committed
Fixed wording of a comment and debug; Removed UB and unused parameter from a test
1 parent e5aabbd commit d49e403

File tree

2 files changed

+14
-12
lines changed

2 files changed

+14
-12
lines changed

llvm/lib/Transforms/Utils/LoopUnroll.cpp

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -488,11 +488,13 @@ llvm::UnrollLoop(Loop *L, UnrollLoopOptions ULO, LoopInfo *LI,
488488
if (ULO.Runtime && SE) {
489489
BasicBlock *OrigHeader = L->getHeader();
490490
BranchInst *BI = dyn_cast<BranchInst>(OrigHeader->getTerminator());
491-
// Rotate loop if it makes it countable (for later unrolling)
491+
// Rotate loop if it makes the exit count from the latch computable (for
492+
// later unrolling).
492493
if (BI && !BI->isUnconditional() &&
493494
isa<SCEVCouldNotCompute>(SE->getExitCount(L, L->getLoopLatch())) &&
494495
!isa<SCEVCouldNotCompute>(SE->getExitCount(L, OrigHeader))) {
495-
LLVM_DEBUG(dbgs() << " Rotating loop to make the loop countable.\n");
496+
LLVM_DEBUG(
497+
dbgs() << " Rotating loop to make the exit count computable.\n");
496498
SimplifyQuery SQ{OrigHeader->getDataLayout()};
497499
SQ.TLI = nullptr;
498500
SQ.DT = DT;

llvm/test/Transforms/LoopUnroll/X86/runtime-unroll-after-rotate.ll

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,15 @@
22
; RUN: opt --passes=loop-unroll -unroll-runtime-other-exit-predictable=1 -S %s | FileCheck %s
33
target triple = "x86_64-unknown-linux-gnu"
44

5-
define void @test(i64 %0) #0 {
5+
define void @test(i64 %0, ptr %1) #0 {
66
; CHECK-LABEL: define void @test(
7-
; CHECK-SAME: i64 [[TMP0:%.*]]) #[[ATTR0:[0-9]+]] {
7+
; CHECK-SAME: i64 [[TMP0:%.*]], ptr [[TMP1:%.*]]) #[[ATTR0:[0-9]+]] {
88
; CHECK-NEXT: [[ENTRY:.*:]]
99
; CHECK-NEXT: [[B1:%.*]] = icmp eq i64 [[TMP0]], 0
1010
; CHECK-NEXT: br i1 [[B1]], label %[[AFTER:.*]], label %[[BODY_LR_PH:.*]]
1111
; CHECK: [[BODY_LR_PH]]:
12-
; CHECK-NEXT: [[TMP1:%.*]] = sub i64 0, [[TMP0]]
13-
; CHECK-NEXT: [[TMP2:%.*]] = freeze i64 [[TMP1]]
12+
; CHECK-NEXT: [[TMP5:%.*]] = sub i64 0, [[TMP0]]
13+
; CHECK-NEXT: [[TMP2:%.*]] = freeze i64 [[TMP5]]
1414
; CHECK-NEXT: [[TMP3:%.*]] = add i64 [[TMP2]], -1
1515
; CHECK-NEXT: [[XTRAITER:%.*]] = and i64 [[TMP2]], 3
1616
; CHECK-NEXT: [[LCMP_MOD:%.*]] = icmp ne i64 [[XTRAITER]], 0
@@ -21,7 +21,7 @@ define void @test(i64 %0) #0 {
2121
; CHECK-NEXT: [[A2_PROL:%.*]] = phi i64 [ [[TMP0]], %[[BODY_PROL_PREHEADER]] ], [ [[A_PROL:%.*]], %[[HEADER_PROL:.*]] ]
2222
; CHECK-NEXT: [[PROL_ITER:%.*]] = phi i64 [ 0, %[[BODY_PROL_PREHEADER]] ], [ [[PROL_ITER_NEXT:%.*]], %[[HEADER_PROL]] ]
2323
; CHECK-NEXT: [[C_PROL:%.*]] = add i64 [[A2_PROL]], 1
24-
; CHECK-NEXT: [[D_PROL:%.*]] = load i32, ptr addrspace(1) null, align 4
24+
; CHECK-NEXT: [[D_PROL:%.*]] = load i32, ptr [[TMP1]], align 4
2525
; CHECK-NEXT: [[E_PROL:%.*]] = icmp eq i32 [[D_PROL]], 0
2626
; CHECK-NEXT: br i1 [[E_PROL]], label %[[END_LOOPEXIT3:.*]], label %[[HEADER_PROL]]
2727
; CHECK: [[HEADER_PROL]]:
@@ -51,7 +51,7 @@ define void @test(i64 %0) #0 {
5151
; CHECK-NEXT: br i1 [[B_7]], label %[[HEADER_AFTER_CRIT_EDGE_UNR_LCSSA:.*]], label %[[BODY]]
5252
; CHECK: [[BODY]]:
5353
; CHECK-NEXT: [[A2]] = phi i64 [ [[A2_UNR]], %[[BODY_LR_PH_NEW]] ], [ [[C_7]], %[[HEADER_3]] ]
54-
; CHECK-NEXT: [[D:%.*]] = load i32, ptr addrspace(1) null, align 4
54+
; CHECK-NEXT: [[D:%.*]] = load i32, ptr [[TMP1]], align 4
5555
; CHECK-NEXT: [[E:%.*]] = icmp eq i32 [[D]], 0
5656
; CHECK-NEXT: br i1 [[E]], label %[[END_LOOPEXIT]], label %[[HEADER]]
5757
; CHECK: [[END_LOOPEXIT]]:
@@ -65,7 +65,7 @@ define void @test(i64 %0) #0 {
6565
; CHECK: [[HEADER_AFTER_CRIT_EDGE]]:
6666
; CHECK-NEXT: br label %[[AFTER]]
6767
; CHECK: [[AFTER]]:
68-
; CHECK-NEXT: call void @foo(i32 0)
68+
; CHECK-NEXT: call void @foo()
6969
; CHECK-NEXT: ret void
7070
;
7171
entry:
@@ -78,19 +78,19 @@ header:
7878

7979
body:
8080
%c = add i64 %a, 1
81-
%d = load i32, ptr addrspace(1) null, align 4
81+
%d = load i32, ptr %1, align 4
8282
%e = icmp eq i32 %d, 0
8383
br i1 %e, label %end, label %header
8484

8585
end:
8686
ret void
8787

8888
after:
89-
call void @foo(i32 0)
89+
call void @foo()
9090
ret void
9191
}
9292

93-
declare void @foo(i32)
93+
declare void @foo()
9494

9595
attributes #0 = { "tune-cpu"="generic" }
9696
;.

0 commit comments

Comments
 (0)