0
MachineFunctionPass::runOnMachineFunction
은 1lvm에서 MachineFunction
을 실행하므로, 여기에 MachineFunction
은 무엇을 의미합니까? 함수의 코드 생성 후 IR 형식의 패스를 실행하는 가장 빠른 시간인가?MachineFunctionPass를 실행하는 가장 빠른시기는 언제입니까?
MachineFunctionPass::runOnMachineFunction
은 1lvm에서 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