diff options
author | Chris Lattner <sabre@nondot.org> | 2010-03-16 06:41:47 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2010-03-16 06:41:47 +0000 |
commit | 50010429a7c3285dab15ede68acae7231fade367 (patch) | |
tree | 449860fe2adf8670337ebe177003e7021114c0c1 /tools/bugpoint/ToolRunner.h | |
parent | 4d820681678e6703119a38c079172bc83ff6287a (diff) | |
download | llvm-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.h | 12 |
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; |