[llvm-dev] dumb question about tblgen
Quentin Colombet via llvm-dev
llvm-dev at lists.llvm.org
Wed May 25 17:24:51 PDT 2016
Hi Peter,
I would recommend looking into the implementation of the matcher if you want to add more builtin types:
utils/TableGen//DAGISelMatcherGen.cpp
That being said, you can define your own types without having to go through that hassle.
E.g., from AArch64
def simm9 : Operand<i64>, ImmLeaf<i64, [{ return Imm >= -256 && Imm < 256; }]> {
let ParserMatchClass = SImm9Operand;
}
Wouldn’t that work for you?
Cheers,
-Quentin
> On May 25, 2016, at 5:06 PM, Lawrence, Peter via llvm-dev <llvm-dev at lists.llvm.org> wrote:
>
> Dumb question about llvm-tblgen for “XyzGenInstrInfo.inc”
>
> If I have a pattern in my dot-td-file like this
>
> [(set i32:$dst (add i32:$rs1, i32:$rs2))]
>
> The question is where does the token “i32” come from,
> I don’t see any definitions for i1, i8, i16, i32, … in
> include/llvm/Target/*.td
>
> while I do see definitions for tokens like “set”, “add”, …
> coming from
> include/llvm/Target/TargetSelectionDAG.td
>
> presumably these tokens are related to the enum in
> include/llvm/CodeGen/MachineValueType.h
> but how does tblgen know about them,
>
>
> To put the question into context, if I add an item to the enum in “MachineValueType.h”
> What do I do about
> “error: Variable not defined:”
> Coming from tblgen when I try to use it in my dot-td-file,
> I’ve already tried re-building tblgen, but that didn’t help.
>
>
>
> thanks,
> --Peter Lawrence.
> _______________________________________________
> LLVM Developers mailing list
> llvm-dev at lists.llvm.org <mailto:llvm-dev at lists.llvm.org>
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev <http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20160525/eb2c833b/attachment.html>
More information about the llvm-dev
mailing list