similar to: [LLVMdev] VirtRegMap Error

Displaying 20 results from an estimated 500 matches similar to: "[LLVMdev] VirtRegMap Error"

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
2008 May 08
2
[LLVMdev] VirtRegMap Error
On Thursday 08 May 2008 16:25, Evan Cheng wrote: > > Since we're hooking up llvm to custom code, I want to check > > assumptions. > > Is there anything in llvm-gcc or the other llvm tools that could > > generate a > > stack slot reference like this before register allocation? > > Basically, I'm > > Codegen can definitely create stack slots during
2008 May 09
0
[LLVMdev] VirtRegMap Error
Yeah, I think so. It should be pretty simple to fix though. Can you provide a patch? Or please fix a bug. Evan On May 8, 2008, at 2:32 PM, David Greene wrote: > On Thursday 08 May 2008 16:25, Evan Cheng wrote: > >>> Since we're hooking up llvm to custom code, I want to check >>> assumptions. >>> Is there anything in llvm-gcc or the other llvm tools that
2008 May 09
2
[LLVMdev] Complicated Remat Question
Ok, this is a rather complicated e-mail. Please ask questions if you don't understand something. I've come across an interesting problem. I'm merging our graph coloring allocator with the code from trunk as of late last week. I have a code where a LiveInterval is spilled and some uses can be rematerialized. %reg1235 is spilled and at least one use is rematted. The remat def
2014 Jan 03
2
[LLVMdev] How to update LiveInterval information of newly inserted machine basic block
On Jan 3, 2014, at 11:01 AM, Andrew Trick <atrick at apple.com> wrote: > > On Jan 3, 2014, at 4:58 AM, Haishan <hndxvon at 163.com> wrote: > >> >> At 2014-01-01 04:36:21,"Andrew Trick" <atrick at apple.com> wrote: >> >> On Dec 31, 2013, at 3:52 AM, Haishan <hndxvon at 163.com> wrote: >> My update steps are shown
2014 Jan 03
2
[LLVMdev] How to update LiveInterval information of newly inserted machine basic block
At 2014-01-01 04:36:21,"Andrew Trick" <atrick at apple.com> wrote: On Dec 31, 2013, at 3:52 AM, Haishan <hndxvon at 163.com> wrote: 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
2014 Jan 03
2
[LLVMdev] How to update LiveInterval information of newly inserted machine basic block
On Jan 3, 2014, at 1:06 PM, Andrew Trick <atrick at apple.com> wrote: > > On Jan 3, 2014, at 12:10 PM, Jakob Stoklund Olesen <stoklund at 2pi.dk> wrote: > >> >> On Jan 3, 2014, at 11:01 AM, Andrew Trick <atrick at apple.com> wrote: >> >>> >>> On Jan 3, 2014, at 4:58 AM, Haishan <hndxvon at 163.com> wrote: >>>
2008 Sep 19
2
[LLVMdev] Using VirtRegMap
I'm trying to piece together a few assignments for a graduate-level compilers class using LLVM; among these is a register allocator. I'd like to provide a register allocator that, given a partially-allocated VirtRegMap, will perform trivial register allocation (as in RegAllocSimple) on the remaining, unmapped virtual registers. To make a long story short, I want to map a single
2008 Sep 19
0
[LLVMdev] Using VirtRegMap
On Sep 19, 2008, at 2:41 AM, Matt Elder wrote: > I'm trying to piece together a few assignments for a graduate-level > compilers class using LLVM; among these is a register allocator. I'd > like to provide a register allocator that, given a partially-allocated > VirtRegMap, will perform trivial register allocation (as in > RegAllocSimple) on the remaining, unmapped virtual
2008 Sep 20
0
[LLVMdev] Using VirtRegMap
Hi Evan, > Ok. Everyone has different idea about "easy". :-) I second your opinion that it is not very easy to use and it is very tightly coupled with the current linear scan register allocator implementation. > But VirtRegMap is going to be remove one of these days. When are you going to do that? Are you going to remove it from the source tree? Will it be replaced with
2008 Sep 19
1
[LLVMdev] Using VirtRegMap
On Friday 19 September 2008 11:37, Evan Cheng wrote: > Please avoid using VirtRegMap. It's very tied to the current register > allocation pieces and not easily reusable. One of my mission in life > is to kill it. Im surprised to see this. I found it rather easy to re-use for custom register allocators. -Dave
2007 Jul 10
1
[LLVMdev] VirtRegMap GLIBCXX assert
The following code in VirtRegMap.cpp is asserting in the C++ library because back() is called on an empty container: /// addLastUse - Add the last use information of all stack slots whose /// values are available in the specific register. void addLastUse(unsigned PhysReg, MachineInstr *Use) { std::multimap<unsigned, int>::iterator I = PhysRegsAvailable.lower_bound(PhysReg);
2017 Jun 05
3
VirtRegMap invariant: no reserved physical registers?
Hey all, I've found a bug in either the PBQP register allocator or in VirtRegRewriter. I'm observing this assertion in VirtRegRewriter::rewrite() fail: unsigned VirtReg = MO.getReg(); unsigned PhysReg = VRM->getPhys(VirtReg); ... assert(!MRI->isReserved(PhysReg) && "Reserved register assignment"); Indeed there is a case where
2008 May 30
0
[LLVMdev] Possible VirtRegMap Bug
On May 27, 2008, at 5:36 PM, David Greene wrote: > I've been playing around with spillers and found that the > SimpleSpiller fails > badly on a particular code. > > The problem arises because SimpleSpiller does the test > VRM.isAssignedReg(virtReg) which is implemented as: > > 00183 bool isAssignedReg(unsigned virtReg) const { > 00184 if
2008 May 09
2
[LLVMdev] VirtRegMap Error
On Friday 09 May 2008 14:41, Evan Cheng wrote: > Yeah, I think so. It should be pretty simple to fix though. Can you > provide a patch? Or please fix a bug. Yep, I can provide a patch. -Dave
2008 May 21
0
[LLVMdev] VirtRegMap Error
Ping. Have you had a chance to address this bug? Thanks, Evan On May 9, 2008, at 1:17 PM, David Greene wrote: > On Friday 09 May 2008 14:41, Evan Cheng wrote: >> Yeah, I think so. It should be pretty simple to fix though. Can you >> provide a patch? Or please fix a bug. > > Yep, I can provide a patch. > > -Dave >
2008 May 22
1
[LLVMdev] VirtRegMap Error
On Wednesday 21 May 2008 13:18, Evan Cheng wrote: > Ping. Have you had a chance to address this bug? Thanks for the reminder. I just checked it in. -Dave
2008 Jun 02
1
[LLVMdev] Possible VirtRegMap Bug
On Friday 30 May 2008 15:13, Evan Cheng wrote: > No, every vr is assigned a physical register. It needs to know how > what physical register to reload it, for example. Looks like > SimpleSpiller has bit-rotted. There really isn't a good reason to fix > it. Unless you want to use it, I'll just remove it. No, don't remove it! It's a valuable debugging tool. I've
2008 May 28
3
[LLVMdev] Possible VirtRegMap Bug
I've been playing around with spillers and found that the SimpleSpiller fails badly on a particular code. The problem arises because SimpleSpiller does the test VRM.isAssignedReg(virtReg) which is implemented as: 00183 bool isAssignedReg(unsigned virtReg) const { 00184 if (getStackSlot(virtReg) == NO_STACK_SLOT && 00185 getReMatId(virtReg) == NO_STACK_SLOT)
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