If a function does a volatile load from a global constant, do not
authorDuncan Sands <baldrick@free.fr>
Sat, 30 Oct 2010 12:59:44 +0000 (12:59 +0000)
committerDuncan Sands <baldrick@free.fr>
Sat, 30 Oct 2010 12:59:44 +0000 (12:59 +0000)
commitad6f541840015690ad1483821eb9d8e5f7e50442
tree4742640225202bf68a05e255034fe1cc8ced3166
parent4aaf59d8ed5e565632314a1eeb7cf5a1fe1fdbe0
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
lib/Transforms/IPO/FunctionAttrs.cpp
test/Transforms/FunctionAttrs/2010-10-30-volatile.ll [new file with mode: 0644]