forked from OSchip/llvm-project
Make MachineFunctionPass::runOnFunction non-virtual. Subclasses override
the virtual function runOnMachineFunction instead. And add access specifiers. llvm-svn: 37924
This commit is contained in:
parent
de9c825859
commit
83b095df36
|
@ -28,17 +28,20 @@ struct MachineFunctionPass : public FunctionPass {
|
||||||
|
|
||||||
explicit MachineFunctionPass(intptr_t ID) : FunctionPass(ID) {}
|
explicit MachineFunctionPass(intptr_t ID) : FunctionPass(ID) {}
|
||||||
|
|
||||||
|
protected:
|
||||||
/// runOnMachineFunction - This method must be overloaded to perform the
|
/// runOnMachineFunction - This method must be overloaded to perform the
|
||||||
/// desired machine code transformation or analysis.
|
/// desired machine code transformation or analysis.
|
||||||
///
|
///
|
||||||
virtual bool runOnMachineFunction(MachineFunction &MF) = 0;
|
virtual bool runOnMachineFunction(MachineFunction &MF) = 0;
|
||||||
|
|
||||||
|
public:
|
||||||
// FIXME: This pass should declare that the pass does not invalidate any LLVM
|
// FIXME: This pass should declare that the pass does not invalidate any LLVM
|
||||||
// passes.
|
// passes.
|
||||||
virtual bool runOnFunction(Function &F) {
|
bool runOnFunction(Function &F) {
|
||||||
return runOnMachineFunction(MachineFunction::get(&F));
|
return runOnMachineFunction(MachineFunction::get(&F));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private:
|
||||||
virtual void virtfn(); // out of line virtual fn to give class a home.
|
virtual void virtfn(); // out of line virtual fn to give class a home.
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue