-
Book Overview & Buying
-
Table Of Contents
-
Feedback & Rating
LLVM Cookbook
By :
The MachineInstrBuilder class exposes a function called BuildMI(). This function is used to build machine instructions.
Machine instructions are created by using the BuildMI functions, located in the include/llvm/CodeGen/MachineInstrBuilder.h file. The BuildMI functions make it easy to build arbitrary machine instructions.
For example, you can use BuildMI in code snippets for the following purposes:
To create a DestReg = mov 42 (rendered in the x86 assembly as mov DestReg, 42) instruction:
MachineInstr *MI = BuildMI(X86::MOV32ri, 1, DestReg).addImm(42);
To create the same instruction, but insert it at the end of a basic block:
MachineBasicBlock &MBB = BuildMI(MBB, X86::MOV32ri, 1, DestReg).addImm(42);
To create the same instruction, but insert it before a specified iterator point:
MachineBasicBlock::iterator MBBI = BuildMI(MBB, MBBI, X86::MOV32ri, 1, DestReg).addImm(42)
To create a self-looping branch instruction:
BuildMI(MBB, X86::JNE,...
Change the font size
Change margin width
Change background colour