summaryrefslogtreecommitdiff
path: root/tools/bugpoint/ToolRunner.cpp
diff options
context:
space:
mode:
authorKalle Raiskila <kalle.raiskila@nokia.com>2010-05-10 07:38:37 +0000
committerKalle Raiskila <kalle.raiskila@nokia.com>2010-05-10 07:38:37 +0000
commitfaa95763ebb081769bf6ac35e170394c9d477813 (patch)
tree9cdc742073ed0b469abf38d1076a44f9b9855427 /tools/bugpoint/ToolRunner.cpp
parentad017dcb3a41bb053a6a5fa873d07222763dae75 (diff)
downloadllvm-faa95763ebb081769bf6ac35e170394c9d477813.tar.gz
llvm-faa95763ebb081769bf6ac35e170394c9d477813.tar.bz2
llvm-faa95763ebb081769bf6ac35e170394c9d477813.tar.xz
Add command line option --gcc to bugpoint.
Remove sending duplicate of the --gcc-tool-args parameters to gcc. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103397 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'tools/bugpoint/ToolRunner.cpp')
-rw-r--r--tools/bugpoint/ToolRunner.cpp14
1 files changed, 8 insertions, 6 deletions
diff --git a/tools/bugpoint/ToolRunner.cpp b/tools/bugpoint/ToolRunner.cpp
index 7ade778402..1ff44c72ec 100644
--- a/tools/bugpoint/ToolRunner.cpp
+++ b/tools/bugpoint/ToolRunner.cpp
@@ -413,7 +413,6 @@ int LLC::ExecuteProgram(const std::string &Bitcode,
std::vector<std::string> GCCArgs(ArgsForGCC);
GCCArgs.insert(GCCArgs.end(), SharedLibs.begin(), SharedLibs.end());
- GCCArgs.insert(GCCArgs.end(), gccArgs.begin(), gccArgs.end());
// Assuming LLC worked, compile the result with GCC and run it.
return gcc->ExecuteProgram(OutputAsmFile.str(), Args, FileKind,
@@ -425,6 +424,7 @@ int LLC::ExecuteProgram(const std::string &Bitcode,
///
LLC *AbstractInterpreter::createLLC(const char *Argv0,
std::string &Message,
+ const std::string &GCCBinary,
const std::vector<std::string> *Args,
const std::vector<std::string> *GCCArgs,
bool UseIntegratedAssembler) {
@@ -436,12 +436,12 @@ LLC *AbstractInterpreter::createLLC(const char *Argv0,
}
Message = "Found llc: " + LLCPath + "\n";
- GCC *gcc = GCC::create(Message, GCCArgs);
+ GCC *gcc = GCC::create(Message, GCCBinary, GCCArgs);
if (!gcc) {
errs() << Message << "\n";
exit(1);
}
- return new LLC(LLCPath, gcc, Args, GCCArgs, UseIntegratedAssembler);
+ return new LLC(LLCPath, gcc, Args, UseIntegratedAssembler);
}
//===---------------------------------------------------------------------===//
@@ -593,6 +593,7 @@ int CBE::ExecuteProgram(const std::string &Bitcode,
///
CBE *AbstractInterpreter::createCBE(const char *Argv0,
std::string &Message,
+ const std::string &GCCBinary,
const std::vector<std::string> *Args,
const std::vector<std::string> *GCCArgs) {
sys::Path LLCPath =
@@ -604,7 +605,7 @@ CBE *AbstractInterpreter::createCBE(const char *Argv0,
}
Message = "Found llc: " + LLCPath.str() + "\n";
- GCC *gcc = GCC::create(Message, GCCArgs);
+ GCC *gcc = GCC::create(Message, GCCBinary, GCCArgs);
if (!gcc) {
errs() << Message << "\n";
exit(1);
@@ -852,10 +853,11 @@ int GCC::MakeSharedObject(const std::string &InputFile, FileType fileType,
/// create - Try to find the `gcc' executable
///
GCC *GCC::create(std::string &Message,
+ const std::string &GCCBinary,
const std::vector<std::string> *Args) {
- sys::Path GCCPath = sys::Program::FindProgramByName("gcc");
+ sys::Path GCCPath = sys::Program::FindProgramByName(GCCBinary);
if (GCCPath.isEmpty()) {
- Message = "Cannot find `gcc' in executable directory or PATH!\n";
+ Message = "Cannot find `"+ GCCBinary +"' in executable directory or PATH!\n";
return 0;
}