[MemorySSA] Fix unit tests broken by D26704

Summary:
D26704 fixed the non-determinism in codegen by sorting basic blocks before
iteration so as to have a defined iteration order. As a result we need to fix
the names (numbers) of the temporaries in the following unit tests:
  test/Transforms/Util/MemorySSA/multi-edges.ll
  test/Transforms/Util/MemorySSA/multiple-backedges-hal.ll

Reviewers: dberlin, david2050, mgrang

Subscribers: llvm-commits

Differential Revision: https://reviews.llvm.org/D26926

llvm-svn: 287575
This commit is contained in:
Mandeep Singh Grang 2016-11-21 20:39:08 +00:00
parent 40a5040cd8
commit 17e3f9b79d
2 changed files with 9 additions and 9 deletions

View File

@ -13,15 +13,15 @@ entry:
br i1 %a, label %Loop.Body, label %Loop.End br i1 %a, label %Loop.Body, label %Loop.End
Loop.Body: Loop.Body:
; CHECK: 4 = MemoryPhi({entry,1},{Loop.End,3}) ; CHECK: 3 = MemoryPhi({entry,1},{Loop.End,4})
; CHECK-NEXT: 2 = MemoryDef(4) ; CHECK-NEXT: 2 = MemoryDef(3)
; CHECK-NEXT: store i32 5 ; CHECK-NEXT: store i32 5
store i32 5, i32* %0, align 4 store i32 5, i32* %0, align 4
br i1 %a, label %Loop.End, label %Loop.End ; WhyDoWeEvenHaveThatLever.gif br i1 %a, label %Loop.End, label %Loop.End ; WhyDoWeEvenHaveThatLever.gif
Loop.End: Loop.End:
; CHECK: 3 = MemoryPhi({entry,1},{Loop.Body,2},{Loop.Body,2}) ; CHECK: 4 = MemoryPhi({entry,1},{Loop.Body,2},{Loop.Body,2})
; CHECK-NEXT: MemoryUse(3) ; CHECK-NEXT: MemoryUse(4)
; CHECK-NEXT: %1 = load ; CHECK-NEXT: %1 = load
%1 = load i32, i32* %0, align 4 %1 = load i32, i32* %0, align 4
%2 = icmp eq i32 5, %1 %2 = icmp eq i32 5, %1

View File

@ -42,22 +42,22 @@ Entry:
br label %OuterLoop br label %OuterLoop
OuterLoop: OuterLoop:
; CHECK: 5 = MemoryPhi({Entry,1},{InnerLoop.Tail,3}) ; CHECK: 4 = MemoryPhi({Entry,1},{InnerLoop.Tail,3})
; CHECK-NEXT: %Val.Outer = ; CHECK-NEXT: %Val.Outer =
%Val.Outer = call i8 @getValue() %Val.Outer = call i8 @getValue()
; CHECK: 2 = MemoryDef(5) ; CHECK: 2 = MemoryDef(4)
; CHECK-NEXT: store i8 %Val.Outer ; CHECK-NEXT: store i8 %Val.Outer
store i8 %Val.Outer, i8* %Arg store i8 %Val.Outer, i8* %Arg
call void @doThingWithoutReading() call void @doThingWithoutReading()
br label %InnerLoop br label %InnerLoop
InnerLoop: InnerLoop:
; CHECK: 4 = MemoryPhi({OuterLoop,2},{InnerLoop,3}) ; CHECK: 5 = MemoryPhi({OuterLoop,2},{InnerLoop,3})
; CHECK-NEXT: ; MemoryUse(4) ; CHECK-NEXT: ; MemoryUse(5)
; CHECK-NEXT: %StartingAccess = load ; CHECK-NEXT: %StartingAccess = load
%StartingAccess = load i8, i8* %Arg, align 4 %StartingAccess = load i8, i8* %Arg, align 4
%Val.Inner = call i8 @getValue() %Val.Inner = call i8 @getValue()
; CHECK: 3 = MemoryDef(4) ; CHECK: 3 = MemoryDef(5)
; CHECK-NEXT: store i8 %Val.Inner ; CHECK-NEXT: store i8 %Val.Inner
store i8 %Val.Inner, i8* %Arg store i8 %Val.Inner, i8* %Arg
call void @doThingWithoutReading() call void @doThingWithoutReading()