Displaying 3 results from an estimated 3 matches for "anaylzephysreg".
Did you mean:
analyzephysreg
2015 Dec 04
2
analyzePhysReg question
...is.Kills || Analysis.Clobbers)
// Register killed, so isn't live.
return LQR_Dead;
is incorrect I think. A clobber isn't a full def, and so cannot be assumed to be a kill. Some bits from the live-in value may pass through into the live-out value.
Looking into the code for anaylzePhysReg, I think the code looks like it intends for Defines to truly mean Reg or a super-register of Reg is defined, not any overlapping Reg is defined.
The code looks like this:
bool IsRegOrSuperReg = MOReg == Reg || TRI->isSuperRegister(MOReg, Reg);
...
if (IsRegOrSuperReg) {
PRI.Defines = true;...
2015 Dec 04
2
analyzePhysReg question
...is.Kills || Analysis.Clobbers)
// Register killed, so isn't live.
return LQR_Dead;
is incorrect I think. A clobber isn't a full def, and so cannot be assumed to be a kill. Some bits from the live-in value may pass through into the live-out value.
Looking into the code for anaylzePhysReg, I think the code looks like it intends for Defines to truly mean Reg or a super-register of Reg is defined, not any overlapping Reg is defined.
The code looks like this:
bool IsRegOrSuperReg = MOReg == Reg || TRI->isSuperRegister(MOReg, Reg);
...
if (IsRegOrSuperReg) {
PRI.Defines = true;...
2015 Dec 04
2
analyzePhysReg question
> On Dec 3, 2015, at 5:36 PM, Quentin Colombet via llvm-dev <llvm-dev at lists.llvm.org> wrote:
>
>>
>> On Dec 3, 2015, at 5:11 PM, Smith, Kevin B <kevin.b.smith at intel.com <mailto:kevin.b.smith at intel.com>> wrote:
>>
>>
>>
>>> -----Original Message-----
>>> From: Quentin Colombet [mailto:qcolombet at apple.com