aboutsummaryrefslogtreecommitdiffstats
path: root/include/llvm/CodeGen/MachineFunctionPass.h
diff options
context:
space:
mode:
authorDaniel Dunbar <daniel@zuster.org>2009-07-31 03:02:41 +0000
committerDaniel Dunbar <daniel@zuster.org>2009-07-31 03:02:41 +0000
commitc5b19b21d84814d19692a6bbea11fbd135f4b094 (patch)
treebb1bd4e3aa43436e497fba177d854d517f35075a /include/llvm/CodeGen/MachineFunctionPass.h
parent527695dd66971086f1a67ad30762c47fc7bce5d1 (diff)
downloadexternal_llvm-c5b19b21d84814d19692a6bbea11fbd135f4b094.zip
external_llvm-c5b19b21d84814d19692a6bbea11fbd135f4b094.tar.gz
external_llvm-c5b19b21d84814d19692a6bbea11fbd135f4b094.tar.bz2
Revert r77654, it appears to be causing llvm-gcc bootstrap failures, and many
failures when building assorted projects with clang. --- Reverse-merging r77654 into '.': U include/llvm/CodeGen/Passes.h U include/llvm/CodeGen/MachineFunctionPass.h U include/llvm/CodeGen/MachineFunction.h U include/llvm/CodeGen/LazyLiveness.h U include/llvm/CodeGen/SelectionDAGISel.h D include/llvm/CodeGen/MachineFunctionAnalysis.h U include/llvm/Function.h U lib/Target/CellSPU/SPUISelDAGToDAG.cpp U lib/Target/PowerPC/PPCISelDAGToDAG.cpp U lib/CodeGen/LLVMTargetMachine.cpp U lib/CodeGen/MachineVerifier.cpp U lib/CodeGen/MachineFunction.cpp U lib/CodeGen/PrologEpilogInserter.cpp U lib/CodeGen/MachineLoopInfo.cpp U lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp D lib/CodeGen/MachineFunctionAnalysis.cpp D lib/CodeGen/MachineFunctionPass.cpp U lib/CodeGen/LiveVariables.cpp git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77661 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/CodeGen/MachineFunctionPass.h')
-rw-r--r--include/llvm/CodeGen/MachineFunctionPass.h16
1 files changed, 5 insertions, 11 deletions
diff --git a/include/llvm/CodeGen/MachineFunctionPass.h b/include/llvm/CodeGen/MachineFunctionPass.h
index 6f7c216..6b5e64a 100644
--- a/include/llvm/CodeGen/MachineFunctionPass.h
+++ b/include/llvm/CodeGen/MachineFunctionPass.h
@@ -24,25 +24,19 @@
namespace llvm {
-/// MachineFunctionPass - This class adapts the FunctionPass interface to
-/// allow convenient creation of passes that operate on the MachineFunction
-/// representation. Instead of overriding runOnFunction, subclasses
-/// override runOnMachineFunction.
-class MachineFunctionPass : public FunctionPass {
-protected:
+ // FIXME: This pass should declare that the pass does not invalidate any LLVM
+ // passes.
+struct MachineFunctionPass : public FunctionPass {
explicit MachineFunctionPass(intptr_t ID) : FunctionPass(ID) {}
explicit MachineFunctionPass(void *ID) : FunctionPass(ID) {}
+protected:
/// runOnMachineFunction - This method must be overloaded to perform the
/// desired machine code transformation or analysis.
///
virtual bool runOnMachineFunction(MachineFunction &MF) = 0;
- /// getAnalysisUsage - Subclasses that override getAnalysisUsage
- /// must call this.
- virtual void getAnalysisUsage(AnalysisUsage &AU) const;
-
-private:
+public:
bool runOnFunction(Function &F);
};