// initialize machine function iterator llvm::MachineFunction& MF = ...; llvm::MachineBasicBlock* MBB = &MF.front(); llvm::MachineFunction::iterator MFI = MF.begin(); llvm::MachineFunction::iterator MFE = MF.end(); // iterate through machine function basic blocks for (; MFI != MFE; ++MFI) { for (llvm::MachineBasicBlock::iterator MI = MFI->begin(), ME = MFI->end(); MI != ME; ++MI) { // do something with each instruction in the basic block } }In this example, we initialize a `MachineFunction` object `MF` and get its iterator `MFI` and `MFE`. We use these iterators to iterate through the basic blocks and instructions of the machine function. This code is part of the LLVM library, which is a collection of modular and reusable compiler and toolchain technologies.