mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-04-09 16:45:03 +00:00
refactor type expressions and cache operator*'s result
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107964 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
517e124d53
commit
e07c3c46d0
@ -246,22 +246,25 @@ protected:
|
||||
typename GraphT::NodeType* NewBBSucc = *GraphT::child_begin(NewBB);
|
||||
|
||||
std::vector<typename GraphT::NodeType*> PredBlocks;
|
||||
for (typename GraphTraits<Inverse<N> >::ChildIteratorType PI =
|
||||
GraphTraits<Inverse<N> >::child_begin(NewBB),
|
||||
PE = GraphTraits<Inverse<N> >::child_end(NewBB); PI != PE; ++PI)
|
||||
typedef GraphTraits<Inverse<N> > InvTraits;
|
||||
for (typename InvTraits::ChildIteratorType PI =
|
||||
InvTraits::child_begin(NewBB),
|
||||
PE = InvTraits::child_end(NewBB); PI != PE; ++PI)
|
||||
PredBlocks.push_back(*PI);
|
||||
|
||||
assert(!PredBlocks.empty() && "No predblocks??");
|
||||
assert(!PredBlocks.empty() && "No predblocks?");
|
||||
|
||||
bool NewBBDominatesNewBBSucc = true;
|
||||
for (typename GraphTraits<Inverse<N> >::ChildIteratorType PI =
|
||||
GraphTraits<Inverse<N> >::child_begin(NewBBSucc),
|
||||
E = GraphTraits<Inverse<N> >::child_end(NewBBSucc); PI != E; ++PI)
|
||||
if (*PI != NewBB && !DT.dominates(NewBBSucc, *PI) &&
|
||||
DT.isReachableFromEntry(*PI)) {
|
||||
for (typename InvTraits::ChildIteratorType PI =
|
||||
InvTraits::child_begin(NewBBSucc),
|
||||
E = InvTraits::child_end(NewBBSucc); PI != E; ++PI) {
|
||||
typename InvTraits::NodeType *N = *PI;
|
||||
if (N != NewBB && !DT.dominates(NewBBSucc, N) &&
|
||||
DT.isReachableFromEntry(N)) {
|
||||
NewBBDominatesNewBBSucc = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
// Find NewBB's immediate dominator and create new dominator tree node for
|
||||
// NewBB.
|
||||
|
Loading…
x
Reference in New Issue
Block a user