[llvm-dev] New register class and patterns

Krzysztof Parzyszek via llvm-dev llvm-dev at lists.llvm.org
Fri Jan 29 10:22:29 PST 2016


On 1/28/2016 8:11 PM, Rail Shafigulin via llvm-dev wrote:
>
> Would anyone be able to figure out why this is happening? I can provide
> more code if needed.

The error message should show what types have been inferred so far.

You can overcome this problem by specifying the exact type in the 
pattern, e.g. instead of Class:$Reg, have (i32 Class:$Reg).

This happens when the value can have multiple types what can be 
represented in the same register class.  For example, a 32-bit register 
could hold i32, v2i16, v4i8, etc.  When tablegen cannot figure out which 
of those it's dealing with, it will complain.

-Krzysztof

-- 
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, 
hosted by The Linux Foundation


More information about the llvm-dev mailing list