summaryrefslogtreecommitdiff
path: root/test/Transforms/LICM/2003-12-13-VolatilePromote.ll
blob: 916a6e383334106e8a1e20f11a5376e7754366fa (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
; RUN: llvm-upgrade < %s | llvm-as | opt -licm | llvm-dis | %prcontext volatile 1 | grep Loop

%X = global int 7

void %testfunc(int %i) {
        br label %Loop

Loop:
        %x = volatile load int* %X  ; Should not promote this to a register
        %x2 = add int %x, 1
        store int %x2, int* %X
        br bool true, label %Out, label %Loop

Out:
        ret void
}