xref: /llvm-project/llvm/test/Transforms/SimpleLoopUnswitch/pr58719.ll (revision 3053a323c734fa229ba47090b1fb59633ab1e7c6)
1; RUN: opt -passes="require<globals-aa>,cgscc(instcombine),function(loop-mssa(loop-simplifycfg)),recompute-globalsaa,function(loop-mssa(simple-loop-unswitch<nontrivial>),print<memoryssa>)" -disable-output < %s
2
3; Check that don't crash if the Alias Analysis returns better results than
4; before when cloning loop's memoryssa.
5define void @f(ptr %p) {
6entry:
7  %0 = load i16, ptr %p, align 1
8  ret void
9}
10
11define void @g(i1 %tobool.not) {
12entry:
13  br label %for.cond
14
15for.cond:                                         ; preds = %if.then, %for.cond, %entry
16  br i1 %tobool.not, label %if.then, label %for.cond
17
18if.then:                                          ; preds = %for.cond
19  call void @f()
20  br label %for.cond
21}
22