[llvm-dev] Tablegen: frameindex matches register
Krzysztof Parzyszek via llvm-dev
llvm-dev at lists.llvm.org
Mon Dec 24 10:37:23 PST 2018
There is no way to match frameindex in TableGen (unless something has
changed recently). Use ComplexPattern instead. We do that on Hexagon,
grep for AddrFI.
-Krzysztof
On 12/24/2018 12:18 AM, Gleb Popov via llvm-dev wrote:
> Hello.
>
> In my backend I have following definition:
>
> def StoreStackR : MyInst<2, (outs), (ins IntRegs:$addr, IntRegs:$reg),
> "store $reg, [$addr]", [(store i32:$reg,
> frameindex:$addr)]>;
>
> However, LLVM generates both
>
> storestackr %reg1, [%reg2]
>
> and
>
> storestackr %reg1, [123123]
>
> using this definition. I was expecting that "IntRegs:$addr" would
> constrain it to registers only. As consequence, I can't infer operand
> type from the opcode. What's the proper way to solve this?
>
> Thanks in advance.
>
> <http://www.avg.com/email-signature?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=emailclient>
> Virus-free. www.avg.com
> <http://www.avg.com/email-signature?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=emailclient>
>
>
> <#DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2>
>
> _______________________________________________
> LLVM Developers mailing list
> llvm-dev at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
>
More information about the llvm-dev
mailing list