summaryrefslogtreecommitdiff
path: root/tools/bugpoint/ToolRunner.h
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2010-03-16 06:41:47 +0000
committerChris Lattner <sabre@nondot.org>2010-03-16 06:41:47 +0000
commit50010429a7c3285dab15ede68acae7231fade367 (patch)
tree449860fe2adf8670337ebe177003e7021114c0c1 /tools/bugpoint/ToolRunner.h
parent4d820681678e6703119a38c079172bc83ff6287a (diff)
downloadllvm-50010429a7c3285dab15ede68acae7231fade367.tar.gz
llvm-50010429a7c3285dab15ede68acae7231fade367.tar.bz2
llvm-50010429a7c3285dab15ede68acae7231fade367.tar.xz
add support for bugpointing the integrated assembler. Something like this
works for me: bugpoint Output/bisort.llvm.bc -run-llc-ia -safe-run-llc This uses llc with the integrated assembler as the test compiler and llc without it as the safe compiler. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98618 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'tools/bugpoint/ToolRunner.h')
-rw-r--r--tools/bugpoint/ToolRunner.h12
1 files changed, 8 insertions, 4 deletions
diff --git a/tools/bugpoint/ToolRunner.h b/tools/bugpoint/ToolRunner.h
index 39b0bbfdd5..0f75e99db4 100644
--- a/tools/bugpoint/ToolRunner.h
+++ b/tools/bugpoint/ToolRunner.h
@@ -58,7 +58,7 @@ class GCC {
if (GCCArgs) gccArgs = *GCCArgs;
}
public:
- enum FileType { AsmFile, CFile };
+ enum FileType { AsmFile, ObjectFile, CFile };
static GCC *create(std::string &Message,
const std::vector<std::string> *Args);
@@ -101,7 +101,8 @@ public:
const std::vector<std::string> *GCCArgs = 0);
static LLC *createLLC(const char *Argv0, std::string &Message,
const std::vector<std::string> *Args = 0,
- const std::vector<std::string> *GCCArgs = 0);
+ const std::vector<std::string> *GCCArgs = 0,
+ bool UseIntegratedAssembler = false);
static AbstractInterpreter* createLLI(const char *Argv0, std::string &Message,
const std::vector<std::string> *Args=0);
@@ -195,11 +196,14 @@ class LLC : public AbstractInterpreter {
std::vector<std::string> ToolArgs; // Extra args to pass to LLC.
std::vector<std::string> gccArgs; // Extra args to pass to GCC.
GCC *gcc;
+ bool UseIntegratedAssembler;
public:
LLC(const std::string &llcPath, GCC *Gcc,
const std::vector<std::string> *Args,
- const std::vector<std::string> *GCCArgs)
- : LLCPath(llcPath), gcc(Gcc) {
+ const std::vector<std::string> *GCCArgs,
+ bool useIntegratedAssembler)
+ : LLCPath(llcPath), gcc(Gcc),
+ UseIntegratedAssembler(useIntegratedAssembler) {
ToolArgs.clear();
if (Args) ToolArgs = *Args;
if (GCCArgs) gccArgs = *GCCArgs;