Displaying 4 results from an estimated 4 matches for "killsregist".
Did you mean:
killsregister
2007 Apr 04
0
[LLVMdev] Live intervals and aliasing registers problem
...t; handleRegisterDef() does a similar thing where calls
> handlePhysicalRegisterDef() on all members of getAliasSet() returned
> for the def, which also triggers this problem.
>
> Is it calling handle*() on the alias set of a register thats the
> culprit, or is it some mishandling in KillsRegister()?
This is a pretty serious bug. LiveVariables::KillsRegister should not
kill aliases that are "larger". The correct way to fix this is to
explicitly list registers that are defined, used, and killed. So your
example should look like:
entry (0x8503c80, LLVM BB @0x8501af0, ID#0):...
2007 Apr 03
2
[LLVMdev] Live intervals and aliasing registers problem
...mputeIntervals() ).
handleRegisterDef() does a similar thing where calls
handlePhysicalRegisterDef() on all members of getAliasSet() returned
for the def, which also triggers this problem.
Is it calling handle*() on the alias set of a register thats the
culprit, or is it some mishandling in KillsRegister()?
Thanks
--
Christopher Lamb
2007 Mar 27
0
[LLVMdev] Live intervals and aliasing registers problem
On Mar 25, 2007, at 7:12 AM, Christopher Lamb wrote:
> While beginning to add vector registers to a back end I came across
> the following problem: as soon as I define two sets of registers
> that have a many-to-one mapping the live interval pass appears to
> double-kill the mapped-onto register. I have the following excerpts
> from my RegisterInfo.td.
>
> def V4R0
2007 Mar 25
2
[LLVMdev] Live intervals and aliasing registers problem
While beginning to add vector registers to a back end I came across
the following problem: as soon as I define two sets of registers that
have a many-to-one mapping the live interval pass appears to double-
kill the mapped-onto register. I have the following excerpts from my
RegisterInfo.td.
def V4R0 : R4v<0 , "V4R0 ", []>, DwarfRegNum<0>;
def R0 : Rg<0 ,