forked from OSchip/llvm-project
[StackSafety,NFC] Don't test terminators
Code does not track terminators and do not expose them through interface. State there is just a state of the last instruction or entry. So this information is just redundant and doesn't need to be tested.
This commit is contained in:
parent
f9d8e33c32
commit
7b27c09f63
|
@ -320,23 +320,12 @@ class StackLifetime::LifetimeAnnotationWriter
|
|||
OS << " ; Alive: <" << llvm::join(Names, " ") << ">\n";
|
||||
}
|
||||
|
||||
void printBBAlive(const BasicBlock *BB, bool Start,
|
||||
formatted_raw_ostream &OS) {
|
||||
void emitBasicBlockStartAnnot(const BasicBlock *BB,
|
||||
formatted_raw_ostream &OS) override {
|
||||
auto ItBB = SL.BlockInstRange.find(BB);
|
||||
if (ItBB == SL.BlockInstRange.end())
|
||||
return; // Unreachable.
|
||||
unsigned InstrNo =
|
||||
Start ? ItBB->getSecond().first : (ItBB->getSecond().second - 1);
|
||||
printInstrAlive(InstrNo, OS);
|
||||
}
|
||||
|
||||
void emitBasicBlockStartAnnot(const BasicBlock *BB,
|
||||
formatted_raw_ostream &OS) override {
|
||||
printBBAlive(BB, true, OS);
|
||||
}
|
||||
void emitBasicBlockEndAnnot(const BasicBlock *BB,
|
||||
formatted_raw_ostream &OS) override {
|
||||
printBBAlive(BB, false, OS);
|
||||
printInstrAlive(ItBB->getSecond().first, OS);
|
||||
}
|
||||
|
||||
void printInfoComment(const Value &V, formatted_raw_ostream &OS) override {
|
||||
|
|
|
@ -40,8 +40,6 @@ entry:
|
|||
; CHECK-NEXT: Alive: <>
|
||||
|
||||
ret void
|
||||
; CHECK: ret void
|
||||
; CHECK-NEXT: Alive: <>
|
||||
}
|
||||
|
||||
define void @no_markers() {
|
||||
|
@ -63,8 +61,6 @@ entry:
|
|||
|
||||
call void @capture32(i32* %y)
|
||||
ret void
|
||||
; CHECK: ret void
|
||||
; CHECK-NEXT: Alive: <y>
|
||||
}
|
||||
|
||||
define void @g() {
|
||||
|
@ -106,8 +102,6 @@ entry:
|
|||
; CHECK-NEXT: Alive: <>
|
||||
|
||||
ret void
|
||||
; CHECK: ret void
|
||||
; CHECK-NEXT: Alive: <>
|
||||
}
|
||||
|
||||
define void @h() {
|
||||
|
@ -149,8 +143,6 @@ entry:
|
|||
; CHECK-NEXT: Alive: <>
|
||||
|
||||
ret void
|
||||
; CHECK: ret void
|
||||
; CHECK-NEXT: Alive: <>
|
||||
}
|
||||
|
||||
define void @i(i1 zeroext %a, i1 zeroext %b) {
|
||||
|
@ -179,8 +171,6 @@ entry:
|
|||
call void @capture64(i64* nonnull %x1)
|
||||
call void @capture64(i64* nonnull %x2)
|
||||
br i1 %a, label %if.then, label %if.else4
|
||||
; CHECK: br i1 %a, label %if.then, label %if.else4
|
||||
; CHECK-NEXT: Alive: <x1 x2>
|
||||
|
||||
if.then: ; preds = %entry
|
||||
; CHECK: if.then:
|
||||
|
@ -192,8 +182,6 @@ if.then: ; preds = %entry
|
|||
|
||||
call void @capture64(i64* nonnull %y)
|
||||
br i1 %b, label %if.then3, label %if.else
|
||||
; CHECK: br i1 %b, label %if.then3, label %if.else
|
||||
; CHECK-NEXT: Alive: <x1 x2 y>
|
||||
|
||||
if.then3: ; preds = %if.then
|
||||
; CHECK: if.then3:
|
||||
|
@ -209,8 +197,6 @@ if.then3: ; preds = %if.then
|
|||
; CHECK-NEXT: Alive: <x1 x2 y>
|
||||
|
||||
br label %if.end
|
||||
; CHECK: br label %if.end
|
||||
; CHECK-NEXT: Alive: <x1 x2 y>
|
||||
|
||||
if.else: ; preds = %if.then
|
||||
; CHECK: if.else:
|
||||
|
@ -226,8 +212,6 @@ if.else: ; preds = %if.then
|
|||
; CHECK-NEXT: Alive: <x1 x2 y>
|
||||
|
||||
br label %if.end
|
||||
; CHECK: br label %if.end
|
||||
; CHECK-NEXT: Alive: <x1 x2 y>
|
||||
|
||||
if.end: ; preds = %if.else, %if.then3
|
||||
; CHECK: if.end:
|
||||
|
@ -237,8 +221,6 @@ if.end: ; preds = %if.else, %if.then3
|
|||
; CHECK-NEXT: Alive: <x1 x2>
|
||||
|
||||
br label %if.end9
|
||||
; CHECK: br label %if.end9
|
||||
; CHECK-NEXT: Alive: <x1 x2>
|
||||
|
||||
if.else4: ; preds = %entry
|
||||
; CHECK: if.else4:
|
||||
|
@ -250,8 +232,6 @@ if.else4: ; preds = %entry
|
|||
|
||||
call void @capture64(i64* nonnull %z)
|
||||
br i1 %b, label %if.then6, label %if.else7
|
||||
; CHECK: br i1 %b, label %if.then6, label %if.else7
|
||||
; CHECK-NEXT: Alive: <x1 x2 z>
|
||||
|
||||
if.then6: ; preds = %if.else4
|
||||
; CHECK: if.then6:
|
||||
|
@ -267,8 +247,6 @@ if.then6: ; preds = %if.else4
|
|||
; CHECK-NEXT: Alive: <x1 x2 z>
|
||||
|
||||
br label %if.end8
|
||||
; CHECK: br label %if.end8
|
||||
; CHECK-NEXT: Alive: <x1 x2 z>
|
||||
|
||||
if.else7: ; preds = %if.else4
|
||||
; CHECK: if.else7:
|
||||
|
@ -284,8 +262,6 @@ if.else7: ; preds = %if.else4
|
|||
; CHECK-NEXT: Alive: <x1 x2 z>
|
||||
|
||||
br label %if.end8
|
||||
; CHECK: br label %if.end8
|
||||
; CHECK-NEXT: Alive: <x1 x2 z>
|
||||
|
||||
if.end8: ; preds = %if.else7, %if.then6
|
||||
; CHECK: if.end8:
|
||||
|
@ -295,8 +271,6 @@ if.end8: ; preds = %if.else7, %if.then6
|
|||
; CHECK-NEXT: Alive: <x1 x2>
|
||||
|
||||
br label %if.end9
|
||||
; CHECK: br label %if.end9
|
||||
; CHECK-NEXT: Alive: <x1 x2>
|
||||
|
||||
if.end9: ; preds = %if.end8, %if.end
|
||||
; CHECK: if.end9:
|
||||
|
@ -310,8 +284,6 @@ if.end9: ; preds = %if.end8, %if.end
|
|||
; CHECK-NEXT: Alive: <>
|
||||
|
||||
ret void
|
||||
; CHECK: ret void
|
||||
; CHECK-NEXT: Alive: <>
|
||||
}
|
||||
|
||||
define void @no_merge1(i1 %d) {
|
||||
|
@ -329,8 +301,6 @@ entry:
|
|||
|
||||
call void @capture32(i32* %x)
|
||||
br i1 %d, label %bb2, label %bb3
|
||||
; CHECK: br i1 %d, label %bb2, label %bb3
|
||||
; CHECK-NEXT: Alive: <x>
|
||||
|
||||
bb2: ; preds = %entry
|
||||
; CHECK: bb2:
|
||||
|
@ -349,8 +319,6 @@ bb2: ; preds = %entry
|
|||
; CHECK-NEXT: Alive: <>
|
||||
|
||||
ret void
|
||||
; CHECK: ret void
|
||||
; CHECK-NEXT: Alive: <>
|
||||
|
||||
bb3: ; preds = %entry
|
||||
; CHECK: bb3:
|
||||
|
@ -360,8 +328,6 @@ bb3: ; preds = %entry
|
|||
; CHECK-NEXT: Alive: <>
|
||||
|
||||
ret void
|
||||
; CHECK: ret void
|
||||
; CHECK-NEXT: Alive: <>
|
||||
}
|
||||
|
||||
define void @merge1(i1 %d) {
|
||||
|
@ -383,8 +349,6 @@ entry:
|
|||
; CHECK-NEXT: Alive: <>
|
||||
|
||||
br i1 %d, label %bb2, label %bb3
|
||||
; CHECK: br i1 %d, label %bb2, label %bb3
|
||||
; CHECK-NEXT: Alive: <>
|
||||
|
||||
bb2: ; preds = %entry
|
||||
; CHECK: bb2:
|
||||
|
@ -399,15 +363,11 @@ bb2: ; preds = %entry
|
|||
; CHECK-NEXT: Alive: <>
|
||||
|
||||
ret void
|
||||
; CHECK: ret void
|
||||
; CHECK-NEXT: Alive: <>
|
||||
|
||||
bb3: ; preds = %entry
|
||||
; CHECK: bb3:
|
||||
; CHECK-NEXT: Alive: <>
|
||||
ret void
|
||||
; CHECK: ret void
|
||||
; CHECK-NEXT: Alive: <>
|
||||
}
|
||||
|
||||
define void @merge2_noend(i1 %d) {
|
||||
|
@ -429,8 +389,6 @@ entry:
|
|||
; CHECK-NEXT: Alive: <>
|
||||
|
||||
br i1 %d, label %bb2, label %bb3
|
||||
; CHECK: br i1 %d, label %bb2, label %bb3
|
||||
; CHECK-NEXT: Alive: <>
|
||||
|
||||
bb2: ; preds = %entry
|
||||
; CHECK: bb2:
|
||||
|
@ -441,15 +399,11 @@ bb2: ; preds = %entry
|
|||
|
||||
call void @capture32(i32* %y)
|
||||
ret void
|
||||
; CHECK: ret void
|
||||
; CHECK-NEXT: Alive: <y>
|
||||
|
||||
bb3: ; preds = %entry
|
||||
; CHECK: bb3:
|
||||
; CHECK-NEXT: Alive: <>
|
||||
ret void
|
||||
; CHECK: ret void
|
||||
; CHECK-NEXT: Alive: <>
|
||||
}
|
||||
|
||||
define void @merge3_noend(i1 %d) {
|
||||
|
@ -467,8 +421,6 @@ entry:
|
|||
|
||||
call void @capture32(i32* %x)
|
||||
br i1 %d, label %bb2, label %bb3
|
||||
; CHECK: br i1 %d, label %bb2, label %bb3
|
||||
; CHECK-NEXT: Alive: <x>
|
||||
|
||||
bb2: ; preds = %entry
|
||||
; CHECK: bb2:
|
||||
|
@ -483,15 +435,11 @@ bb2: ; preds = %entry
|
|||
|
||||
call void @capture32(i32* %y)
|
||||
ret void
|
||||
; CHECK: ret void
|
||||
; CHECK-NEXT: Alive: <y>
|
||||
|
||||
bb3: ; preds = %entry
|
||||
; CHECK: bb3:
|
||||
; CHECK-NEXT: Alive: <x>
|
||||
ret void
|
||||
; CHECK: ret void
|
||||
; CHECK-NEXT: Alive: <x>
|
||||
}
|
||||
|
||||
define void @nomerge4_nostart(i1 %d) {
|
||||
|
@ -509,8 +457,6 @@ entry:
|
|||
; CHECK-NEXT: Alive: <x>
|
||||
|
||||
br i1 %d, label %bb2, label %bb3
|
||||
; CHECK: br i1 %d, label %bb2, label %bb3
|
||||
; CHECK-NEXT: Alive: <x>
|
||||
|
||||
bb2: ; preds = %entry
|
||||
; CHECK: bb2:
|
||||
|
@ -521,15 +467,11 @@ bb2: ; preds = %entry
|
|||
|
||||
call void @capture32(i32* %y)
|
||||
ret void
|
||||
; CHECK: ret void
|
||||
; CHECK-NEXT: Alive: <x y>
|
||||
|
||||
bb3: ; preds = %entry
|
||||
; CHECK: bb3:
|
||||
; CHECK-NEXT: Alive: <x>
|
||||
ret void
|
||||
; CHECK: ret void
|
||||
; CHECK-NEXT: Alive: <x>
|
||||
}
|
||||
|
||||
define void @array_merge() {
|
||||
|
@ -582,8 +524,6 @@ entry:
|
|||
; CHECK-NEXT: Alive: <>
|
||||
|
||||
ret void
|
||||
; CHECK: ret void
|
||||
; CHECK-NEXT: Alive: <>
|
||||
}
|
||||
|
||||
define void @myCall_pr15707() {
|
||||
|
@ -612,8 +552,6 @@ entry:
|
|||
call void @capture8(i8* %buf1)
|
||||
call void @capture8(i8* %buf2)
|
||||
ret void
|
||||
; CHECK: ret void
|
||||
; CHECK-NEXT: Alive: <buf1 buf2>
|
||||
}
|
||||
|
||||
define void @bad_range() {
|
||||
|
@ -646,8 +584,6 @@ entry:
|
|||
; CHECK-NEXT: Alive: <A.i1 B.i2>
|
||||
|
||||
br label %block2
|
||||
; CHECK: br label %block2
|
||||
; CHECK-NEXT: Alive: <A.i1 B.i2>
|
||||
|
||||
block2: ; preds = %entry
|
||||
; CHECK: block2:
|
||||
|
@ -655,8 +591,6 @@ block2: ; preds = %entry
|
|||
call void @capture100x32([100 x i32]* %A.i)
|
||||
call void @capture100x32([100 x i32]* %B.i)
|
||||
ret void
|
||||
; CHECK: ret void
|
||||
; CHECK-NEXT: Alive: <A.i1 B.i2>
|
||||
}
|
||||
|
||||
%struct.Klass = type { i32, i32 }
|
||||
|
@ -691,8 +625,6 @@ entry:
|
|||
; CHECK-NEXT: Alive: <>
|
||||
|
||||
ret i32 %z3
|
||||
; CHECK: ret i32 %z3
|
||||
; CHECK-NEXT: Alive: <>
|
||||
}
|
||||
|
||||
define void @end_loop() {
|
||||
|
@ -706,8 +638,6 @@ entry:
|
|||
; CHECK-NEXT: Alive: <x>
|
||||
|
||||
br label %l2
|
||||
; CHECK: br label %l2
|
||||
; CHECK-NEXT: Alive: <x>
|
||||
|
||||
l2: ; preds = %l2, %entry
|
||||
; CHECK: l2:
|
||||
|
@ -719,8 +649,6 @@ l2: ; preds = %l2, %entry
|
|||
; CHECK-NEXT: Alive: <>
|
||||
|
||||
br label %l2
|
||||
; CHECK: br label %l2
|
||||
; CHECK-NEXT: Alive: <>
|
||||
}
|
||||
|
||||
define void @start_loop() {
|
||||
|
@ -735,8 +663,6 @@ entry:
|
|||
; CHECK-NEXT: Alive: <x>
|
||||
|
||||
br label %l2
|
||||
; CHECK: br label %l2
|
||||
; CHECK-NEXT: Alive: <x>
|
||||
|
||||
l2: ; preds = %l2, %entry
|
||||
; CHECK: l2:
|
||||
|
@ -756,8 +682,6 @@ l2: ; preds = %l2, %entry
|
|||
|
||||
call void @capture8(i8* %x)
|
||||
br label %l2
|
||||
; CHECK: br label %l2
|
||||
; CHECK-NEXT: Alive: <x>
|
||||
}
|
||||
|
||||
define void @if_must(i1 %a) {
|
||||
|
@ -769,8 +693,6 @@ entry:
|
|||
%y = alloca i8, align 4
|
||||
|
||||
br i1 %a, label %if.then, label %if.else
|
||||
; CHECK: br i1 %a
|
||||
; CHECK-NEXT: Alive: <>
|
||||
|
||||
if.then:
|
||||
; CHECK: if.then:
|
||||
|
@ -780,8 +702,6 @@ if.then:
|
|||
; CHECK-NEXT: Alive: <y>
|
||||
|
||||
br label %if.end
|
||||
; CHECK: br label %if.end
|
||||
; CHECK-NEXT: Alive: <y>
|
||||
|
||||
if.else:
|
||||
; CHECK: if.else:
|
||||
|
@ -795,8 +715,6 @@ if.else:
|
|||
; CHECK-NEXT: Alive: <x y>
|
||||
|
||||
br label %if.end
|
||||
; CHECK: br label %if.end
|
||||
; CHECK-NEXT: Alive: <x y>
|
||||
|
||||
if.end:
|
||||
; CHECK: if.end:
|
||||
|
@ -804,9 +722,6 @@ if.end:
|
|||
; MUST-NEXT: Alive: <y>
|
||||
|
||||
ret void
|
||||
; CHECK: ret void
|
||||
; MAY-NEXT: Alive: <x y>
|
||||
; MUST-NEXT: Alive: <y>
|
||||
}
|
||||
|
||||
declare void @llvm.lifetime.start.p0i8(i64, i8* nocapture)
|
||||
|
|
Loading…
Reference in New Issue