search for: reversedominancefrontier

Displaying 4 results from an estimated 4 matches for "reversedominancefrontier".

2015 Jun 29
2
[LLVMdev] Inferring dependencies in phi instructions
...t; >>Also, I feel like this should be a recurring problem. Could you point me to >> any code example that identifies all dependencies (control and data) for phi >> instructions? > > You won’t have any of this problems if you build dominance frontiers in the > reverse CFG (ReverseDominanceFrontiers). > You actually don't even need reverse dominance frontiers, you can do it with a post-dominator tree.
2015 Jun 29
3
[LLVMdev] Inferring dependencies in phi instructions
...onversion" which transforms control dependencies to data dependencies; it is discussed in the Allen and Kennedy book ("Optimizing Compilers for Modern Architectures" in Chapter 6 or 7, I think). If you need to find control dependencies, you can find them easily using LLVM's ReverseDominanceFrontier pass. Regards, John Criswell > What is the problem with using phi-functions in DFG? Yes they require more > work to find out what they depend on. > > Kind regards, > Evgeny Astigeevich > > -----Original Message----- > From: llvmdev-bounces at cs.uiuc.edu [mailto:llvmdev-b...
2015 Jun 29
2
[LLVMdev] Inferring dependencies in phi instructions
On Jun 29, 2015 3:16 AM, "Evgeny Astigeevich" <evgeny.astigeevich at arm.com> wrote: > > Hi Anirudh, > > 'x' has a control dependency on 'y' because the value assigned to 'x' > depends on a path selected. This dependency can be converted into a data > dependency by means of a 'select' instruction because the control flow is >
2015 Jun 29
3
[LLVMdev] Inferring dependencies in phi instructions
I am trying to infer data dependencies using LLVM's def-use chains and I am having trouble dealing with 'phi' instructions. Specifically, If I am given the code snippet: int foo() { int y = 1; int x; if (y) { x = 2; } else { x = 3; } return x; } Here, x has a data dependence on y (not control because x is assigned in both halves), but LLVM expresses 'x'