search for: removemachineinstrfrommaps

Displaying 8 results from an estimated 8 matches for "removemachineinstrfrommaps".

2008 May 08
2
[LLVMdev] VirtRegMap Error
I just updated from upstream llvm as of about last Thursday and I'm getting a segfault in VirtRegMap::RemoveMachineInstrFromMaps. It seems that the particular instruction being removed happens to reference an object at stack slot 4. The first spilled register is assigned stack slot 6 so LowSpillSlot == 6. Then, when we try to erase from SpillSlotToUsesMap, we index with a negative number. The instruction being removed is...
2008 May 08
0
[LLVMdev] VirtRegMap Error
On May 8, 2008, at 11:36 AM, David Greene wrote: > I just updated from upstream llvm as of about last Thursday and I'm > getting a segfault in VirtRegMap::RemoveMachineInstrFromMaps. > It seems that the particular instruction being removed happens > to reference an object at stack slot 4. The first spilled register is > assigned stack slot 6 so LowSpillSlot == 6. Then, when we try to > erase from SpillSlotToUsesMap, we index with a negative number. > > The...
2008 May 08
2
[LLVMdev] VirtRegMap Error
...reference like this before register allocation? > > Basically, I'm > > Codegen can definitely create stack slots during isel lowering. I > don't think you can assume all non-fixed slots are created during > register allocation. Ok, so isn't there a bug in VirtRegMap::RemoveMachineInstrFromMaps since it assumes every stack index is >= LowSpillSlot, which doesn't get set until regalloc spill time? -Dave
2014 Jan 03
2
[LLVMdev] How to update LiveInterval information of newly inserted machine basic block
...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 all registers' interval, create and recompute virtual register interval info. >> However, I get an unreachable error "Use not jointly dominated by defs" in LiveRangeCalc.cpp:188. >&gt...
2014 Jan 03
2
[LLVMdev] How to update LiveInterval information of newly inserted machine basic block
...ctions 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 all registers' interval, create and recompute virtual register interval info. However, I get an unreachable error "Use not jointly dominated by defs" in LiveRangeCalc.cpp:188. So, comparing wi...
2014 Jan 03
2
[LLVMdev] How to update LiveInterval information of newly inserted machine basic block
...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 all registers' interval, create and recompute virtual register interval info. >>>> However, I get an unreachable error "Use not jointly dominated by defs" in LiveRangeCalc.cpp:188....
2008 May 09
0
[LLVMdev] VirtRegMap Error
...egister allocation? >>> Basically, I'm >> >> Codegen can definitely create stack slots during isel lowering. I >> don't think you can assume all non-fixed slots are created during >> register allocation. > > Ok, so isn't there a bug in VirtRegMap::RemoveMachineInstrFromMaps > since > it assumes every stack index is >= LowSpillSlot, which doesn't get > set until > regalloc spill time? > > -Dave > _______________________________________________ > LLVM Developers mailing list > LLVMdev at...
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