diff options
author | James Molloy <james.molloy@arm.com> | 2016-09-01 07:45:25 +0000 |
---|---|---|
committer | James Molloy <james.molloy@arm.com> | 2016-09-01 07:45:25 +0000 |
commit | e656642295cb7730e9b7d511ffc0b2402add3df7 (patch) | |
tree | a84460eeeb1ab88fff20a3b5c002a196b5089592 /lldb/packages/Python/lldbsuite/test/expression_command/anonymous-struct/main.cpp | |
parent | 2bbdeacf318bd24280d4943ce2311961febe17e3 (diff) | |
download | bcm5719-llvm-e656642295cb7730e9b7d511ffc0b2402add3df7.tar.gz bcm5719-llvm-e656642295cb7730e9b7d511ffc0b2402add3df7.zip |
[SimplifyCFG] Improve FoldValueComparisonIntoPredecessors to handle more cases
A very important case is not handled here: multiple arcs to a single block with a PHI. Consider:
a:
%1 = icmp %b, 1
br %1, label %c, label %e
c:
%2 = icmp %b, 2
br %2, label %d, label %e
d:
br %e
e:
phi [0, %a], [1, %c], [2, %d]
FoldValueComparisonIntoPredecessors will refuse to fold this, as it doesn't know how to deal with two arcs to a common destination with different PHI values. The answer is obvious - just split all conflicting arcs.
llvm-svn: 280338
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test/expression_command/anonymous-struct/main.cpp')
0 files changed, 0 insertions, 0 deletions