search for: mi2imap_

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 >> >> __________________________________...