diff options
author | Tobias Grosser <tobias@grosser.es> | 2014-01-29 19:05:30 +0000 |
---|---|---|
committer | Tobias Grosser <tobias@grosser.es> | 2014-01-29 19:05:30 +0000 |
commit | 28a70c543dd8112f04f46a5d00866b9df08f5d04 (patch) | |
tree | 69c846e9d7c78a6a9d98384d2710d042e514d79b /llvm/lib/CodeGen/MachineBasicBlock.cpp | |
parent | e200d58ad76474adda679d2c3c87c3863a7a15d4 (diff) | |
download | llvm-28a70c543dd8112f04f46a5d00866b9df08f5d04.zip llvm-28a70c543dd8112f04f46a5d00866b9df08f5d04.tar.gz llvm-28a70c543dd8112f04f46a5d00866b9df08f5d04.tar.bz2 |
ScopDetect: Transitively remove all children after region expansion
In rare cases, a region R which is itself not valid has an indirect child region
that is valid. When R becomes part of a valid region by expansion of another
region, then all children of R have to be erased from the set of valid regions.
This patch ensures that indirect children are erased in addition to direct
children.
Contributed-by: Armin Groesslinger <armin.groesslinger@uni-passau.de>
Tobias: I added a reduced test case and adjusted the logic of the patch to
only recurse until the first child is found.
llvm-svn: 200411
Diffstat (limited to 'llvm/lib/CodeGen/MachineBasicBlock.cpp')
0 files changed, 0 insertions, 0 deletions