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) << "
>>>...
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) <<...
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