diff options
author | Chris Lattner <sabre@nondot.org> | 2002-02-26 21:46:54 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2002-02-26 21:46:54 +0000 |
commit | bd0ef77cde9c9e82f2b4ad33e4982c46274d6540 (patch) | |
tree | 0903b61112c9e6d336c8b623e235ede2f937f13c /lib/Transforms/IPO/InlineSimple.cpp | |
parent | 3b2541424f771ae11c30675ce06da7b380780028 (diff) |
Change over to use new style pass mechanism, now passes only expose small
creation functions in their public header file, unless they can help it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1816 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Transforms/IPO/InlineSimple.cpp')
-rw-r--r-- | lib/Transforms/IPO/InlineSimple.cpp | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/lib/Transforms/IPO/InlineSimple.cpp b/lib/Transforms/IPO/InlineSimple.cpp index d4c23a9208..9ca23f7448 100644 --- a/lib/Transforms/IPO/InlineSimple.cpp +++ b/lib/Transforms/IPO/InlineSimple.cpp @@ -21,6 +21,7 @@ #include "llvm/Transforms/MethodInlining.h" #include "llvm/Module.h" #include "llvm/Method.h" +#include "llvm/Pass.h" #include "llvm/iTerminators.h" #include "llvm/iPHINode.h" #include "llvm/iOther.h" @@ -249,7 +250,10 @@ static inline bool DoMethodInlining(BasicBlock *BB) { return false; } -bool MethodInlining::doMethodInlining(Method *M) { +// doMethodInlining - Use a heuristic based approach to inline methods that +// seem to look good. +// +static bool doMethodInlining(Method *M) { bool Changed = false; // Loop through now and inline instructions a basic block at a time... @@ -264,3 +268,13 @@ bool MethodInlining::doMethodInlining(Method *M) { return Changed; } + +namespace { + struct MethodInlining : public MethodPass { + virtual bool runOnMethod(Method *M) { + return doMethodInlining(M); + } + }; +} + +Pass *createMethodInliningPass() { return new MethodInlining(); } |