search for: isphysregus

Displaying 16 results from an estimated 16 matches for "isphysregus".

Did you mean: isphysregused
2006 Aug 17
1
[LLVMdev] allocation_order_begin takes non-const reference for MachineFunction
On Thu, 17 Aug 2006, Anton Vayvod wrote: > Thanks, Ralph, this line worked well :) > Here it is, my first patch to LLVM :) > I've changed all allocation_order_begin() and allocation_order_end() methods > to take const MachineFunction &MF as a parameter. I also added const version > of MachineFunction::getInfo<Ty>() method. And I changed three static hasFP() >
2013 Jan 27
1
[LLVMdev] Clarification about callee saved regs and MachineRegisterInfo::isPhyRegUsed
Hi, I am confused about the call to isPhyRegUsed in calculateCalleeSavedRegisters: if (Fn.getRegInfo().isPhysRegUsed(Reg)) { // If the reg is modified, save it! CSI.push_back(CalleeSavedInfo(Reg)); } It seems that isPhyRegUsed returns true if the register is read or written in the function. If this is right, why do we save a register if it is only read in the function ?? I would have expected that calcul...
2009 Mar 04
1
[LLVMdev] Bug in x86-64/Win64 Calling Convention
...does return an array of registers which includes X86::XMM6 through X86:XMM15. However, the prolog/epilog code does not seem to be able handle saving these registers correctly. Firstly, in PEI::CalculateCalleeSavedRegisters() in CodeGen/ PrologEpilogInserter.cpp, the call to Fn.getRegInfo().isPhysRegUsed(Reg) always seems to return true for the all of the XMM registers if the Function being emitted makes any function calls whatsoever, and so it tries to save all thecallee-saved XMM registers even when none are actually used. Further, the prolog/epilog emitter doesn't know how to correc...
2016 May 25
2
[GSoC 2016] Interprocedural Register Allocation - Introduction and Feedback
...regi = (*i)->begin(), prege = > (*i)->end(); pregi != prege; pregi++ ) { > DEBUG( dbgs() << "Physical Register : " << MCRI->getName(*pregi) << " is > modified "<< MRI->isPhysRegModified(*pregi) << " \n"); > > Try isPhysRegUsed. > ok > > } > } > DEBUG(dbgs() << "\n"); > > The pass which is executing this code is schedule POST-RA stage but this > gives me true for all registers i.e in each function all registers are > being used except EBP and some other similar, Is this a corr...
2016 May 25
0
[GSoC 2016] Interprocedural Register Allocation - Introduction and Feedback
...t; > > > > > DEBUG( dbgs() << "Physical Register : " << MCRI->getName(*pregi) > > > << > > > " > > > is modified "<< MRI->isPhysRegModified(*pregi) << " \n"); > > > > > Try isPhysRegUsed. > > ok > > > } > > > > > > } > > > > > > DEBUG(dbgs() << "\n"); > > > > > > The pass which is executing this code is schedule POST-RA stage > > > but > > > this gives me true for all re...
2016 May 25
2
[GSoC 2016] Interprocedural Register Allocation - Introduction and Feedback
...n(), prege = >> (*i)->end(); pregi != prege; pregi++ ) { >> DEBUG( dbgs() << "Physical Register : " << MCRI->getName(*pregi) << " is >> modified "<< MRI->isPhysRegModified(*pregi) << " \n"); >> >> Try isPhysRegUsed. >> > ok > >> >> } >> } >> DEBUG(dbgs() << "\n"); >> >> The pass which is executing this code is schedule POST-RA stage but this >> gives me true for all registers i.e in each function all registers are >> being used exce...
2016 May 25
0
[GSoC 2016] Interprocedural Register Allocation - Introduction and Feedback
...;> (*i)->end(); pregi != prege; pregi++ ) { >>> DEBUG( dbgs() << "Physical Register : " << MCRI->getName(*pregi) << " is >>> modified "<< MRI->isPhysRegModified(*pregi) << " \n"); >>> >>> Try isPhysRegUsed. >>> >> ok >> >>> >>> } >>> } >>> DEBUG(dbgs() << "\n"); >>> >>> The pass which is executing this code is schedule POST-RA stage but this >>> gives me true for all registers i.e in each function al...
2016 May 24
0
[GSoC 2016] Interprocedural Register Allocation - Introduction and Feedback
...iterator pregi = (*i)->begin(), prege = > (*i)->end(); pregi != prege; pregi++ ) { > DEBUG( dbgs() << "Physical Register : " << MCRI->getName(*pregi) << " > is modified "<< MRI->isPhysRegModified(*pregi) << " \n"); Try isPhysRegUsed. > } > } > DEBUG(dbgs() << "\n"); > The pass which is executing this code is schedule POST-RA stage but > this gives me true for all registers i.e in each function all > registers are being used except EBP and some other similar, Is this > a correct way to...
2016 May 25
2
[GSoC 2016] Interprocedural Register Allocation - Introduction and Feedback
...:iterator pregi = (*i)->begin(), prege = (*i)->end(); pregi != prege; pregi++ ) { > DEBUG( dbgs() << "Physical Register : " << MCRI->getName(*pregi) << " is modified "<< MRI->isPhysRegModified(*pregi) << " \n"); > Try isPhysRegUsed. > ok > > } > } > DEBUG(dbgs() << "\n"); > > The pass which is executing this code is schedule POST-RA stage but this gives me true for all registers i.e in each function all registers are being used except EBP and some other similar, Is this a correct...
2016 May 25
3
[GSoC 2016] Interprocedural Register Allocation - Introduction and Feedback
...r pregi = (*i)->begin(), prege = (*i)->end(); pregi != prege; pregi++ ) { >> DEBUG( dbgs() << "Physical Register : " << MCRI->getName(*pregi) << " is modified "<< MRI->isPhysRegModified(*pregi) << " \n"); >> Try isPhysRegUsed. >> ok >> >> } >> } >> DEBUG(dbgs() << "\n"); >> >> The pass which is executing this code is schedule POST-RA stage but this gives me true for all registers i.e in each function all registers are being used except EBP and some other...
2016 May 25
0
[GSoC 2016] Interprocedural Register Allocation - Introduction and Feedback
...nd(); pregi != prege; pregi++ ) { >>>> DEBUG( dbgs() << "Physical Register : " << MCRI->getName(*pregi) << " >>>> is modified "<< MRI->isPhysRegModified(*pregi) << " \n"); >>>> >>>> Try isPhysRegUsed. >>>> >>> ok >>> >>>> >>>> } >>>> } >>>> DEBUG(dbgs() << "\n"); >>>> >>>> The pass which is executing this code is schedule POST-RA stage but >>>> this gives me true f...
2016 May 25
2
[GSoC 2016] Interprocedural Register Allocation - Introduction and Feedback
...(); pregi != prege; pregi++ ) { >>>>>>>> DEBUG( dbgs() << "Physical Register : " << MCRI->getName(*pregi) << " is modified "<< MRI->isPhysRegModified(*pregi) << " \n"); >>>>>>>> Try isPhysRegUsed. >>>>>>> ok >>>>>>>> >>>>>>>> } >>>>>>>> } >>>>>>>> DEBUG(dbgs() << "\n"); >>>>>>>> >>>>>>>> The pass which i...
2016 May 25
0
[GSoC 2016] Interprocedural Register Allocation - Introduction and Feedback
...rege; pregi++ ) { >>>>> DEBUG( dbgs() << "Physical Register : " << MCRI->getName(*pregi) << " >>>>> is modified "<< MRI->isPhysRegModified(*pregi) << " \n"); >>>>> >>>>> Try isPhysRegUsed. >>>>> >>>> ok >>>> >>>>> >>>>> } >>>>> } >>>>> DEBUG(dbgs() << "\n"); >>>>> >>>>> The pass which is executing this code is schedule POST-RA stage but &...
2016 May 25
0
[GSoC 2016] Interprocedural Register Allocation - Introduction and Feedback
...> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Try isPhysRegUsed. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > ok > > >...
2016 May 24
2
[GSoC 2016] Interprocedural Register Allocation - Introduction and Feedback
Hello, I have written following code to check each register if it is used by machineFunction or not : MachineRegisterInfo *MRI = &MF.getRegInfo(); TargetRegisterInfo *TRI = (TargetRegisterInfo *)MF.getSubtarget().getRegisterInfo(); const TargetMachine &TM = MF.getTarget(); const MCRegisterInfo *MCRI = TM.getMCRegisterInfo(); DEBUG(dbgs() << "Function Name : " <<
2017 Jan 21
3
Spare Register at one Machine Instruction
I'm not sure exactly what you're after. I was under the impression that you want to know which register is live at a specific point (an instruction). If that's the case, how do one of the two suggested solutions not suffice? If a register is live-in to a block and not killed before your instruction or it has a def and no kill within the block, it is live. Otherwise it is dead and