我正在阅读Writing An LLVM Backend,但我找不到“模式支持”(Pattern,Pat,PatFrag,PatLeaf,ComplexPattern)的含义和定义。
答案 0 :(得分:3)
首先阅读The LLVM Target-Independent Code Generator。特别是,this section about instruction selection应该回答您的问题。
E.g:
此阶段采用合法的SelectionDAG作为输入,模式匹配 目标支持的指令到此DAG,并生成一个新的 目标代码的DAG。
这是一个很长的部分,有例子,所以在这里完全复制它没有多大意义。
DAG匹配是许多编译器文本中出现的主题,并不是特定于LLVM的。
对于更多LLVM细节,特别是tablegen,还有this resource。