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