search for: insertafter

Displaying 20 results from an estimated 46 matches for "insertafter".

2016 Aug 25
2
InstList insert depreciated?
Jon, > You want: > TaintVar->insertAfter(FirstI); This worked! Thank you. On Thu, Aug 25, 2016 at 9:38 AM, Jonathan Roelofs <jonathan at codesourcery.com> wrote: > > > On 8/25/16 7:01 AM, Shehbaz Jaffer via llvm-dev wrote: >> >> I tried an alternative way of adding instruction by first getting the >> fir...
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 in...
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 in...
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 fo...
2016 Sep 05
2
LLVM 3.8.0 - Adding new instruction to a basic block
Why not just use Instruction::insertAfter()? I->insertAfter(new_inst); On Mon, Sep 5, 2016 at 8:13 AM, Ryan Taylor via llvm-dev < llvm-dev at lists.llvm.org> wrote: > Try incrementing the iterator before using. > > On Sep 5, 2016 10:26, "Simona Simona via llvm-dev" < > llvm-dev at lists.llvm.org> wro...
2016 Aug 25
2
InstList insert depreciated?
...rgument deduction/substitution failed: /home/shehbaz/project/plugin/FSlice.cpp:284:34: note: candidate expects 3 arguments, 2 provided IList.insert(FirstI, TaintVar); I tried an alternative way of adding instruction by first getting the first instruction of the basic block, and then calling insertAfter() on it as follows: auto &B = F->getEntryBlock(); auto &IList = B.getInstList(); auto &FirstI = *IList.begin(); auto TaintVar = new AllocaInst(IntPtrTy); // IList.insert(FirstI, TaintVar); // OLD FirstI.insertAfter(TaintVar); // NEW This compiles, however, while...
2016 Sep 05
2
LLVM 3.8.0 - Adding new instruction to a basic block
...Simona via llvm-dev < > llvm-dev at lists.llvm.org> wrote: > >> Hello, >> >> I'm trying to add a new instruction after a given instruction in a basic >> block. >> Until LLVM 3.7, I was using the following code: >> >> BB->getInstList().insertAfter(I, new_inst); >> [where both I and new_inst are Instruction*] >> >> In LLVM 3.8 however, the SymbolTableList was created as a wrapper over >> iplist. >> Could anyone please tell me how I can do the same type of insertion in >> LLVM 3.8? >> > >...
2009 Jan 13
0
[LLVMdev] [Fwd: Re: insertAfter method Patch]
Dear All, Should this patch be committed now? I just did a quick read-over of it when it was first submitted. -- John T. -------------- next part -------------- An embedded message was scrubbed... From: "Thomas B. Jablin" <tjablin at CS.Princeton.EDU> Subject: Re: [LLVMdev] insertAfter method Patch Date: Mon, 12 Jan 2009 15:58:34 -0500 (EST) Size: 4813 URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20090113/9fc69d11/attachment.eml>
2017 Jun 10
1
[Bug 101371] New: GlobalCSE Pass moves phi instructions
...>, assertion=assertion at entry=0x52ca18 "q->op != OP_PHI || p->op == OP_PHI", file=file at entry=0x52c968 "../../../../../src/gallium/drivers/nouveau/codegen/nv50_ir_bb.cpp", line=line at entry=219, function=function at entry=0x52ce80 <nv50_ir::BasicBlock::insertAfter(nv50_ir::Instruction*, nv50_ir::Instruction*)::__PRETTY_FUNCTION__> "void nv50_ir::BasicBlock::insertAfter(nv50_ir::Instruction*, nv50_ir::Instruction*)") at assert.c:92 #3 0x00007ffff6764f62 in __GI___assert_fail (assertion=0x52ca18 "q->op != OP_PHI || p->op == OP_PHI&...
2017 Mar 24
2
Problem about API difference between LLVM3.5 and LLVM3.9
...duplicate of original function's return type; 'arg_types' denotes the duplicated argument type. And I have analysed the cause of error "Argument value does not match function argument type!" and I can determine that the error APIs are mutateType()(3rd line)or getArgumentList().insertAfter()(10th line) between LLVM3.5 and LLVM3.9. Anyone came across the same problem or knew the error API above? Thanks a lot! 1 unsigned address_space = func->getType()->getAddressSpace(); 2 FunctionType *new_type = FunctionType::get(new_return_type, arg_types, type->isVarArg(...
2016 Sep 04
2
LLVM 3.8.0 - Adding new instruction to a basic block
Hello, I'm trying to add a new instruction after a given instruction in a basic block. Until LLVM 3.7, I was using the following code: BB->getInstList().insertAfter(I, new_inst); [where both I and new_inst are Instruction*] In LLVM 3.8 however, the SymbolTableList was created as a wrapper over iplist. Could anyone please tell me how I can do the same type of insertion in LLVM 3.8? Thank you and Regards, Simona -------------- next part -------------- An HT...
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 discussions on this, but not much of hints I can get from there. Could somebody point me a code template or an existing LLVM source file that does similar things? Th...
2017 Dec 19
3
DBG_VALUE insertion for spills breaks bundles
...up with MI1 [BundledSucc=true, BundledPred=false] DBG_VALUE MI [BundledSucc=false, BundledPred=false] MI2 [BundledSucc=false, BundledPred=true] Since this happens after the final instruction scheduling, it results in broken schedules. I believe setting the bundling flags before invoking MBB->insertAfter in ExtendRanges should fix this. Best regards Saurabh Verma -------------------------------------------------------------- Intel Research and Development Ireland Limited Registered in Ireland Registered Office: Collinstown Industrial Park, Leixlip, County Kildare Registered Number: 308263 This e...
2017 Dec 22
0
DBG_VALUE insertion for spills breaks bundles
...up with MI1 [BundledSucc=true, BundledPred=false] DBG_VALUE MI [BundledSucc=false, BundledPred=false] MI2 [BundledSucc=false, BundledPred=true] Since this happens after the final instruction scheduling, it results in broken schedules. I believe setting the bundling flags before invoking MBB->insertAfter in ExtendRanges should fix this. Best regards Saurabh Verma -------------------------------------------------------------- Intel Research and Development Ireland Limited Registered in Ireland Registered Office: Collinstown Industrial Park, Leixlip, County Kildare Registered Number: 308263 This e...
2011 Dec 06
1
[LLVMdev] Changing order of instructions
...at an arbitrary point, what would be the best way to change this segment with the same instructions in a different order, say, [MI5, MI6, MI4]? I looked into splice(), but it was impossible to hold iterators that remained valid before and after the splicing. I tried erase/remove() with insert/insertAfter(), but I ended up with the instructions being destroyed. TIA -- Evandro Menezes Austin, TX emenezes at codeaurora.org Qualcomm Innovation Center, Inc is a member of Code Aurora Forum
2017 Apr 03
0
[PATCH v2 2/3] nv50/ir: handle logops with NOT in AlgebraicOpt
...).mod == Modifier(NV50_IR_MOD_NOT)) + set0->asCmp()->setCond = inverseCondCode(set0->asCmp()->setCond); + if (logop->src(1).mod == Modifier(NV50_IR_MOD_NOT)) + set1->asCmp()->setCond = inverseCondCode(set1->asCmp()->setCond); + logop->bb->insertAfter(logop, set1); logop->bb->insertAfter(logop, set0); -- 2.12.2
2012 Feb 04
0
[LLVMdev] How to properly use copyValue?
...le to make copies of as they are designed to be pointer-comparable and permitting copies would break that. Inserting is a separate issue. Supposing you create a new instruction using "BO = BinaryOperator::createAdd(X, Y);" you then need to insert it using BO->insertBefore or BO->insertAfter. Nick
2014 Jun 26
2
[LLVMdev] eraseFromParent and stack dump
Hello, I am creating a new instruction and I want to replace the use of a specified instruction. This is the code I have written Instruction *new_instr = BinaryOperator::Create(Instruction::Sub, op1, op2, ""); b->getInstList().insertAfter(old_instr, new_instr); //b is the BasicBlock old_instr->replaceAllUsesWith(new_instr); old_instr->eraseFromParent(); When I print the basic block, I see that my instruction was inserted and replaces the old instruction, however I get a stack dump, when I run the instrumented IR file. 0...
2011 May 09
2
[LLVMdev] <badref> showed up when duplicating a list of dependent instructions
...ON; BasicBlock * pb = PREVIOUS_POSITION->getParent(); for(p = coll.begin(); p != coll.end(); ++p){ Instruction * CurI = * p; Instruction * CloneI = CurI->clone(); CloneI->setName(CurI->getName()); errs() << *CloneI << "\n"; pb->getInstList().insertAfter(pi, CloneI); // Inserts newInst after pi in pb // adjust pi: point to the newly inserted inst: pi = CurI; }//end of for loop on p However, I got the following errors: --- Insert New (cloned) Instructions: ... <badref> = load i32* @strstart, align 4 <badref> = add i...
2012 Feb 03
2
[LLVMdev] How to properly use copyValue?
Since there are no constructors for Value, how do you properly insert a new Value? If I create a pointer Value *newValue and then call AA.copyValue(oldValue, newValue), this does not work, since newValue is not allocated. -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20120203/44086cf5/attachment.html>