llvm/test/Transforms/LICM/2003-12-13-VolatilePromote.ll
Tanya Lattner 3a4c856323 Remove llvm-upgrade and update tests.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48527 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-19 03:47:13 +00:00

17 lines
425 B
LLVM

; RUN: llvm-as < %s | opt -licm | llvm-dis | %prcontext volatile 1 | grep Loop
@X = global i32 7 ; <i32*> [#uses=2]
define void @testfunc(i32 %i) {
br label %Loop
Loop: ; preds = %Loop, %0
; Should not promote this to a register
%x = volatile load i32* @X ; <i32> [#uses=1]
%x2 = add i32 %x, 1 ; <i32> [#uses=1]
store i32 %x2, i32* @X
br i1 true, label %Out, label %Loop
Out: ; preds = %Loop
ret void
}