Displaying 2 results from an estimated 2 matches for "isblockreachable".
2017 Mar 03
4
Optionally using value numbering in Simplify*
...ny opinion on whether it's worth doing.
VNImpl would probably look something like:
class VNImpl{
// return true if A and B are equivalent
bool areEquivalent(Value *A, Value *B);
// find a value that dominates A that is equivalent to it
Value *findDominatingEquivalent(Value *A);
// obvious
bool isBlockReachable(BasicBock *BB);
}
Thoughts on whether to do this (or alternatives), appreciated.
[1] I'm also unsure if i should do something about the number of arguments
these functions take, which would be 9 or 10 in a lot of cases now, since
some take 8 or 9. It seems like it may be time to just have a...
2017 Mar 03
2
Optionally using value numbering in Simplify*
...y opinion on whether it's worth doing.
VNImpl would probably look something like:
class VNImpl{
// return true if A and B are equivalent
bool areEquivalent(Value *A, Value *B);
// find a value that dominates A that is equivalent to it
Value *findDominatingEquivalent(Value *A);
// obviousn
bool isBlockReachable(BasicBock *BB);
}
I'm not sure how you expect InstructionSimplify to use
findDominatingEquivalent.
Most places it uses strict equality and doesn't care. In all of those cases
newgvn has a single unique (but not always dominating) leader it could give
and we could call it findEquivalent...