llvm/test/Transforms/FunctionAttrs/2010-10-30-volatile.ll
Duncan Sands ad6f541840 If a function does a volatile load from a global constant, do not
consider it to be readonly.  In fact, don't even consider it to be
readonly if it does a volatile load from an AllocaInst either (it
is debatable as to whether readonly would be correct or not in this
case; play safe for the moment).  This fixes PR8279.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117783 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-30 12:59:44 +00:00

11 lines
168 B
LLVM

; RUN: opt < %s -functionattrs -S | FileCheck %s
; PR8279
@g = constant i32 1
define void @foo() {
; CHECK: void @foo() {
%tmp = volatile load i32* @g
ret void
}