search for: anyload

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,