search for: getorcreateinterval

Displaying 7 results from an estimated 7 matches for "getorcreateinterval".

2014 Oct 14
2
[LLVMdev] Problem of stack slot coloring
...Spill all registers remaining after rematerialization. > void InlineSpiller::spillAll() { > // Update LiveStacks now that we are committed to spilling. > if (StackSlot == VirtRegMap::NO_STACK_SLOT) { > StackSlot = VRM.assignVirt2StackSlot(Original); > StackInt = &LSS.getOrCreateInterval(StackSlot, MRI.getRegClass(Original)); > StackInt->getNextValue(SlotIndex(), LSS.getVNInfoAllocator()); > } else > StackInt = &LSS.getInterval(StackSlot); > > if (Original != Edit->getReg()) > VRM.assignVirt2StackSlot(Edit->getReg(), StackSlot); > &...
2014 Oct 13
2
[LLVMdev] Problem of stack slot coloring
Hi, Can anyone help me with the stack slot coloring optimization? This corresponding file is /lib/codegen/stackslotcoloring.cpp. It is said this optimization was for stack slot overlay for frame size reduction, after register allocation phase. And this transformation pass relies on the LiveStack analysis pass. How, when checking the source code, it seems the LiveStack analysis has not been
2008 Feb 21
2
[LLVMdev] Bug? Coalescing & Updating Subreg Intervals
...> > My assumption was that after MergeInClobberRanges that %reg15 > would contain [458,5168:0 [0]). But it doesn't. So this is the call site? // Update the liveintervals of sub-registers. for (const unsigned *AS = tri_->getSubRegisters(DstReg); *AS; ++AS) li_->getOrCreateInterval(*AS).MergeInClobberRanges(*ResSrcInt, li_- >getVNInfoAllocator()); Can you take a look at MergeInClobberRanges() to see what is going on? Otherwise, please file a bug with a test case. Evan > > >...
2008 Feb 21
0
[LLVMdev] Bug? Coalescing & Updating Subreg Intervals
On Wednesday 20 February 2008 07:00:28 pm Evan Cheng wrote: > > In other words, after coalescing, should it be the case that > > subregister > > intervals contain at least all of the range information that was > > contained > > in any eliminated intervals when those eliminated intervals were > > coalesced > > to the subregister's superregister? >
2008 Feb 21
0
[LLVMdev] Bug? Coalescing & Updating Subreg Intervals
...after MergeInClobberRanges that %reg15 > > would contain [458,5168:0 [0]). But it doesn't. > > So this is the call site? > > // Update the liveintervals of sub-registers. > for (const unsigned *AS = tri_->getSubRegisters(DstReg); *AS; ++AS) > li_->getOrCreateInterval(*AS).MergeInClobberRanges(*ResSrcInt, > li_- Yep. > >getVNInfoAllocator()); > > Can you take a look at MergeInClobberRanges() to see what is going on? > Otherwise, please file a bug with a test case. Yes. I think I know what...
2008 Feb 21
2
[LLVMdev] Bug? Coalescing & Updating Subreg Intervals
On Feb 20, 2008, at 12:25 PM, David Greene wrote: > On Wednesday 20 February 2008 14:14, David Greene wrote: > >> I discovered this through an assert I put into some of my own >> code. I want >> to know if that assert is bogus or if there's a bug here. > > A little more information: the assert checks that after coalescing > two nodes, > all subregister
2011 May 06
0
[LLVMdev] Question about linking llvm-mc when porting a new backend
...tRegisterClass const*, llvm::TargetRegisterClass const*)", referenced from: (anonymous namespace)::MachineCSE::PerformTrivialCoalescing(llvm::MachineInstr*, llvm::MachineBasicBlock*) in libLLVMCodeGen.a(MachineCSE.cpp.o) llvm::LiveStacks::getOrCreateInterval(int, llvm::TargetRegisterClass const*)in libLLVMCodeGen.a(RegAllocLinearScan.cpp.o) llvm::InstrEmitter::EmitCopyFromReg(llvm::SDNode*, unsigned int, bool, bool, unsigned int, llvm::DenseMap<llvm::SDValue, unsigned int, llvm::DenseMapInfo<llvm::SDValue>, llvm::DenseMapInfo<unsigned...