aboutsummaryrefslogtreecommitdiffstats
path: root/lib/Transforms/IPO
diff options
context:
space:
mode:
authorDuncan Sands <baldrick@free.fr>2008-12-29 20:51:17 +0000
committerDuncan Sands <baldrick@free.fr>2008-12-29 20:51:17 +0000
commitf07c55c09393460be0d81a6a8cbe9f8d4fcaf83a (patch)
tree4d985be2fbb48559262ee194fa6dc90c11d28739 /lib/Transforms/IPO
parentfc18915074ac21e6cdad57580ade6ffbfdc7f4c5 (diff)
downloadexternal_llvm-f07c55c09393460be0d81a6a8cbe9f8d4fcaf83a.zip
external_llvm-f07c55c09393460be0d81a6a8cbe9f8d4fcaf83a.tar.gz
external_llvm-f07c55c09393460be0d81a6a8cbe9f8d4fcaf83a.tar.bz2
Experiments show that looking through phi nodes
and select instructions doesn't buy anything here except extra complexity: the only difference in the entire testsuite was that a readonly function became readnone in MiBench/consumer-typeset. Add a comment about this. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61478 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Transforms/IPO')
-rw-r--r--lib/Transforms/IPO/AddReadAttrs.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/lib/Transforms/IPO/AddReadAttrs.cpp b/lib/Transforms/IPO/AddReadAttrs.cpp
index 2835d5e..96c1427 100644
--- a/lib/Transforms/IPO/AddReadAttrs.cpp
+++ b/lib/Transforms/IPO/AddReadAttrs.cpp
@@ -64,6 +64,8 @@ bool AddReadAttrs::PointsToLocalMemory(Value *V) {
// A global constant counts as local memory for our purposes.
if (GlobalVariable *GV = dyn_cast<GlobalVariable>(V))
return GV->isConstant();
+ // Could look through phi nodes and selects here, but it doesn't seem
+ // to be useful in practice.
return false;
}