brintos

brintos / llvm-project-archived public Read only

0
0
Text · 866 B · cb76944 Raw
32 lines · plain
1; RUN: opt -aa-pipeline=basic-aa -passes='print<memoryssa>,verify<memoryssa>' -disable-output < %s 2>&1 | FileCheck %s2;3; Makes sure we have a sane model if both successors of some block is the same4; block.5 6define i32 @foo(i1 %a) {7entry:8  %0 = alloca i32, align 49; CHECK: 1 = MemoryDef(liveOnEntry)10; CHECK-NEXT: store i32 411  store i32 4, ptr %012  br i1 %a, label %Loop.Body, label %Loop.End13 14Loop.Body:15; CHECK: 4 = MemoryPhi({entry,1},{Loop.End,3})16; CHECK-NEXT: 2 = MemoryDef(4)17; CHECK-NEXT: store i32 518  store i32 5, ptr %0, align 419  br i1 %a, label %Loop.End, label %Loop.End ; WhyDoWeEvenHaveThatLever.gif20 21Loop.End:22; CHECK: 3 = MemoryPhi({entry,1},{Loop.Body,2},{Loop.Body,2})23; CHECK-NEXT: MemoryUse(3)24; CHECK-NEXT: %1 = load25  %1 = load i32, ptr %0, align 426  %2 = icmp eq i32 5, %127  br i1 %2, label %Ret, label %Loop.Body28 29Ret:30  ret i32 %131}32