class BogusTargetLowering : public TargetLowering { … };
class BogusFrameLowering : public TargetFrameLowering { … };
static TargetRegisterClass *const BogusRegisterClasses[] = …;
class BogusRegisterInfo : public TargetRegisterInfo { … };
class BogusSubtarget : public TargetSubtargetInfo { … };
static TargetOptions getTargetOptionsForBogusMachine() { … }
class BogusTargetMachine : public LLVMTargetMachine { … };
BogusTargetMachine *createTargetMachine() { … }
std::unique_ptr<MachineFunction> createMachineFunction(LLVMContext &Ctx,
Module &M) { … }