Displaying 14 results from an estimated 14 matches for "mi2imap_".
2004 Aug 27
2
[LLVMdev] Register allocator assert
Hello,
I'm getting an assertion in register allocator, specifically in
LiveIntervalAnalysis.h, method LiveIntervals::getInstructionIndex:
unsigned getInstructionIndex(MachineInstr* instr) const {
Mi2IndexMap::const_iterator it = mi2iMap_.find(instr);
assert(it != mi2iMap_.end() && "Invalid instruction!");
return 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 = v...
2007 Jun 22
4
[LLVMdev] df_ext_iterator in LiveIntervalAnalysis
...endi = df_ext_end(entry, visited); dfi != endi;
++dfi) {
MachineBasicBlock *mbb = *dfi;
for (MachineBasicBlock::iterator mi = mbb->begin(), miEnd =
mbb->end();
mi != miEnd;
++mi) {
bool inserted = mi2iMap_.insert(std::make_pair(mi,
miIndex)).second;
assert(inserted && "multiple MachineInstr -> index mappings");
i2miMap_.push_back(mi);
miIndex += InstrSlots::NUM;
}
}
this->maxInstrIndex_ = miIndex;
//===----------------------------------...
2004 Aug 27
0
[LLVMdev] Register allocator assert
...8:05, Vladimir Prus wrote:
> Hello,
> I'm getting an assertion in register allocator, specifically in
> LiveIntervalAnalysis.h, method LiveIntervals::getInstructionIndex:
>
> unsigned getInstructionIndex(MachineInstr* instr) const {
> Mi2IndexMap::const_iterator it = mi2iMap_.find(instr);
> assert(it != mi2iMap_.end() && "Invalid instruction!");
> return it->second;
> }
Hello Vladimir,
Can you checkout the latest RegAllocLinearScan and RegAllocIterativeScan
versions and retry? I've checked a fix for something I commite...
2007 Jun 22
0
[LLVMdev] df_ext_iterator in LiveIntervalAnalysis
...d(entry, visited); dfi != endi;
> ++dfi) {
> MachineBasicBlock *mbb = *dfi;
> for (MachineBasicBlock::iterator mi = mbb->begin(), miEnd =
> mbb->end();
> mi != miEnd;
> ++mi) {
> bool inserted = mi2iMap_.insert(std::make_pair(mi,
> miIndex)).second;
> assert(inserted && "multiple MachineInstr -> index mappings");
> i2miMap_.push_back(mi);
> miIndex += InstrSlots::NUM;
> }
> }
> this->maxInstrIndex_ = miIndex;
> //===-...
2007 Jun 22
0
[LLVMdev] df_ext_iterator in LiveIntervalAnalysis
...sited); dfi != endi;
> ++dfi) {
> MachineBasicBlock *mbb = *dfi;
> for (MachineBasicBlock::iterator mi = mbb->begin(), miEnd =
> mbb->end();
> mi !=
> miEnd;
> ++mi) {
> bool inserted = mi2iMap_.insert(std::make_pair(mi,
> miIndex)).second;
> assert(inserted && "multiple MachineInstr -> index
> mappings");
> i2miMap_.push_back(mi);
> miIndex += InstrSlots::NUM;
> }
> }
> this->maxInstrIndex_ = miIndex...
2008 Apr 16
3
[LLVMdev] Possible bug in LiveIntervalAnalysis?
...ruction numbers:
unsigned MIIndex = 0;
for (MachineFunction::iterator MBB = mf_->begin(), E = mf_->end();
MBB != E; ++MBB) {
unsigned StartIdx = MIIndex;
for (MachineBasicBlock::iterator I = MBB->begin(), E = MBB->end();
I != E; ++I) {
bool inserted = mi2iMap_.insert(std::make_pair(I,
MIIndex)).second;
assert(inserted && "multiple MachineInstr -> index mappings");
i2miMap_.push_back(I);
MIIndex += InstrSlots::NUM;
}
// Set the MBB2IdxMap entry for this MBB.
MBB2IdxMap[MBB->getNumber()] = std::make_pa...
2008 Apr 16
0
[LLVMdev] Possible bug in LiveIntervalAnalysis?
...ex = 0;
> for (MachineFunction::iterator MBB = mf_->begin(), E = mf_->end();
> MBB != E; ++MBB) {
> unsigned StartIdx = MIIndex;
>
> for (MachineBasicBlock::iterator I = MBB->begin(), E = MBB->end();
> I != E; ++I) {
> bool inserted = mi2iMap_.insert(std::make_pair(I,
> MIIndex)).second;
> assert(inserted && "multiple MachineInstr -> index mappings");
> i2miMap_.push_back(I);
> MIIndex += InstrSlots::NUM;
> }
>
> // Set the MBB2IdxMap entry for this MBB.
> MBB2Id...
2008 Apr 18
1
[LLVMdev] Possible bug in LiveIntervalAnalysis?
...(MachineFunction::iterator MBB = mf_->begin(), E = mf_->end();
>> MBB != E; ++MBB) {
>> unsigned StartIdx = MIIndex;
>>
>> for (MachineBasicBlock::iterator I = MBB->begin(), E = MBB->end();
>> I != E; ++I) {
>> bool inserted = mi2iMap_.insert(std::make_pair(I,
>> MIIndex)).second;
>> assert(inserted && "multiple MachineInstr -> index mappings");
>> i2miMap_.push_back(I);
>> MIIndex += InstrSlots::NUM;
>> }
>>
>> // Set the MBB2IdxMap entry for thi...
2007 Jun 22
2
[LLVMdev] df_ext_iterator in LiveIntervalAnalysis
...di;
>> ++dfi) {
>> MachineBasicBlock *mbb = *dfi;
>> for (MachineBasicBlock::iterator mi = mbb->begin(), miEnd =
>> mbb->end();
>> mi != miEnd;
>> ++mi) {
>> bool inserted = mi2iMap_.insert(std::make_pair(mi,
>> miIndex)).second;
>> assert(inserted && "multiple MachineInstr -> index mappings");
>> i2miMap_.push_back(mi);
>> miIndex += InstrSlots::NUM;
>> }
>> }
>> this->maxInstrI...
2008 Feb 11
0
[LLVMdev] Some questions about live intervals
...p;&
> + "index does not correspond to an MBB");
> + return J->second;
> + }
> +
> /// getInstructionIndex - returns the base index of instr
> unsigned getInstructionIndex(MachineInstr* instr) const {
> Mi2IndexMap::const_iterator it = mi2iMap_.find(instr);
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
2008 Feb 08
2
[LLVMdev] Some questions about live intervals
Hi Evan,
Here is a patch for the LiveIntervalAnalysis that we discussed.
--- Evan Cheng <evan.cheng at apple.com> schrieb:
> > 1) What is the easiest way to understand which MBB a given
> instruction index belongs to? All the required information is
> available in the
> > MBB2IdxMap of the LiveIntervalAnalysis class. Would it be useful
> to add a small function
2008 Feb 11
2
[LLVMdev] Some questions about live intervals
...x does not correspond to an MBB");
> > + return J->second;
> > + }
> > +
> > /// getInstructionIndex - returns the base index of instr
> > unsigned getInstructionIndex(MachineInstr* instr) const {
> > Mi2IndexMap::const_iterator it = mi2iMap_.find(instr);
> > _______________________________________________
> > LLVM Developers mailing list
> > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu
> > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>
> _______________________________________________
>...
2010 Jul 31
0
[LLVMdev] spilling question
Hi
I am running into this spilling assertion when trying to insert a
store after the interval using
insertStoreAfterInstOnInterval.
Assertion failed: it == mi2iMap_.end() && "Already in map!", file C:\oxili-llvm\
llvm\include\llvm/CodeGen/LiveIntervalAnalysis.h, line 253
Isnt the instruction supposed to be in the map since it being spilled
? Any hints to what might be the reason for the assertion ?
thanks
shrey
2008 Feb 12
0
[LLVMdev] Some questions about live intervals
...espond to an MBB");
>>> + return J->second;
>>> + }
>>> +
>>> /// getInstructionIndex - returns the base index of instr
>>> unsigned getInstructionIndex(MachineInstr* instr) const {
>>> Mi2IndexMap::const_iterator it = mi2iMap_.find(instr);
>>> _______________________________________________
>>> LLVM Developers mailing list
>>> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu
>>> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>>
>> __________________________________...