Suppose I have in CFG (among others) two base blocks A and B with an edge from A to B. I need to do the following:
- get a set S of live values through this edge (this may be an excessive approximation, i.e. it may contain values that are not alive anymore)
- match each of them with a different value (S-> S ')
- replace - in B and its successors - all types of use of values in S with displayed values (S ')
Does LLVM provide an easy way to make the first and third points (because I seem to be unable to find it)? If not, do you have any suggestions on how to do this?
Note: cross-pointer on the LLVM mailing list
CAFxX source share