TableGen语言中的模式支持是什么

时间:2014-10-01 09:31:05

标签: llvm llvm-ir

我正在阅读Writing An LLVM Backend,但我找不到“模式支持”(Pattern,Pat,PatFrag,PatLeaf,ComplexPattern)的含义和定义。

1 个答案:

答案 0 :(得分:3)

首先阅读The LLVM Target-Independent Code Generator。特别是,this section about instruction selection应该回答您的问题。

E.g:

  

此阶段采用合法的SelectionDAG作为输入,模式匹配   目标支持的指令到此DAG,并生成一个新的   目标代码的DAG。

这是一个很长的部分,有例子,所以在这里完全复制它没有多大意义。

DAG匹配是许多编译器文本中出现的主题,并不是特定于LLVM的。

对于更多LLVM细节,特别是tablegen,还有this resource