search for: regclass_end

Displaying 20 results from an estimated 21 matches for "regclass_end".

2011 Sep 12
3
[LLVMdev] Possible bug in SimpleRegisterCoalescing
...ets. I believe that there may be a problem in SimpleRegisterCoalescing::runOnMachineFunction where the allocatable registers for each register class are initialised for the function, i.e. the lines: for (TargetRegisterInfo::regclass_iterator I = tri_->regclass_begin(), E = tri_->regclass_end(); I != E; ++I) allocatableRCRegs_.insert(std::make_pair(*I, tri_->getAllocatableSet(fn, *I))); If the allocatable registers are dependent on the function, such as might occur when a frame pointer isn't required, then it seems that every func...
2011 Sep 13
0
[LLVMdev] Possible bug in SimpleRegisterCoalescing
...ve that there may be a problem in SimpleRegisterCoalescing::runOnMachineFunction where the allocatable registers for each register class are initialised for the function, i.e. the lines: > > for (TargetRegisterInfo::regclass_iterator I = tri_->regclass_begin(), > E = tri_->regclass_end(); I != E; ++I) > allocatableRCRegs_.insert(std::make_pair(*I, > tri_->getAllocatableSet(fn, *I))); > > If the allocatable registers are dependent on the function, such as might occur when a frame pointer isn't required, then it see...
2006 Jul 02
0
[LLVMdev] Inserting move instruction
...onst MRegisterInfo * reg_info = this->machine_function->getTarget().getRegisterInfo(); // TODO: verify if does not causes incorrect allocation: for(MRegisterInfo::regclass_iterator rcii = reg_info->regclass_begin(), rcie = reg_info->regclass_end(); rcii != rcie; ++rcii) { if( (*rcii)->contains(dst) ) { rc = * rcii; } } reg_info->copyRegToReg(mbb, iter, dst, src, rc); } Fernando > > You can't do it with this information. In some higher context you should > > have information abou...
2006 Jul 02
2
[LLVMdev] Inserting move instruction
> On Sun, 2 Jul 2006, Fernando Magno Quintao Pereira wrote: > > > MachineBasicBlock::iterator iter = mbb.getFirstTerminator(); > > const TargetRegisterClass *rc = mf.getSSARegMap()->getRegClass(dst); > > const MRegisterInfo * reg_info = mf.getTarget().getRegisterInfo(); > > reg_info->copyRegToReg(mbb, iter, dst, src, rc); > > } > > >
2011 Sep 19
1
[LLVMdev] Possible bug in SimpleRegisterCoalescing
...ere may be a problem in SimpleRegisterCoalescing::runOnMachineFunction where the allocatable registers for each register class are initialised for the function, i.e. the lines: >> >> for (TargetRegisterInfo::regclass_iterator I = tri_->regclass_begin(), >> E = tri_->regclass_end(); I != E; ++I) >> allocatableRCRegs_.insert(std::make_pair(*I, >> tri_->getAllocatableSet(fn, *I))); >> >> If the allocatable registers are dependent on the function, such as might occur when a frame pointer isn't require...
2016 May 25
2
[GSoC 2016] Interprocedural Register Allocation - Introduction and Feedback
...TargetMachine &TM = MF.getTarget(); > const MCRegisterInfo *MCRI = TM.getMCRegisterInfo(); > DEBUG(dbgs() << "Function Name : " << MF.getName() << "\n"); > > for(TargetRegisterInfo::regclass_iterator i = (*TRI).regclass_begin(), e = > (*TRI).regclass_end(); i != e; i++ ) { > for(TargetRegisterClass::iterator pregi = (*i)->begin(), prege = > (*i)->end(); pregi != prege; pregi++ ) { > DEBUG( dbgs() << "Physical Register : " << MCRI->getName(*pregi) << " is > modified "<< MRI->isPhysR...
2016 May 25
0
[GSoC 2016] Interprocedural Register Allocation - Introduction and Feedback
...erInfo *MCRI = TM.getMCRegisterInfo(); > > > > > > DEBUG(dbgs() << "Function Name : " << MF.getName() << "\n"); > > > > > > for(TargetRegisterInfo::regclass_iterator i = > > > (*TRI).regclass_begin(), e = (*TRI).regclass_end(); i != e; i++ ) > > > { > > > > > > for(TargetRegisterClass::iterator pregi = (*i)->begin(), prege = > > > (*i)->end(); pregi != prege; pregi++ ) { > > > > > > DEBUG( dbgs() << "Physical Register : " << MCRI->...
2006 Jul 03
2
[LLVMdev] Inserting move instruction
...reg_info = > this->machine_function->getTarget().getRegisterInfo(); > > // TODO: verify if does not causes incorrect allocation: > for(MRegisterInfo::regclass_iterator rcii = reg_info->regclass_begin(), > rcie = reg_info->regclass_end(); rcii != rcie; ++rcii) { > if( (*rcii)->contains(dst) ) { > rc = * rcii; > } > } > > reg_info->copyRegToReg(mbb, iter, dst, src, rc); > } > > Fernando > >>> You can't do it with this information. In some higher conte...
2016 May 25
2
[GSoC 2016] Interprocedural Register Allocation - Introduction and Feedback
...TM = MF.getTarget(); >> const MCRegisterInfo *MCRI = TM.getMCRegisterInfo(); >> DEBUG(dbgs() << "Function Name : " << MF.getName() << "\n"); >> >> for(TargetRegisterInfo::regclass_iterator i = (*TRI).regclass_begin(), e >> = (*TRI).regclass_end(); i != e; i++ ) { >> for(TargetRegisterClass::iterator pregi = (*i)->begin(), prege = >> (*i)->end(); pregi != prege; pregi++ ) { >> DEBUG( dbgs() << "Physical Register : " << MCRI->getName(*pregi) << " is >> modified "<<...
2016 May 25
0
[GSoC 2016] Interprocedural Register Allocation - Introduction and Feedback
...>>> const MCRegisterInfo *MCRI = TM.getMCRegisterInfo(); >>> DEBUG(dbgs() << "Function Name : " << MF.getName() << "\n"); >>> >>> for(TargetRegisterInfo::regclass_iterator i = (*TRI).regclass_begin(), e >>> = (*TRI).regclass_end(); i != e; i++ ) { >>> for(TargetRegisterClass::iterator pregi = (*i)->begin(), prege = >>> (*i)->end(); pregi != prege; pregi++ ) { >>> DEBUG( dbgs() << "Physical Register : " << MCRI->getName(*pregi) << " is >>> modifie...
2016 May 24
0
[GSoC 2016] Interprocedural Register Allocation - Introduction and Feedback
...onst TargetMachine &TM = MF.getTarget(); > const MCRegisterInfo *MCRI = TM.getMCRegisterInfo(); > DEBUG(dbgs() << "Function Name : " << MF.getName() << "\n"); > for(TargetRegisterInfo::regclass_iterator i = > (*TRI).regclass_begin(), e = (*TRI).regclass_end(); i != e; i++ ) { > for(TargetRegisterClass::iterator pregi = (*i)->begin(), prege = > (*i)->end(); pregi != prege; pregi++ ) { > DEBUG( dbgs() << "Physical Register : " << MCRI->getName(*pregi) << " > is modified "<< MRI->isPhysR...
2016 May 25
2
[GSoC 2016] Interprocedural Register Allocation - Introduction and Feedback
...t TargetMachine &TM = MF.getTarget(); > const MCRegisterInfo *MCRI = TM.getMCRegisterInfo(); > DEBUG(dbgs() << "Function Name : " << MF.getName() << "\n"); > > for(TargetRegisterInfo::regclass_iterator i = (*TRI).regclass_begin(), e = (*TRI).regclass_end(); i != e; i++ ) { > for(TargetRegisterClass::iterator pregi = (*i)->begin(), prege = (*i)->end(); pregi != prege; pregi++ ) { > DEBUG( dbgs() << "Physical Register : " << MCRI->getName(*pregi) << " is modified "<< MRI->isPhysRegMod...
2016 May 24
2
[GSoC 2016] Interprocedural Register Allocation - Introduction and Feedback
...getRegisterInfo(); const TargetMachine &TM = MF.getTarget(); const MCRegisterInfo *MCRI = TM.getMCRegisterInfo(); DEBUG(dbgs() << "Function Name : " << MF.getName() << "\n"); for(TargetRegisterInfo::regclass_iterator i = (*TRI).regclass_begin(), e = (*TRI).regclass_end(); i != e; i++ ) { for(TargetRegisterClass::iterator pregi = (*i)->begin(), prege = (*i)->end(); pregi != prege; pregi++ ) { DEBUG( dbgs() << "Physical Register : " << MCRI->getName(*pregi) << " is modified "<< MRI->isPhysRegModified(*pregi) &...
2016 May 25
3
[GSoC 2016] Interprocedural Register Allocation - Introduction and Feedback
...&TM = MF.getTarget(); >> const MCRegisterInfo *MCRI = TM.getMCRegisterInfo(); >> DEBUG(dbgs() << "Function Name : " << MF.getName() << "\n"); >> >> for(TargetRegisterInfo::regclass_iterator i = (*TRI).regclass_begin(), e = (*TRI).regclass_end(); i != e; i++ ) { >> for(TargetRegisterClass::iterator pregi = (*i)->begin(), prege = (*i)->end(); pregi != prege; pregi++ ) { >> DEBUG( dbgs() << "Physical Register : " << MCRI->getName(*pregi) << " is modified "<< MRI->isPh...
2016 May 25
0
[GSoC 2016] Interprocedural Register Allocation - Introduction and Feedback
...nst MCRegisterInfo *MCRI = TM.getMCRegisterInfo(); >>>> DEBUG(dbgs() << "Function Name : " << MF.getName() << "\n"); >>>> >>>> for(TargetRegisterInfo::regclass_iterator i = (*TRI).regclass_begin(), >>>> e = (*TRI).regclass_end(); i != e; i++ ) { >>>> for(TargetRegisterClass::iterator pregi = (*i)->begin(), prege = >>>> (*i)->end(); pregi != prege; pregi++ ) { >>>> DEBUG( dbgs() << "Physical Register : " << MCRI->getName(*pregi) << " >>&gt...
2016 May 25
2
[GSoC 2016] Interprocedural Register Allocation - Introduction and Feedback
...CRegisterInfo(); >>>>>>>> DEBUG(dbgs() << "Function Name : " << MF.getName() << "\n"); >>>>>>>> >>>>>>>> for(TargetRegisterInfo::regclass_iterator i = (*TRI).regclass_begin(), e = (*TRI).regclass_end(); i != e; i++ ) { >>>>>>>> for(TargetRegisterClass::iterator pregi = (*i)->begin(), prege = (*i)->end(); pregi != prege; pregi++ ) { >>>>>>>> DEBUG( dbgs() << "Physical Register : " << MCRI->getName(*pregi) <&lt...
2016 May 25
0
[GSoC 2016] Interprocedural Register Allocation - Introduction and Feedback
...fo *MCRI = TM.getMCRegisterInfo(); >>>>> DEBUG(dbgs() << "Function Name : " << MF.getName() << "\n"); >>>>> >>>>> for(TargetRegisterInfo::regclass_iterator i = (*TRI).regclass_begin(), >>>>> e = (*TRI).regclass_end(); i != e; i++ ) { >>>>> for(TargetRegisterClass::iterator pregi = (*i)->begin(), prege = >>>>> (*i)->end(); pregi != prege; pregi++ ) { >>>>> DEBUG( dbgs() << "Physical Register : " << MCRI->getName(*pregi) << "...
2016 May 25
0
[GSoC 2016] Interprocedural Register Allocation - Introduction and Feedback
...t; > > > > > > > > > > > > > > > > > > > > for(TargetRegisterInfo::regclass_iterator i = > > > > > > > > > > > (*TRI).regclass_begin(), e = > > > > > > > > > > > (*TRI).regclass_end(); > > > > > > > > > > > i > > > > > > > > > > > != > > > > > > > > > > > e; > > > > > > > > > > > i++ > > > > > > > > > > > ) > &g...
2009 Jan 07
4
[LLVMdev] Possible bug in the ARM backend?
...use // some registers may get included/excluded on a per // function basic (e.g. frame pointer on X86) regClass2AllowedSet.clear(); regClass2AllowedSet.resize(mri->getNumRegClasses() + 1); for (TargetRegisterInfo::regclass_iterator RCI = mri->regclass_begin(), RCE = mri->regclass_end(); RCI != RCE; ++RCI) { int regClassId = (*RCI)->getID(); regClass2AllowedSet[regClassId].resize(mri->getNumRegs() + 1); for (TargetRegisterClass::iterator I = (*RCI)->allocation_order_begin(*mf), E = (*RCI)->allocation_order_e...
2016 May 18
0
[GSoC 2016] Interprocedural Register Allocation - Introduction and Feedback
> On May 18, 2016, at 11:00 AM, vivek pandya <vivekvpandya at gmail.com> wrote: > > > > Vivek Pandya > > > On Wed, May 18, 2016 at 11:25 PM, Quentin Colombet <qcolombet at apple.com <mailto:qcolombet at apple.com>> wrote: > >> On May 18, 2016, at 10:46 AM, vivek pandya <vivekvpandya at gmail.com <mailto:vivekvpandya at