#include "llvm/ADT/SetVector.h"
#include "llvm/Analysis/AliasAnalysis.h"
#include "llvm/CodeGen/MachineFunctionPass.h"
#include "llvm/CodeGen/MachineInstr.h"
#include "llvm/CodeGen/MachineRegisterInfo.h"
#include "llvm/CodeGen/TargetInstrInfo.h"
#include "llvm/CodeGen/TargetSubtargetInfo.h"
#include "llvm/InitializePasses.h"
#include "llvm/Pass.h"
#include "llvm/PassRegistry.h"
#include "llvm/Support/Debug.h"
#include "llvm/Support/raw_ostream.h"
usingnamespacellvm;
#define DEBUG_TYPE …
namespace {
class ProcessImplicitDefs : public MachineFunctionPass { … };
}
char ProcessImplicitDefs::ID = …;
char &llvm::ProcessImplicitDefsID = …;
INITIALIZE_PASS(…)
void ProcessImplicitDefs::getAnalysisUsage(AnalysisUsage &AU) const { … }
bool ProcessImplicitDefs::canTurnIntoImplicitDef(MachineInstr *MI) { … }
void ProcessImplicitDefs::processImplicitDef(MachineInstr *MI) { … }
bool ProcessImplicitDefs::runOnMachineFunction(MachineFunction &MF) { … }