xref: /llvm-project/llvm/test/Transforms/IndVarSimplify/preserve-memoryssa.ll (revision 864bb84a427de367528d15270790dd152871daf2)
1; RUN: opt -S -passes=licm,indvars -verify-memoryssa < %s | FileCheck %s
2; REQUIRES: asserts
3@v_69 = external constant { i16, i16 }, align 1
4
5; CHECK-LABEL: @f()
6define void @f() {
7entry:
8  br label %for.cond26
9
10for.cond26:                                       ; preds = %for.body28, %entry
11  br i1 true, label %for.body28, label %for.cond.cleanup27
12
13for.cond.cleanup27:                               ; preds = %for.cond26
14  unreachable
15
16for.body28:                                       ; preds = %for.cond26
17  %v_69.imag = load volatile i16, ptr getelementptr inbounds ({ i16, i16 }, ptr @v_69, i32 0, i32 1), align 1
18  %.real42 = load i32, ptr undef, align 1
19  store i32 %.real42, ptr undef, align 1
20  br label %for.cond26
21}
22