search for: debug_expr

Displaying 4 results from an estimated 4 matches for "debug_expr".

2018 Nov 27
2
[RFC] Tablegen-erated GlobalISel Combine Rules
...(isScalarType type:$D), (isLargerType type:$D, type:$S)), (apply (G_ZEXT $D, $S, (debug_locations $MI0, $MI1)))>; def : GICombineRule<(defs reg:$D, reg:$S, instr:$MI0, instr:$MI1, instr:$MI2, instr:$MI3, debug_expr:$DNewExpr), (match (G_ZEXT $t0, $S):$MI0, (G_TRUNC $D, $t0):$MI1, (DBG_VALUE $t0):$MI2, (DBG_VALUE $D):$MI3, (isScalarType type:$D),...
2018 Nov 30
2
[RFC] Tablegen-erated GlobalISel Combine Rules
...$t0, $S):$MI0, >> (G_TRUNC $D, $t0):$MI1), >> (isScalarType type:$D), >> (isLargerType type:$D, type:$S)), >> (apply (G_ZEXT $D, $S, (debug_locations $MI0, $MI1)))>; >> def : GICombineRule<(defs reg:$D, reg:$S, instr:$MI0, instr:$MI1, instr:$MI2, instr:$MI3, debug_expr:$DNewExpr), >> (match (G_ZEXT $t0, $S):$MI0, >> (G_TRUNC $D, $t0):$MI1, >> (DBG_VALUE $t0):$MI2, >> (DBG_VALUE $D):$MI3, >>...
2018 Nov 27
3
[RFC] Tablegen-erated GlobalISel Combine Rules
...ons $DL0, $DL1)))>; However, the former is more compact when DBG_VALUE is involved since naming the instruction gives access to three of the four pieces of data we need to pass on to the apply step: def : GICombineRule<(defs reg:$D, reg:$S, instr:$MI0, instr:$MI1, instr:$MI2, instr:$MI3, debug_expr:$DNewExpr), (match (G_ZEXT $t0, $S):$MI0, (G_TRUNC $D, $t0):$MI1, (DBG_VALUE $t0):$MI2, (DBG_VALUE $D):$MI3, (isScalarType type:$D),...
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,