[llvm-dev] Question about LLVM backend and TableGen

Sheng Yan Chen via llvm-dev llvm-dev at lists.llvm.org
Sat Nov 20 05:16:43 PST 2021


Hi all,

I'm hacking LLVM TableGen file and I'm stuck with that. My problem is: I
know what the records mean, but I don't know what it will become.

Here's a simple example from RISCVInstrInfo.td

def BEQ   :  BranchCC_rri<0b000, "beq">

I know it is a branch-if-equal instruction in RISCV, I know "0b000" is its
encoding, I know "beq" is its assembly name. But I don't know what it will
becomes after TableGen processing it.

Will it be used at Instruction pattern matching ? Will it be used at
disassembler ? Will it be used at assembler ?

How can I know what this record will become after TableGen processing it ?

Thinking from another way, when I writing a new backend, how can I know
what kinds of TableGen record I need to supply ?

Is hacking TableGen backend a good way to get through this ?

Thanks for reading this dumb question :)

Sheng.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20211120/ac51a53d/attachment.html>


More information about the llvm-dev mailing list