summaryrefslogtreecommitdiff
path: root/test/Transforms/LICM/2003-12-13-VolatilePromote.ll
blob: 66102992a2ebed2c8342ee8e238d8c88914ac425 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
; RUN: llvm-as < %s | 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
}