summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen/CodeGenModule.cpp
diff options
context:
space:
mode:
authorEli Friedman <eli.friedman@gmail.com>2009-08-16 04:23:49 +0000
committerEli Friedman <eli.friedman@gmail.com>2009-08-16 04:23:49 +0000
commitd56fca47087cd0969331d97b35ba05ed274412d1 (patch)
tree8467342fde63a20964720dfe44e1169f3e0bd3f2 /clang/lib/CodeGen/CodeGenModule.cpp
parente80ccac2cbd5536246de00814f309d73ad121df4 (diff)
downloadbcm5719-llvm-d56fca47087cd0969331d97b35ba05ed274412d1.tar.gz
bcm5719-llvm-d56fca47087cd0969331d97b35ba05ed274412d1.zip
Fix for PR3016: detect the tricky case, where there are
unfoldable references to a PHI node in the block being folded, and disable the transformation in that case. The correct transformation of such PHI nodes depends on whether BB dominates Succ, and dominance is expensive to compute here. (Alternatively, it's possible to check whether any uses are live, but that's also essentially a dominance calculation. Another alternative is to use reg2mem, but it probably isn't a good idea to use that in simplifycfg.) Also, remove some incorrect code from CanPropagatePredecessorsForPHIs which is made unnecessary with this patch: it didn't consider the case where a PHI node in BB has multiple uses. llvm-svn: 79174
Diffstat (limited to 'clang/lib/CodeGen/CodeGenModule.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud