summaryrefslogtreecommitdiffstats
path: root/clang/lib/StaticAnalyzer/Checkers/CStringSyntaxChecker.cpp
diff options
context:
space:
mode:
authorHal Finkel <hfinkel@anl.gov>2013-04-10 22:05:25 +0000
committerHal Finkel <hfinkel@anl.gov>2013-04-10 22:05:25 +0000
commit95081bff72741a490e1e8e421eda9867f2c7af17 (patch)
tree54c454c31d2a0827a60b83e10bd2da9095b1a3e1 /clang/lib/StaticAnalyzer/Checkers/CStringSyntaxChecker.cpp
parent5be12a14629265331c223d83813e3b5d663d1c25 (diff)
downloadbcm5719-llvm-95081bff72741a490e1e8e421eda9867f2c7af17.tar.gz
bcm5719-llvm-95081bff72741a490e1e8e421eda9867f2c7af17.zip
Manually remove successors in if conversion when CopyAndPredicateBlock is used
In the simple and triangle if-conversion cases, when CopyAndPredicateBlock is used because the to-be-predicated block has other predecessors, we need to explicitly remove the old copied block from the successors list. Normally if conversion relies on TII->AnalyzeBranch combined with BB->CorrectExtraCFGEdges to cleanup the successors list, but if the predicated block contained an un-analyzable branch (such as a now-predicated return), then this will fail. These extra successors were causing a problem on PPC because it was causing later passes (such as PPCEarlyReturm) to leave dead return-only basic blocks in the code. llvm-svn: 179227
Diffstat (limited to 'clang/lib/StaticAnalyzer/Checkers/CStringSyntaxChecker.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud