[llvm-dev] Incompatible type assertion from llvm-tblgen

Tim Northover via llvm-dev llvm-dev at lists.llvm.org
Tue Oct 4 13:45:19 PDT 2016


On 4 October 2016 at 13:41, Phil Tomson <phil.a.tomson at gmail.com> wrote:
> So it morphs it into a LOADI32_RR which isn't what I'd like it to do... I'm
> not sure what I'm missing - do I need to try to match a bigger piece of the
> DAG, or something? (which I tried to do earlier (see early part of the
> thread), but that didnt' work out for other reasons)

This is likely to be a priority issue (your shifted pattern would be
tried, but the LOADI32_RR one claims the fragment first). If so, there
are two possible solutions:

  + Put some "AddedComplexity" boost into the pattern you want to
match so that LLVM knows it's better and tries it first.
  + Make the LOADI32_RR ComplexPattern also check for the shifted case
and refuse to handle it ("return false") if found.

Cheers.

Tim.


More information about the llvm-dev mailing list