Hello everyone !<br><br clear="all">I am trying to determine for certain Load instructions from my pass their corresponding Alloca instructions (that can be in other previous blocks). The chain can be something like : `TargetLoad(var) -> other stores/loads that use var (or dependencies on var) -> alloca(var).` , linked on several basic blocks. Do you know how can I do it?<br>
<br>I tried to use the methods from DependenceAnalysis and MemoryDependenceAnalysis, but the results were not correct. For instance, `MemoryDependenceAnalysis::getDependency` should be good with option "Def", but works only for stores, not for loads. Also I have a segfault when trying to use `MemoryDependenceAnalysis::getNonLocalPointerDependency` or `MemoryDependenceAnalysis::getPointerDependencyFrom` . When I try to check my result using MemDepResult::getDef(), the result for Load instructions is the same instruction ! So its depending on itself, that being weird since it is using a variable that is previously defined in the code. <br>
<br>I also was no able to use DependenceAnalysis::depends() or getSrc() etc.<br><br>The alternative of making the intersection for identifying common parts between all the variables used by target_load_instructions and all the allocated variables is not an option. Because there might be something like : `alloca(a) ... c=a*b+4 .... load(c)`.<br>
<br>Thank you for any suggestion !<br><br>