Displaying 7 results from an estimated 7 matches for "anyload".
2018 Nov 27
2
[RFC] Tablegen-erated GlobalISel Combine Rules
...ng_load_matchdata:$matchinfo)),
(apply (exec [{ Helper.applyCombineExtendingLoads(${D}, ${matchinfo.B}); }],
reg:$D, extending_load_matchdata:$matchinfo)>;
// I haven't included any rules for omitting defs from GIMacro but I can look into this if we want.
def ANYLOAD : GIMacro<(defs def:$R, use:$S, uint64_t:$IDX),
(match (oneof (match (G_LOAD $R, $S)),
(match (G_SEXTLOAD $R, $S)),
(match (G_ZEXTLOAD $R, $S))):$IDX>;
// $ANYLOAD is needed to import...
2018 Nov 30
2
[RFC] Tablegen-erated GlobalISel Combine Rules
..._matchdata:$matchinfo)),
>> (apply (exec [{ Helper.applyCombineExtendingLoads(${D}, ${matchinfo.B}); }],
>> reg:$D, extending_load_matchdata:$matchinfo)>;
>> // I haven't included any rules for omitting defs from GIMacro but I can look into this if we want.
>> def ANYLOAD : GIMacro<(defs def:$R, use:$S, uint64_t:$IDX),
>> (match (oneof (match (G_LOAD $R, $S)),
>> (match (G_SEXTLOAD $R, $S)),
>> (match (G_ZEXTLOAD $R, $S))):$IDX>;
>> // $ANYLOAD is needed to import the macro and name its instance
>> def extending_loads : GI...
2018 Nov 27
3
[RFC] Tablegen-erated GlobalISel Combine Rules
...hat the children of 'oneof' all have 'match' at the top-level. This is for the same reason 'match' was kept on the simple example: the relaxed type checking on 'dag' compared to 'list<X>' allows us to freely mix DAG-style matches and predicates.
def ANYLOAD : GIMacro<(defs def:$R, use:$S, uint64_t:$IDX),
(match (oneof (match (G_LOAD $R, $S)),
(match (G_SEXTLOAD $R, $S)),
(match (G_ZEXTLOAD $R, $S))):$IDX>;
def extending_loads : GICombine...
2018 Nov 30
2
[RFC] Tablegen-erated GlobalISel Combine Rules
...hildren of 'oneof' all have 'match' at the top-level. This is for the same reason 'match' was kept on the simple example: the relaxed type checking on 'dag' compared to 'list<X>' allows us to freely mix DAG-style matches and predicates.
>> def ANYLOAD : GIMacro<(defs def:$R, use:$S, uint64_t:$IDX),
>> (match (oneof (match (G_LOAD $R, $S)),
>> (match (G_SEXTLOAD $R, $S)),
>> (match (G_ZEXTLOAD $R, $S))):$IDX>;
>>...
2018 Nov 09
5
[RFC] Tablegen-erated GlobalISel Combine Rules
...AD. We need some means to match one of several alternatives as well as collect and re-use common subpatterns. I've yet to look into how this would be practically implemented and this section is a bit vague as a result but here's the current thinking on how it should look and behave:
def ANYLOAD : GIMacro<(defs def:$R, use:$S, uint64_t:$IDX),
(match (oneof [{MIR %R = G_LOAD %S}],
[{MIR %R = G_SEXTLOAD %S}],
[{MIR %R = G_ZEXTLOAD %S}]):$IDX>;
def extending_loads : GICombineRul...
2018 Nov 10
3
[RFC] Tablegen-erated GlobalISel Combine Rules
...ed some means to match one of several alternatives as well as collect and re-use common subpatterns. I've yet to look into how this would be practically implemented and this section is a bit vague as a result but here's the current thinking on how it should look and behave:
>> def ANYLOAD : GIMacro<(defs def:$R, use:$S, uint64_t:$IDX),
>> (match (oneof [{MIR %R = G_LOAD %S}],
>> [{MIR %R = G_SEXTLOAD %S}],
>> [{MIR %R = G_ZEXTLOAD %S}]):$IDX>;
>>...
2018 Nov 12
3
[RFC] Tablegen-erated GlobalISel Combine Rules
> On Nov 10, 2018, at 03:28, Nicolai Hähnle <nhaehnle at gmail.com> wrote:
>
> Thank you for the detailed reply! There's a lot to digest :) Let me try to address most of it.
>
>
> [snip]
>>> I also think you should have 'ins' and 'outs' separately; after all, a predicate may have to do a combined check on two matched registers / operands,