Displaying 5 results from an estimated 5 matches for "createandcomputevirtreginterv".
Did you mean:
createandcomputevirtreginterval
2014 Jan 03
2
[LLVMdev] How to update LiveInterval information of newly inserted machine basic block
...lysis<LiveIntervals>();
>> 1. LIS->insertMBBInMaps(NewMBB)
>> 2. LIS->InsertMachineInstrRangeInMaps(NewMBB->begin(), NewMBB->end())
>> 3. Due to some machine instructions of NewMBB copy from OldMBB, I have to removeInterval firstly. Then I use LIS->createAndComputeVirtRegInterval() to update LiveInterval info of NewMBB.
>> 4. Then I want to delete OldMBB in the current MachineFuncion. At the same time, delete LiveIntervals info of OldMBB. So, firstly, Use RemoveMachineInstrFromMaps() to erase SlotIndexes info of OldMBB. And, delete OldMBB from current CFG. Lastl...
2014 Jan 03
2
[LLVMdev] How to update LiveInterval information of newly inserted machine basic block
...t;();
>>>> 1. LIS->insertMBBInMaps(NewMBB)
>>>> 2. LIS->InsertMachineInstrRangeInMaps(NewMBB->begin(), NewMBB->end())
>>>> 3. Due to some machine instructions of NewMBB copy from OldMBB, I have to removeInterval firstly. Then I use LIS->createAndComputeVirtRegInterval() to update LiveInterval info of NewMBB.
>>>> 4. Then I want to delete OldMBB in the current MachineFuncion. At the same time, delete LiveIntervals info of OldMBB. So, firstly, Use RemoveMachineInstrFromMaps() to erase SlotIndexes info of OldMBB. And, delete OldMBB from current CF...
2014 Apr 04
2
[LLVMdev] How should I update LiveIntervals after removing a use of a register?
Hi,
I am working on a simple copy propagation pass for the R600 backend that
propagates immediates rather than registers. For example, I want to
transform:
...
%vreg1 = V_MOV_B32 1
%vreg2 = V_ADD_I32 %vreg1, %vreg0
...
into:
%vreg1 = V_MOV_B32 1 ; <- Only delete this if it is dead
%vreg2 = V_ADD_I32 1, %vreg0
For best results, I am trying to run this pass after the
TwoAddressInstruction
2014 Jan 03
2
[LLVMdev] How to update LiveInterval information of newly inserted machine basic block
...ntervals *LIS = &getAnalysis<LiveIntervals>();
1. LIS->insertMBBInMaps(NewMBB)
2. LIS->InsertMachineInstrRangeInMaps(NewMBB->begin(), NewMBB->end())
3. Due to some machine instructions of NewMBB copy from OldMBB, I have to removeInterval firstly. Then I use LIS->createAndComputeVirtRegInterval() to update LiveInterval info of NewMBB.
4. Then I want to delete OldMBB in the current MachineFuncion. At the same time, delete LiveIntervals info of OldMBB. So, firstly, Use RemoveMachineInstrFromMaps() to erase SlotIndexes info of OldMBB. And, delete OldMBB from current CFG. Lastly, remove...
2013 Dec 31
2
[LLVMdev] How to update LiveInterval information of newly inserted machine basic block
Hi,
I insert a new machine basic block(MBB) before Greedy Register Allocation, after Simple Register Coalescing. But I encounter a fatal
error "regalloc = ... not currently supported with -O0". I use command line with opt level O2, not O0.
The probable reason of this error is that no LiveInterval information for newly MBB which is used by Register Allocation.
And, LiveIntervals depend