2014-11-08 280 views

回答

2

首先,我想给你一对夫妇奇妙的联系,以了解有关指令选择:

简而言之,SelectionDAG是一种内部具有明确指令依赖性的表示。它用于指令选择和调度(DAG example)。

SelectionDAGISel是独立于机器的LLVM IR转换成依赖机器的表示(MachineFunctionMachineBasicBlockMachineInstr)一通,即通构建SelectionDAG并执行指令选择和调度。它被特定的目标分类,例如ARMDAGToDAGISel

SelectionDAGBuilder是从LLVM IR构建SelectionDAG的类。我不确定SelectionDAGLowering。它似乎是SelectionDAGBuilder类的旧名称。