Displaying 3 results from an estimated 3 matches for "understyand".
Did you mean:
understand
2007 Sep 25
0
[LLVMdev] Coalescing and VNInfo
...coalescer is
trying to get the vaue number for the def of the RHS register so it can
use that value number in the resulting merged live interval?
The comment at the top of the loop is:
00695 // Loop over the value numbers of the LHS, seeing if any are defined
from
00696 // the RHS.
As I understyand it, it's looking for def-use chains from the RHS interval to
the LHS interval.
That says to me that it's looking for defs of the RHS value, not uses. Why
should it expect that a value number defined in some live interval would also
be used in that live interval at the use slot *before*...
2007 Sep 25
1
[LLVMdev] Coalescing and VNInfo
...r for the def of the RHS register so it can
> use that value number in the resulting merged live interval?
>
> The comment at the top of the loop is:
>
> 00695 // Loop over the value numbers of the LHS, seeing if any are
> defined from
> 00696 // the RHS.
>
> As I understyand it, it's looking for def-use chains from the RHS interval
> to the LHS interval.
Ah, that's where I got it wrong. I think I get it now. We're looking at the
copy "LHS = RHS" so it takes the def index from the LHS interval and
"def-1" is the use index for "...
2007 Sep 25
2
[LLVMdev] Coalescing and VNInfo
LLVM is assuming this:
struct InstrSlots {
enum {
LOAD = 0,
USE = 1,
DEF = 2,
STORE = 3,
NUM = 4
};
So VNI->def is always modulo 2. For coalescing, it's checking if the
RHS is live at the "use" cycle. So it's checking VNI->def-1.
Evan
On Sep 25, 2007, at 8:55 AM, David Greene wrote:
> On Tuesday