#include "llvm/ADT/SmallVector.h"
#include "llvm/ADT/Statistic.h"
#include "llvm/CodeGen/MachineBasicBlock.h"
#include "llvm/CodeGen/MachineFunction.h"
#include "llvm/CodeGen/MachineFunctionPass.h"
#include "llvm/CodeGen/MachineJumpTableInfo.h"
#include "llvm/CodeGen/Passes.h"
#include "llvm/CodeGen/TargetInstrInfo.h"
#include "llvm/InitializePasses.h"
usingnamespacellvm;
#define DEBUG_TYPE …
STATISTIC(NumEmptyBlocksRemoved, "Number of empty blocks removed");
class GCEmptyBasicBlocks : public MachineFunctionPass { … };
bool GCEmptyBasicBlocks::runOnMachineFunction(MachineFunction &MF) { … }
char GCEmptyBasicBlocks::ID = …;
INITIALIZE_PASS(…)
MachineFunctionPass *llvm::createGCEmptyBasicBlocksPass() { … }