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 | 04805fa29cfed84fd748ff2f97da3968282ee3b1 (patch) | |
tree | 7f2bfbac67628f247c8929af9f6a6e352936e7d5 /llvm/lib/Transforms/IPO/InlineSimple.cpp | |
parent | b67f732b8cc2e1817a1318d596a9665d5c5c5057 (diff) | |
download | bcm5719-llvm-04805fa29cfed84fd748ff2f97da3968282ee3b1.tar.gz bcm5719-llvm-04805fa29cfed84fd748ff2f97da3968282ee3b1.zip |
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.
llvm-svn: 1816
Diffstat (limited to 'llvm/lib/Transforms/IPO/InlineSimple.cpp')
-rw-r--r-- | llvm/lib/Transforms/IPO/InlineSimple.cpp | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/llvm/lib/Transforms/IPO/InlineSimple.cpp b/llvm/lib/Transforms/IPO/InlineSimple.cpp index d4c23a92089..9ca23f74484 100644 --- a/llvm/lib/Transforms/IPO/InlineSimple.cpp +++ b/llvm/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(); } |