0
由於MachineFunctionPass::runOnMachineFunction
在llvm上的MachineFunction
上運行,MachineFunction
是什麼意思?在IR格式的函數的代碼生成之後,是否最早運行此類傳遞?運行MachineFunctionPass的最早時間是什麼?
由於MachineFunctionPass::runOnMachineFunction
在llvm上的MachineFunction
上運行,MachineFunction
是什麼意思?在IR格式的函數的代碼生成之後,是否最早運行此類傳遞?運行MachineFunctionPass的最早時間是什麼?
MachineFunction在指令選擇和「調度」之後,即在SelectionDAG之後。
參見:http://llvm.org/docs/CodeGenerator.html#high-level-design-of-the-code-generator; MachineInstrs創建第2步,MachinFunctionPass可以開始運行第3步。
但'XXXDAGToDAGISel'也是一個'MachineFunctionPass',此時所選指令尚未啓動。 – Thomson
DAGToDAGISel是指令選擇,它正好是使用MachineInstrs填充MachineFunction的通道,請參閱http://people.cs.pitt.edu/~yongli/notes/llvm5/LLVM5.html以獲得詳細的演練。 – Joky