[llvm-commits] CVS: llvm/tools/bugpoint/OptimizerDriver.cpp
Andrew Lenharth
alenhar2 at cs.uiuc.edu
Thu Jan 26 10:37:38 PST 2006
Changes in directory llvm/tools/bugpoint:
OptimizerDriver.cpp updated: 1.36 -> 1.37
---
Log message:
Pass plugins on to children when optimizing.
---
Diffs of the changes: (+10 -1)
OptimizerDriver.cpp | 11 ++++++++++-
1 files changed, 10 insertions(+), 1 deletion(-)
Index: llvm/tools/bugpoint/OptimizerDriver.cpp
diff -u llvm/tools/bugpoint/OptimizerDriver.cpp:1.36 llvm/tools/bugpoint/OptimizerDriver.cpp:1.37
--- llvm/tools/bugpoint/OptimizerDriver.cpp:1.36 Sun Jan 22 18:32:33 2006
+++ llvm/tools/bugpoint/OptimizerDriver.cpp Thu Jan 26 12:37:21 2006
@@ -30,6 +30,10 @@
#include "llvm/System/Path.h"
#include "llvm/System/Program.h"
#include "llvm/Config/alloca.h"
+
+#define DONT_GET_PLUGIN_LOADER_OPTION
+#include "llvm/Support/PluginLoader.h"
+
#include <fstream>
using namespace llvm;
@@ -149,13 +153,18 @@
// setup the child process' arguments
const char** args = (const char**)
- alloca(sizeof(const char*)*(Passes.size()+10));
+ alloca(sizeof(const char*) *
+ (Passes.size()+10+2*PluginLoader::getNumPlugins()));
int n = 0;
args[n++] = ToolName.c_str();
args[n++] = "-as-child";
args[n++] = "-child-output";
args[n++] = OutputFilename.c_str();
std::vector<std::string> pass_args;
+ for (unsigned i = 0, e = PluginLoader::getNumPlugins(); i != e; ++i) {
+ pass_args.push_back( std::string("-load"));
+ pass_args.push_back( PluginLoader::getPlugin(i));
+ }
for (std::vector<const PassInfo*>::const_iterator I = Passes.begin(),
E = Passes.end(); I != E; ++I )
pass_args.push_back( std::string("-") + (*I)->getPassArgument() );
More information about the llvm-commits
mailing list