similar to: [LLVMdev] inserting blocks into a Function

Displaying 20 results from an estimated 1000 matches similar to: "[LLVMdev] inserting blocks into a Function"

2005 Apr 29
0
[LLVMdev] inserting blocks into a Function
On Thu, 28 Apr 2005, Sameer D. Sahasrabuddhe wrote: > Recently wrote a pass that inserts a preheader for a loop that doesn't > have one. When I tried to run it, I ran into a problem that became > obvious in hindsight - the PHINodes need to be updated in places where > the incoming control-edge has changed. Is there anything else that can > be affected when a block is inserted
2005 Apr 29
1
[LLVMdev] inserting blocks into a Function
On Thu, Apr 28, 2005 at 11:22:26PM -0500, Chris Lattner wrote: > BasicBlock *SplitBlockPredecessors(BasicBlock *BB, const char *Suffix, > const std::vector<BasicBlock*> &Preds); > > Basically, given a BB with multiple predecessors, it inserts (and returns) > a new block, moving the predecessors in Preds to the new block and leaving
2005 Apr 29
2
[LLVMdev] about AnalysisUsage
Just noticed that quite a few passes like LoopSimplify are implemented in a single .cpp file ... this makes it impossible to specify LoopSimplify using the "addRequired" method. Was there any particular reason to do it this way? I wouldn't mind doing the splitting myself, though I am not using the CVS versions right now. Also, it would be nice to have support for some sort of a
2005 Apr 29
2
[LLVMdev] about AnalysisUsage
On Fri, Apr 29, 2005 at 08:10:17AM -0500, Chris Lattner wrote: > AU.addRequiredID(LoopSimplifyID); > > "LoopSimplifyID" is a marker that is used to identify the pass, which is > exported from the .cpp file. I'll have to declare a PassInfo* called LoopSimplifyID inside namespace llvm, in order for that to compile correctly, right? I was wondering why not simply
2005 Apr 29
0
[LLVMdev] about AnalysisUsage
On Fri, 29 Apr 2005, Sameer D. Sahasrabuddhe wrote: > Just noticed that quite a few passes like LoopSimplify are implemented > in a single .cpp file ... this makes it impossible to specify > LoopSimplify using the "addRequired" method. Was there any particular > reason to do it this way? I wouldn't mind doing the splitting myself, > though I am not using the CVS
2011 Oct 14
0
[LLVMdev] BasicBlock succ iterator
Hi I have checked all blocks, each block have a Terminator instruction and each blocks belongs to a function. I'm really confused. I guess the problem is caused by the removal of the Loop,The code is as follows: * //every block to header (except the ones in the loop), will now redirect to newblock for (pred_iterator PI = pred_begin(header); PI != pred_end(header); ++PI) {
2004 Jun 24
2
[LLVMdev] Instruction ctor: insertBefore
Hi, the insertBefore parameter, present in all constructors, is declared like this: Instruction *InsertBefore=0 any reason there's no "const" before "Instruction" ? - Volodya
2011 May 02
3
[LLVMdev] difficulty in replicating a sequence of instructions + inserting at a different location -- "instruction doesn't dominate all uses"
I am having difficulty in replicating a sequence of instructions (2+, with def-use dependencies within) and inserting them at a different location. I have tried a few different approaches (IRBuilder, new Instruction(), I->clone(), insertBefore/insertAfter,etc.), all leading to the same error msg: "Instruction doesn't dominate all uses" The DevList has a few previous
2007 Mar 07
3
[LLVMdev] use of CallInst()
To create a new CallInst I used to call the following constructor: CallInst(Value *F, const std::vector<Value*> &Par, const std::string &Name = "", Instruction *InsertBefore = 0); However, it seems as though that constructor has been removed. I assume that I'm suppossed to use the following constructor, but I can't figure out what to pass as the Args parameter
2006 Feb 07
1
onHover: can u explain me this function ?
In Sortables, we have a function onHover: onHover: function(element, dropon, overlap) { if(overlap>0.5) { Sortable.mark(dropon, ''before''); if(dropon.previousSibling != element) { var oldParentNode = element.parentNode; element.style.visibility = "hidden"; // fix gecko rendering
2008 Apr 29
0
[LLVMdev] [PATCH] use-diet for review
On Apr 29, 2008, at 1:27 AM, Gabor Greif wrote: > Hi all, > > I have reported more than enough about the space savings achieved > and the associated costs, here comes the current patch for review. > > Since this one is substantially smaller than the previous one, I did > not cut it in pieces. The front part is about headers and the rest > the .cpp and other files. Hi
2007 Mar 07
0
[LLVMdev] use of CallInst()
On Tue, 2007-03-06 at 22:44 -0600, Ryan M. Lefever wrote: > To create a new CallInst I used to call the following constructor: > > CallInst(Value *F, const std::vector<Value*> &Par, const std::string > &Name = "", Instruction *InsertBefore = 0); > > However, it seems as though that constructor has been removed. I assume > that I'm suppossed to
2009 Jan 08
2
[LLVMdev] insertAfter method Patch
Hi, I have added an insertAfter method to the ilist and Instruction classes. The methods are implemented as efficiently as the currently existing insert and insertBefore methods. The insertAfter method was created to mirror a similar method in another compiler in order to ease an ongoing port. The patch, which is very small is included as AddInsertBefore.patch. Additionally, I wrote a small test
2007 Mar 07
1
[LLVMdev] use of CallInst()
Thanks for the help Reid! I frequently look at the online doxygen, but sometimes its difficult to determine the correct replacement when a method is removed from LLVM. In this particular case, I knew which new CallInst constructor to use, I just couldn't figure out the proper syntax. At any rate, I really appreciate your help!! Reid Spencer wrote: > On Tue, 2007-03-06 at 22:44 -0600,
2018 May 24
0
LLVM Pass To Remove Dead Code In A Basic Block
> On 25 May 2018, at 01:46, Aaron via llvm-dev <llvm-dev at lists.llvm.org> wrote: > > Hi all, > > LLVM optimization pass gives an error "Terminator found in the middle of a basic block!" since basic block IR may have multiple "ret" instructions. It seems LLVM does not accept multiple return in a basic block by default. > Yes, if you’re inserting
2007 Jul 04
1
[LLVMdev] API design (and Boost and tr1)
On Monday 02 July 2007 23:24, David A. Greene wrote: > > > - Changing the API > > > a) Template it to take two iterators. This causes code size bloat. > > This seems like the right solution to me. Unless llvm is running on > extremely limited memory embedded systems, the extra code space > shouldn't be an issue. It turns out this wasn't quite a simple as
2018 May 24
2
LLVM Pass To Remove Dead Code In A Basic Block
Hi all, LLVM optimization pass gives an error "Terminator found in the middle of a basic block!" since basic block IR may have multiple "ret" instructions. It seems LLVM does not accept multiple return in a basic block by default. Is there a specific optimization or pass that I can enable to remove unreachable codes in basic blocks? Best, Aaron -------------- next part
2013 Jul 05
2
[LLVMdev] Any suggestion for "Unknown instruction type encountered" error?
Hello all, I was playing with LLVM pass. I changed the lib/Transforms/Hello/Hello.cpp 's content to be my own pass. Then I make install the pass and use an example test1.c to see whether it works or not. When I run example using the following command: clang -emit-llvm test1.c -c -o test1.bc opt -load ../build_llvm/Debug+Asserts/lib/LLVMHello.so -hello < test1.bc > /dev/null It
2009 Jan 08
0
[LLVMdev] insertAfter method Patch
Thomas B. Jablin wrote: > Hi, > I have added an insertAfter method to the ilist and Instruction classes. The methods are implemented as efficiently as the currently existing insert and insertBefore methods. The insertAfter method was created to mirror a similar method in another compiler in order to ease an ongoing port. The patch, which is very small is included as AddInsertBefore.patch.
2009 Jan 08
2
[LLVMdev] insertAfter method Patch
John Criswell wrote: > Small nitpick: in Instruction.cpp, the comment for insertAfter says > insertBefore and not insertAfter. > :) > > -- John T. > > _______________________________________________ > LLVM Developers mailing list > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev > Thanks for spotting