Displaying 4 results from an estimated 4 matches for "addr_use_grp".
2016 Jan 15
2
Expanding a PseudoOp and accessing the DAG
...nd about your target so
> far):
>
> Define two additional ISD opcodes, specific to your target. One to denote
> a "normal" address, the other to mean "address using GRP". For example
> (you can invent better names for them): XSTGISD::ADDR_NORMAL and
> XSGTISD::ADDR_USE_GRP. Each of them will take a global address as an
> operand and return an address, and their only function will be to serve as
> a "tag" for the instruction selection algorithm to be able to apply
> different selection patterns to them.
>
> In the .td file, define SDNodes corr...
2016 Jan 13
2
Expanding a PseudoOp and accessing the DAG
On Wed, Jan 13, 2016 at 2:08 PM, Krzysztof Parzyszek via llvm-dev <
llvm-dev at lists.llvm.org> wrote:
> On 1/13/2016 2:26 PM, Phil Tomson via llvm-dev wrote:
>
>> I've got this PseudoOp defined:
>>
>> def SDT_RELADDR : SDTypeProfile<1, 2, [SDTCisInt<0>, SDTCisInt<1>]>;
>> def XSTGRELADDR :
2016 Jan 15
2
Expanding a PseudoOp and accessing the DAG
...>><<P:Predicate_load>>
> - Complexity = 10
> // Dst: (LOADI64_RI:i64 (tglobaladdr:i64):$addr, 0:i64)
>
> Not sure why the initial Opcode index is being set to 0 instead of 2235?
That's where matching of ADDR_NORMAL begins. Is the code matching
ADDR_USE_GRP in the .inc file?
-Krzysztof
--
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
hosted by The Linux Foundation
2016 Jan 15
2
Expanding a PseudoOp and accessing the DAG
...wrote:
>
> Ah, I see, the defm is a multi-class so I needed to change it to:
>
> def: Pat<(load (XSTGADDR_NORMAL tglobaladdr:$addr)),
> (LOADI64_RI tglobaladdr:$addr, 0)>;
> // Match load from a relocatable address to a load with GRP:
> def: Pat<(load (XSTGADDR_USE_GRP tglobaladdr:$addr)),
> (LOADI64_RI (MOVIMMZ_I64 tglobaladdr:$addr), GRP)>;
Right.
> ...at least that gets through TableGen.
Excellent.
-Krzysztof
--
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
hosted by The Linux Foundation