1 ; RUN: opt -passes='print<memoryssa>' -disable-output %s 2>&1 | FileCheck %s
3 ; Note: if @foo is modelled as a MemoryDef, this test will assert with -loop-rotate, due to MemorySSA not
4 ; being preserved when moving instructions that may not read from or write to memory.
8 define void @main(i1 %arg) {
12 for.cond120: ; preds = %for.body127, %entry
13 call void @foo(i1 %arg)
14 br i1 %arg, label %for.body127, label %for.cond.cleanup126
16 for.cond.cleanup126: ; preds = %for.cond120
19 for.body127: ; preds = %for.cond120
20 %0 = load ptr, ptr undef, align 1
24 declare void @foo() readnone