Displaying 3 results from an estimated 3 matches for "getuseindex".
2007 Oct 06
2
[LLVMdev] Spill Interval Generation Question
...#39;s first value.
For every copy like there it's always the case that the source live
interval's value "end" is the def slot for the instruction.
In LiveIntervalAnalysis::addIntervalsForSpills, we have this:
if (HasUse) {
LiveRange LR(getLoadIndex(index), getUseIndex(index),
nI.getNextValue(~0U, 0, VNInfoAllocator));
DOUT << " +" << LR;
nI.addRange(LR);
}
Should this actually extend from the load index to the def index since
value intervals are exclusive at end? Otherwise, the in...
2007 Oct 08
0
[LLVMdev] Spill Interval Generation Question
On Oct 5, 2007, at 5:52 PM, David Greene wrote:
>
> In LiveIntervalAnalysis::addIntervalsForSpills, we have this:
>
> if (HasUse) {
> LiveRange LR(getLoadIndex(index), getUseIndex(index),
> nI.getNextValue(~0U, 0, VNInfoAllocator));
> DOUT << " +" << LR;
> nI.addRange(LR);
> }
>
> Should this actually extend from the load index to the def index since
> value intervals are ex...
2004 Aug 27
2
[LLVMdev] Register allocator assert
...n it->second;
}
The crash happens when the function is called from LiveIntervalAnalysis.cpp,
360:
for (unsigned i = 0, e = vi.Kills.size(); i != e; ++i) {
MachineInstr *Kill = vi.Kills[i];
LiveRange LR(getInstructionIndex(Kill->getParent()->begin()),
getUseIndex(getInstructionIndex(Kill))+1, ValNum);
interval.addRange(LR);
DEBUG(std::cerr << " +" << LR);
When I add
assert(mi2iMap_.count(Kill));
in that block, it fires. I have modified the LiveVariables class so that in
the end of runOnFunction method, it prints a...