similar to: [LLVMdev] Insert all (including single predecessor) phi nodes

Displaying 20 results from an estimated 5000 matches similar to: "[LLVMdev] Insert all (including single predecessor) phi nodes"

2011 May 04
0
[LLVMdev] BasicBlock Cloning
On 5/3/11 4:14 PM, tarun agrawal wrote: > Hi > > I have clone a basic block using CloneBasicBlock function but it does > not clone the predecessor with it. I am not able to figure out, how to > set the predecessor of the cloned basic block. LLVM's CFG is explicitly maintained by the terminator instructions within each basic block. In order to change the CFG, you have to
2011 Aug 03
0
[LLVMdev] Building LLVM on Solaris/Sparc
On Apr 5, 2011, at 10:53 AM, Tarun Pondicherry wrote: > Hi, > > I'm trying to build llvm on a Solaris/Sparc machine. I get many undefined symbols during the link phase of opt. The link command being run is below. > > It is identical to the link command that gets run and works on an x86 host. > > Thanks, > Tarun > > g++
2011 May 03
2
[LLVMdev] BasicBlock Cloning
Hi I have clone a basic block using CloneBasicBlock function but it does not clone the predecessor with it. I am not able to figure out, how to set the predecessor of the cloned basic block. Tarun -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20110504/74cdc609/attachment.html>
2011 Apr 17
0
[LLVMdev] Regarding BasicBlock Cloning
On 4/16/11 7:01 PM, tarun agrawal wrote: > The clone llvm:CloneBasicBlock copies the phi function in the > replicated basic block from the original basic block. After you clone the basic block, you can probably replace the phi instruction with another value of your choice. If you're adding variables, you'll probably want to create them as allocas and use loads and stores to
2011 Aug 05
0
[LLVMdev] Building LLVM on Solaris/Sparc
I just checked my link command, and it includes the libraries you list, (among others) so I appear to be having a slightly different issue from the original poster. In fact, it looks like LLVM is compiling successfully, but clang (which I am also building) can't find any LLVM symbols. Just as a sanity check, what output files should I expect from a successful LLVM build? - Alex On Wed, Aug
2011 Apr 17
0
[LLVMdev] Regarding BasicBlock Cloning
On Sat, Apr 16, 2011 at 5:01 PM, tarun agrawal <tarun at cse.iitb.ac.in> wrote: > The clone llvm:CloneBasicBlock copies the phi function in the replicated > basic block from the original basic block. > I don't want the copy of phi in relplicated block. For now I am creating .bc > file with -O0 option so that it doesn't generate phi function in first > place. Is this a
2011 Apr 17
4
[LLVMdev] Regarding BasicBlock Cloning
The clone llvm:CloneBasicBlock copies the phi function in the replicated basic block from the original basic block. I don't want the copy of phi in relplicated block. For now I am creating .bc file with -O0 option so that it doesn't generate phi function in first place. Is this a good approach or there are some other function available for it. Tarun On Sun, Apr 17, 2011 at 5:22 AM, Eli
2011 Apr 16
0
[LLVMdev] Regarding BasicBlock Cloning
On Sat, Apr 16, 2011 at 4:32 PM, tarun agrawal <tarun at cse.iitb.ac.in> wrote: > Hi, > > I am writing a pass for constant propagation using graph restructuring ( > code duplication). I am facing following difficulties.. > > 1) I need to replicate the basic block but without phi function in the > replicated block. How can I do this. > > 2) I need to insert that
2011 Apr 05
3
[LLVMdev] Building LLVM on Solaris/Sparc
Hi, I'm trying to build llvm on a Solaris/Sparc machine. I get many undefined symbols during the link phase of opt. The link command being run is below. It is identical to the link command that gets run and works on an x86 host. Thanks, Tarun g++ -I/n/fs/scratch/tpondich/ParallelAssert/llvm-objects/include -I/n/fs/scratch/tpondich/ParallelAssert/llvm-objects/tools/opt
2011 Apr 16
3
[LLVMdev] Regarding BasicBlock Cloning
Hi, I am writing a pass for constant propagation using graph restructuring ( code duplication). I am facing following difficulties.. 1) I need to replicate the basic block but without phi function in the replicated block. How can I do this. 2) I need to insert that basic block after and before some particular basic block. Regards Tarun Agrawal -------------- next part -------------- An HTML
2011 Apr 15
1
[LLVMdev] help
Hi, We are trying to do build a pass with constant propagation and graph restructuring. We are not able to find a suitable function for basic block cloning. We have found CloneBasicBlock function but it includes the phi of the original block in the replicated block. We don't want phi of original block in the replicated basic block. Also we need to change the successor and predecessor of the
2011 Mar 12
0
[LLVMdev] problems when the llvm::ExtractCodeRegion updates the Phi nodes in successors ... is there a method to eliminate phi nodes ?
Hi, I use the llvm::ExtractCodeRegion to extract each loop into a separate function, but I have a problem when I run this on the SPEC CPU 2006 on the 401.bzip2 benchmark. First I use clang -O3 to generate optimized llvm code and then I extract some loops from the module built from blocksort.c source file. The problem is that the PHI nodes contained in the successors of the codeRepl
2008 Sep 02
0
[LLVMdev] CloneBasicBlock and Unnamed Temporaries
Hi, I was trying to use CloneBasicBlock() (in Cloning.h) to clone basic blocks in one of my transform passes. For example, when I have a basic block like: bb1: ; preds = %bb load i32* %i, align 4 ; <i32>:11 [#uses=2] load i32* %n_addr, align 4 ; <i32>:12 [#uses=2] icmp slt i32 %11, %12 ; <i1>:13 [#uses=2] cloning it gives something like: bb1_clone: ; preds = %entry
2020 Mar 09
3
RFC: Making a common successor/predecessor interface
Hi, As part of an ongoing work to extend the GraphDiff (this models a CFG view), I came across the need to have a common interface for accessing successors/predecessors in various IR units, such that a type such as `typename NodeT::succ_iterator` could be used in templated code. In particular, the need arose for BasicBlocks, MachineBasicBlocks, VPBlockBase and clang::CFGBlock. The least invasive
2015 Jul 23
1
[LLVMdev] Is loop header required to have at least one predecessor outside the loop?
Hi, I was reading some loop related code and I don’t quite understand an assertion in LoopBase<BlockT, LoopT>::getLoopPredecessor(). /// getLoopPredecessor - If the given loop's header has exactly one unique /// predecessor outside the loop, return it. Otherwise return null. /// This is less strict that the loop "preheader" concept, which requires /// the predecessor to have
2016 Mar 04
2
PHI node to different register class vs TailDuplication
Hi, We're having an issue with TailDuplication in our out-of-tree target and it's this PHI-node that seems to be the cause of the trouble: %vreg2<def> = PHI %vreg0, <BB#2>, %vreg1, <BB#3>; rN:%vreg2 aNlh_0_7:%vreg0 aNlh_rN:%vreg1 Note that the defined %vreg2 has register class "rN" while the read %vreg0 has register class "aNlh_0_7".
2011 Apr 17
0
[LLVMdev] Error compiling ConstantProp.cpp
On Sat, Apr 16, 2011 at 5:27 PM, tarun agrawal <tarun at cse.iitb.ac.in> wrote: > I am using llvm-2.6  and the ConstProp.cpp file is > http://llvm.org/docs/doxygen/html/ConstantProp_8cpp_source.html > > and the exact error message is: > > llvm[0]: Compiling ConstantProp.cpp for Release build  (PIC) >
2011 May 04
2
[LLVMdev] Trace Use-Def chain
Thanks John, I know how to iterate through def-use chains and I also have realized the need for an algorithm to do the work. But the algorithm I am able to figure out is not linear in time. It wold be a great help if someone suggest me a way to get all basic-block along all path between two instruction. On Wed, May 4, 2011 at 7:00 AM, John Criswell <criswell at illinois.edu> wrote: >
2004 Jul 08
0
[LLVMdev] PHI nodes in machine code
On Thu, Jul 08, 2004 at 08:06:29PM +0400, Vladimir Prus wrote: > Could anybody quickly explain why PHI nodes instructions are necessary > in machine code? And why the code in LiveVariables.cpp which looks at > those PHI nodes (line 249 and below) is necessary. LLVM Machine code is in SSA. Let's say you want to do r = a cond b But doing this: if (a cond b) then r = 1
2011 Apr 17
2
[LLVMdev] Error compiling ConstantProp.cpp
I am using llvm-2.6 and the ConstProp.cpp file is http://llvm.org/docs/doxygen/html/ConstantProp_8cpp_source.html and the exact error message is: llvm[0]: Compiling ConstantProp.cpp for Release build (PIC) /home/tarun/Desktop/compiler/LLVM/llvm-2.6/include/llvm/Analysis/ConstantFolding.h: In member function ‘virtual bool<unnamed>::ConstantPropagation::runOnFunction(llvm::Function&)’: