meaning of $ in tablegen

What is the meaning of a $ sign in tablgen? Here is an example

// Pattern fragments
def vextract_sext_i8 : PatFrag<(ops node:$vec, node:$idx),
(MipsVExtractSExt node:$vec, node:$idx, i8)>;

|

  • |

Taken from

https://github.com/llvm-mirror/llvm/blob/fd031a51c35d1781c066a42e221a7ae28610be3f/lib/Target/Mips/MipsMSAInstrInfo.td#L118

Whenever you use a variable in TableGen, you write it

<type>:$<name>

The name is always prefixed with a $, similar to how in IR, identifiers are always prefixed with % or @.

‚Äč

Thanks.