#define DEBUG_TYPE …
#include "HexagonMachineFunctionInfo.h"
#include "HexagonSubtarget.h"
#include "HexagonTargetMachine.h"
#include "llvm/ADT/SmallString.h"
#include "llvm/ADT/Statistic.h"
#include "llvm/ADT/Twine.h"
#include "llvm/CodeGen/MachineFunction.h"
#include "llvm/CodeGen/MachineFunctionPass.h"
#include "llvm/CodeGen/MachineInstrBuilder.h"
#include "llvm/CodeGen/Passes.h"
#include "llvm/CodeGen/TargetInstrInfo.h"
#include "llvm/IR/Function.h"
#include "llvm/IR/Module.h"
#include "llvm/Support/CommandLine.h"
#include "llvm/Support/Debug.h"
#include "llvm/Support/MathExtras.h"
#include "llvm/Target/TargetMachine.h"
usingnamespacellvm;
namespace llvm {
FunctionPass *createHexagonMask();
void initializeHexagonMaskPass(PassRegistry &);
class HexagonMask : public MachineFunctionPass { … };
char HexagonMask::ID = …;
void HexagonMask::replaceConstExtTransferImmWithMask(MachineFunction &MF) { … }
bool HexagonMask::runOnMachineFunction(MachineFunction &MF) { … }
}
INITIALIZE_PASS(…)
FunctionPass *llvm::createHexagonMask() { … }