-
Book Overview & Buying
-
Table Of Contents
LLVM Essentials
By :
Until now, we have been performing the operations on DAG. Now, for the machine to execute, we need to convert the DAGs into instruction that the machine can execute. One step towards it is emitting the list of instructions into MachineBasicBlock. This is done by the Scheduler, whose goal is to linearize the DAGs. The scheduling is dependent on the target architecture, as certain Targets will have target specific hooks which can affect the scheduling.
The class InstrEmitter::EmitMachineNode takes SDNode *Node as one of the input parameters for which it will be emitting machine instructions of the class MachineInstr. These instructions are emitted into a MachineBasicBlock.
The function calls EmitSubregNode, EmitCopyToRegClassNode and EmitRegSequence for the handling of subreg insert/extract, COPY_TO_REGCLASS, and REG_SEQUENCE respectively.
The call MachineInstrBuilder MIB = BuildMI(*MF, Node->getDebugLoc(), II); is used to build the Machine Instruction...
Change the font size
Change margin width
Change background colour