search for: splitbb

Displaying 6 results from an estimated 6 matches for "splitbb".

2012 Mar 08
2
[LLVMdev] Updating value from PHI
...:iterator II = loopHeaderBB->begin(); (PN=dyn_cast<PHINode>(II)); ++II) { // remove loop back PHI and add it to split BB errs()<<*II<<"\n"; PHINode *newPHIvalue = PHINode::Create(PN->getType(), 2, PN->getName().str(), splitBB->getFirstInsertionPt()); int IDX = PN->getBasicBlockIndex(splitBB); while (IDX != -1) { Value *oldValue = PN->getIncomingValue((unsigned(IDX))); PN->removeIncomingValue(IDX, false); newPHIvalue->addIn...
2012 Mar 08
0
[LLVMdev] Updating value from PHI
...BB->begin(); > (PN=dyn_cast<PHINode>(II)); ++II) { > // remove loop back PHI and add it to split BB > errs()<<*II<<"\n"; > PHINode *newPHIvalue = PHINode::Create(PN->getType(), 2, > PN->getName().str(), splitBB->getFirstInsertionPt()); > int IDX = PN->getBasicBlockIndex(splitBB); > while (IDX != -1) { > Value *oldValue = PN->getIncomingValue((unsigned(IDX))); > PN->removeIncomingValue(IDX, false); >...
2012 Mar 08
0
[LLVMdev] Updating value from PHI
I have attached a case of what I am trying to do, I'm pretty sure I'm just missing some simple API call. In the cfg you can see that although Im setting "lsr.iv441" as "lsr.iv44" from for.body.387.i it's not propagating that through the block or graph. On Wed, Mar 7, 2012 at 12:03 PM, Ryan Taylor <ryta1203 at gmail.com> wrote: > I am splitting a one BB
2012 Mar 07
4
[LLVMdev] Updating value from PHI
I am splitting a one BB loop into two BB. Basically, the one loop BB has 3 incoming values, one form back edge two from other edges. I want to extract the PHIs from the other two edges out into it's own BB and delete that from the loop, then redirect the backedge to the loopbody (non extracted portion) and create a new PHI coming from the extracted BB and the backedge. I can do this;
2008 Apr 16
0
[LLVMdev] Being able to know the jitted code-size before emitting
...to the next block. We're adding a > unconditional > // branch to the destination. > - int delta = ARM::GetInstSize(&MBB->back()); > + int delta = TII->GetInstSize(&MBB->back()); > BBSizes[MBB->getNumber()] -= delta; > MachineBasicBlock* SplitBB = next(MachineFunction::iterator(MBB)); > AdjustBBOffsetsAfter(SplitBB, -delta); > @@ -1243,18 +1243,18 @@ > BuildMI(MBB, TII->get(MI->getOpcode())).addMBB(NextBB) > .addImm(CC).addReg(CCReg); > Br.MI = &MBB->back(); > - BBSizes[MBB->getNumber()] += AR...
2008 Apr 15
4
[LLVMdev] Being able to know the jitted code-size before emitting
OK, here's a new patch that adds the infrastructure and the implementation for X86, ARM and PPC of GetInstSize and GetFunctionSize. Both functions are virtual functions defined in TargetInstrInfo.h. For X86, I moved some commodity functions from X86CodeEmitter to X86InstrInfo. What do you think? Nicolas Evan Cheng wrote: > > I think both of these belong to TargetInstrInfo. And