Displaying 4 results from an estimated 4 matches for "mvini".
Did you mean:
mini
2016 Jan 13
2
Expanding a PseudoOp and accessing the DAG
...dst),
>> (ins i64imm:$spoff, i64imm:$addr),
>> "! RELADDR $spoff, $dst",
>> [(set GPRC:$dst, (XSTGRELADDR
>> i64:$spoff,
>>
>> (i64 (XSTGMVINI i64:$addr))
>> )
>> )]>;
>> }
>>
>
> Since i64imm is an immediate, the constraint "$dst = $addr" doesn't make
> sense. The constraint is there to tie the...
2016 Jan 15
2
Expanding a PseudoOp and accessing the DAG
...t this part:
>>
>> load r1, r1, GRP
>>
>> So the movimm is missing. That's because I've added the Pseudo
>> instruction RelAddr and GlobalAddress nodes get converted to RelAddr
>> nodes in LowerGlobalAddress.... They used to get converted to the MVINI
>> node type there prior to adding the RelAddr pseudo inst.
>>
>> It feels like more of this needs to be done in the LowerGlobalAddress
>> function, but I have no idea how to do it there - you seem to only be
>> able to get one instruction out of a lowering like that,...
2016 Jan 13
2
Type inference in TableGen DAG patterns
Given the following definitions:
def SDT_XSTGMVINI : SDTypeProfile<1, 1, [SDTCisInt<0>]>;
def XSTGMVINI : SDNode<"XSTGISD::MVINI", SDT_XSTGMVINI>;
def SDT_RELADDR : SDTypeProfile<1, 2, []>;
def XSTGRELADDR : SDNode<"XSTGISD::RELADDR", SDT_RELADDR>;
let Constrai...
2016 Jan 13
2
Expanding a PseudoOp and accessing the DAG
...(ins i64imm:$spoff, i64imm:$addr),
"! RELADDR $spoff, $dst",
[(set GPRC:$dst, (XSTGRELADDR
i64:$spoff,
(i64
(XSTGMVINI i64:$addr))
)
)]>;
}
GlobalAddresses get lowered to RelAddr nodes in our ISelLowering code. Now
I just need to be able to expand this in our overridden expandPostRAPseudo
function, however, I'm a bi...