[llvm-dev] GlobalISel: Very limited pattern matching?
llvm-dev at lists.llvm.org
Mon May 20 05:49:54 PDT 2019
I'm trying to get GlobalISel up and running on an off-tree
architecture and am thinking I must be doing something wrong, given by
how few things actually work.
Namely, any ImmLeaf pattern will fail to match if there is a
(TRUNC/ZEXT/SEXT) applied to the constant operand, all of which are
commonly created through Legalization. This is due to G_CONSTANT being
explicitly looked for by the tablegened code, rather than code that
makes use of getConstantVRegVal.
Is there supposed to be a constant folding pass before Instruction
Selection? CSE does not fold past unaries applied to operands, I'm
surely missing a pass somewhere...
- Alex Davies
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the llvm-dev