diff options
author | Chris Lattner <sabre@nondot.org> | 2002-04-27 06:56:12 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2002-04-27 06:56:12 +0000 |
commit | f57b845547302d24ecb6a9e79d7bc386f761a6c9 (patch) | |
tree | 369bc5be013a3a6d0373dbf26820d701e01c5297 /include/llvm/Transforms/Utils/UnifyFunctionExitNodes.h | |
parent | f2361c5e5c2917e6f19a55927b221d8671753a40 (diff) |
* Rename MethodPass class to FunctionPass
- Rename runOnMethod to runOnFunction
* Transform getAnalysisUsageInfo into getAnalysisUsage
- Method is now const
- It now takes one AnalysisUsage object to fill in instead of 3 vectors
to fill in
- Pass's now specify which other passes they _preserve_ not which ones
they modify (be conservative!)
- A pass can specify that it preserves all analyses (because it never
modifies the underlying program)
* s/Method/Function/g in other random places as well
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2333 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/Transforms/Utils/UnifyFunctionExitNodes.h')
-rw-r--r-- | include/llvm/Transforms/Utils/UnifyFunctionExitNodes.h | 25 |
1 files changed, 11 insertions, 14 deletions
diff --git a/include/llvm/Transforms/Utils/UnifyFunctionExitNodes.h b/include/llvm/Transforms/Utils/UnifyFunctionExitNodes.h index 86784ed1cf..af82f6b3f2 100644 --- a/include/llvm/Transforms/Utils/UnifyFunctionExitNodes.h +++ b/include/llvm/Transforms/Utils/UnifyFunctionExitNodes.h @@ -1,17 +1,17 @@ -//===-- UnifyMethodExitNodes.h - Ensure methods have one return --*- C++ -*--=// +//===-- UnifyFunctionExitNodes.h - Ensure fn's have one return ---*- C++ -*--=// // -// This pass is used to ensure that methods have at most one return instruction -// in them. It also holds onto the return instruction of the last unified -// method. +// This pass is used to ensure that functions have at most one return +// instruction in them. It also holds onto the return instruction of the last +// unified function. // //===----------------------------------------------------------------------===// -#ifndef LLVM_XFORMS_UNIFY_METHOD_EXIT_NODES_H -#define LLVM_XFORMS_UNIFY_METHOD_EXIT_NODES_H +#ifndef LLVM_XFORMS_UNIFY_FUNCTION_EXIT_NODES_H +#define LLVM_XFORMS_UNIFY_FUNCTION_EXIT_NODES_H #include "llvm/Pass.h" -struct UnifyMethodExitNodes : public MethodPass { +struct UnifyMethodExitNodes : public FunctionPass { BasicBlock *ExitNode; public: static AnalysisID ID; // Pass ID @@ -21,22 +21,19 @@ public: // BasicBlock, and converting all returns to unconditional branches to this // new basic block. The singular exit node is returned in ExitNode. // - // If there are no return stmts in the Method, a null pointer is returned. + // If there are no return stmts in the function, a null pointer is returned. // static bool doit(Function *F, BasicBlock *&ExitNode); - virtual bool runOnMethod(Function *F) { + virtual bool runOnFunction(Function *F) { return doit(F, ExitNode); } BasicBlock *getExitNode() const { return ExitNode; } - virtual void getAnalysisUsageInfo(Pass::AnalysisSet &Required, - Pass::AnalysisSet &Destroyed, - Pass::AnalysisSet &Provided) { - // FIXME: Should invalidate CFG - Provided.push_back(ID); // Provide self! + virtual void getAnalysisUsage(AnalysisUsage &AU) const { + AU.addProvided(ID); // Provide self! } }; |