diff options
author | Jakub Kuderski <kubakuderski@gmail.com> | 2019-09-26 15:20:17 +0000 |
---|---|---|
committer | Jakub Kuderski <kubakuderski@gmail.com> | 2019-09-26 15:20:17 +0000 |
commit | d98cb81cd11c8a4d7017c4820cae202d31d757bb (patch) | |
tree | d24d56af01907b505c50c0e1bcff70baa70a6ab1 /lldb/packages/Python/lldbsuite/test/python_api | |
parent | df3af00421a527c7124858810b1285aeaadbf9c3 (diff) | |
download | bcm5719-llvm-d98cb81cd11c8a4d7017c4820cae202d31d757bb.tar.gz bcm5719-llvm-d98cb81cd11c8a4d7017c4820cae202d31d757bb.zip |
Handle successor's PHI node correctly when flattening CFG merges two if-regions
Summary:
FlattenCFG merges two 'if' basicblocks by inserting one basicblock
to another basicblock. The inserted basicblock can have a successor
that contains a PHI node whoes incoming basicblock is the inserted
basicblock. Since the existing code does not handle it, it becomes
a badref.
if (cond1)
statement
if (cond2)
statement
successor - contains PHI node whose predecessor is cond2
-->
if (cond1 || cond2)
statement
(BB for cond2 was deleted)
successor - contains PHI node whose predecessor is cond2 --> bad ref!
Author: Jaebaek Seo
Reviewers: asbirlea, kuhar, tstellar, chandlerc, davide, dexonsmith
Reviewed By: kuhar
Subscribers: hiraditya, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D68032
llvm-svn: 372989
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test/python_api')
0 files changed, 0 insertions, 0 deletions