Displaying 5 results from an estimated 5 matches for "mmo_is_load8".
2018 Nov 30
2
[RFC] Tablegen-erated GlobalISel Combine Rules
...>> const auto &MMO = *${A}.memoperands_begin();
>> return MMO.isLoad() && MMO.getSize() == 1;
>> }]>;
>> def : GICombineRule<
>> (defs operand:$D, operand:$A),
>> (match (G_LOAD $D, $A):$MI,
>> (mmo_is_load8 instr:$MI)),
>> (apply ...)>;
>> I've made use of the naming instructions here since this was better in the debug info section. If we choose the alternative in that section then we can change it to $D or $A instead (either way the generated code would call getParent()).
>...
2018 Nov 27
3
[RFC] Tablegen-erated GlobalISel Combine Rules
..., [{
if (!${A}.hasOneMemOperand())
return false;
const auto &MMO = *${A}.memoperands_begin();
return MMO.isLoad() && MMO.getSize() == 1;
}]>;
def : GICombineRule<
(defs operand:$D, operand:$A),
(match (G_LOAD $D, $A):$MI,
(mmo_is_load8 instr:$MI)),
(apply ...)>;
I've made use of the naming instructions here since this was better in the debug info section. If we choose the alternative in that section then we can change it to $D or $A instead (either way the generated code would call getParent()).
-------------- next...
2018 Nov 27
2
[RFC] Tablegen-erated GlobalISel Combine Rules
...)))>;
// This one keeps the def of $D/$A because we wanted operand instead of reg. We didn't have
// anything requiring that though and could trivially change them to reg.
def : GICombineRule<
(defs operand:$D, operand:$A),
(match (G_LOAD $D, $A):$MI,
(mmo_is_load8 instr:$MI)),
(apply ...)>;
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20181127/7aca646b/attachment-0001.html>
2018 Nov 30
2
[RFC] Tablegen-erated GlobalISel Combine Rules
...This one keeps the def of $D/$A because we wanted operand instead of reg. We didn't have
>> // anything requiring that though and could trivially change them to reg.
>> def : GICombineRule<
>> (defs operand:$D, operand:$A),
>> (match (G_LOAD $D, $A):$MI,
>> (mmo_is_load8 instr:$MI)),
>> (apply ...)>;
>
> --
> Lerne, wie die Welt wirklich ist,
> Aber vergiss niemals, wie sie sein sollte.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20181129/e3903b45/at...
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,