summaryrefslogtreecommitdiffstats
path: root/llvm/tools/bugpoint/BugDriver.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Generalize bugpoint's concept of a "safe" backend, and add optionsDan Gohman2008-12-081-1/+2
| | | | | | | | | | | | | | to allow the "safe" backend to be run with a different path, and/or with different command-line options. This enables the following use cases: - bugpoint llc against an llc command from a different build - bugpoint llc against the same llc with different command-line options - and more... Also, document the existing "custom" interpreter options. llvm-svn: 60681
* Detabify.Bill Wendling2008-02-261-1/+1
| | | | llvm-svn: 47596
* remove attributions from tools.Chris Lattner2007-12-291-2/+2
| | | | llvm-svn: 45421
* Pretty straightforward replacement of "bytecode" by "bitcode"Gabor Greif2007-07-041-5/+5
| | | | | | performed on tools/ first, in order not to cause lethal damage llvm-svn: 37877
* use the new MemoryBuffer interfaces to simplify error reporting in clients.Chris Lattner2007-05-061-4/+5
| | | | llvm-svn: 36900
* switch tools to bitcode from bytecodeChris Lattner2007-05-061-11/+6
| | | | llvm-svn: 36872
* add bitcode supportChris Lattner2007-05-061-1/+9
| | | | llvm-svn: 36849
* Add possibility to set memory limit for binaries run via libSystem. ThisAnton Korobeynikov2007-02-161-2/+2
| | | | | | is especially needed for bugpoint. This partly implements PR688 llvm-svn: 34349
* push bytecode decompressor out through APIs. Now the bytecode readerChris Lattner2007-02-071-1/+3
| | | | | | | | | | | | | | | | | | | | api's look like this: ModuleProvider *getBytecodeModuleProvider( const std::string &Filename, ///< Name of file to be read BCDecompressor_t *BCDC = Compressor::decompressToNewBuffer, std::string* ErrMsg = 0, ///< Optional error message holder BytecodeHandler* H = 0 ///< Optional handler for reader events ); This is ugly, but allows a client to say: getBytecodeModuleProvider("foo", 0); If they do this, there is no dependency on the compression libraries, saving codesize. llvm-svn: 34012
* Fix for PR960. Improves bugpoint so that it removes global variableBill Wendling2006-10-251-0/+10
| | | | | | | initializers as well. This is only a first pass. It can be slow because it clones the module for each pass. An obvious improvement is not to do that. llvm-svn: 31182
* For PR797:Reid Spencer2006-08-181-9/+4
| | | | | | | | | | | | | Rid the Assembly Parser of exceptions. This is a really gross hack but it will do until the Assembly Parser is re-written as a recursive descent. The basic premise is that wherever the old "ThrowException" function was called (new name: GenerateError) we set a flag (TriggerError). Every production checks that flag and calls YYERROR if it is set. Additionally, each call to ThrowException in the grammar is replaced with GEN_ERROR which calls GenerateError and then YYERROR immediately. This prevents the remaining production from continuing after an error condition. llvm-svn: 29763
* This commit adds a new feature called find-bugs. The find-bugs option can be ↵Patrick Jenkins2006-08-151-16/+14
| | | | | | invoked on a .bc file from the command like with -find-bugs and a list of passes you wish to test. This procedure takes the set of optimization passes the user specifies, randomizes the passes, runs the passes on the specified .bc file, compiles the program, and finally runs the program checking its output vs the .bc file with no optimizations. This process repeats until either the user kills bugpoint or an error occurs in the optimizations, program complitation, or the running of the program. If an error occurs, bugpoint attempts to diagnose the error by eliminating passes that are not at fault and code that is not needed. llvm-svn: 29703
* Teach bugpoint to kill optimization passes that run over the timeout limit,Chris Lattner2006-06-131-2/+3
| | | | | | | which allows it to debug optimizer infinite loops. This patch is contributed by Nick Lewycky, thanks! llvm-svn: 28763
* Move ToolRunner.(cpp|h) into the bugpoint directoryChris Lattner2006-06-061-1/+1
| | | | llvm-svn: 28699
* print a nice error if bugpoint gets an error reading inputs. Bug identifiedChris Lattner2006-05-141-16/+21
| | | | | | by coverity. llvm-svn: 28298
* For PR351:Reid Spencer2005-12-221-11/+23
| | | | | | | | | | | | Generally, remove use of fork/exec from bugpoint in favor of the portable sys::Program::ExecuteAndWait method. This change requires two new options to bugpoint to tell it that it is running in "child" mode. In this mode, it reads its input and runs the passes. The result code signals to the parent instance of bugpoint what happened (success, fail, crash). This change should make bugpoint usable on Win32 systems. llvm-svn: 24961
* Remove trailing whitespaceMisha Brukman2005-04-221-3/+3
| | | | llvm-svn: 21428
* Allow compilers that can't distinguish between a class instantiation andReid Spencer2004-12-201-1/+2
| | | | | | the declaration of a function to compile this. llvm-svn: 19073
* For PR351:Reid Spencer2004-12-161-1/+1
| | | | | | | | | | | * removeFile() -> sys::Path::destroyFile() * remove extraneous toString() calls * convert local variables representing path names from std::string to sys::Path * Use sys::Path objects with FileRemove instead of std::string * Use sys::Path methods for construction of path names llvm-svn: 19001
* LinkModules is now in the Linker classReid Spencer2004-12-131-1/+1
| | | | llvm-svn: 18863
* Linker.h has a new home.Reid Spencer2004-11-141-1/+1
| | | | llvm-svn: 17801
* Changes For Bug 352Reid Spencer2004-09-011-2/+2
| | | | | | | | Move include/Config and include/Support into include/llvm/Config, include/llvm/ADT and include/llvm/Support. From here on out, all LLVM public header files must be under include/llvm/. llvm-svn: 16137
* Finally give bugpoint -timeout support!Chris Lattner2004-07-241-1/+1
| | | | llvm-svn: 15163
* * Convert "\n" -> '\n'Misha Brukman2004-07-231-4/+4
| | | | | | | * Print out another '\n' after printing out program execution status * Make sure code wraps at 80 cols llvm-svn: 15123
* Add #include <iostream> since Value.h does not include it any more.Reid Spencer2004-07-041-0/+2
| | | | llvm-svn: 14623
* Linker.h moved to include/llvm/SupportMisha Brukman2004-06-231-1/+1
| | | | llvm-svn: 14351
* Wrap at 80 cols.Misha Brukman2004-04-061-7/+6
| | | | llvm-svn: 12701
* Refactor and clean up a bunch more code. No major functionality changes.Chris Lattner2004-03-141-9/+10
| | | | | | | | | | | | | | * Make several methods of bugdriver global functions (ParseInputFile, PrintFunctionList) * Make PrintFunctionList truncate the output after 10 entries, like the crash debugger did. This allows code sharing. * Add a couple of methods to BugDriver that allows us to eliminate some friends * Improve comments in ExtractFunction.cpp * Make classes that used to be friends up bugdriver now live in anon namespaces * Rip a bunch of functionality in the miscompilation tester into a new TestMergedProgram function for future code sharing. * Fix a bug in the miscompilation tester induced in my last checkin llvm-svn: 12393
* Refactor all of the "splitting a module into two pieces" code to avoidChris Lattner2004-03-141-9/+0
| | | | | | | code duplication. Also, don't use ReduceMiscompilingFunctions::TestFuncs to print out the final message. llvm-svn: 12387
* Format a bit more nicelyChris Lattner2004-02-201-0/+1
| | | | llvm-svn: 11651
* Be a bit more robust. Explicitly check for a code generator crash.Chris Lattner2004-02-191-1/+16
| | | | llvm-svn: 11624
* Make ToolExecutionError inherit std::exception and implement itsAlkis Evlogimenos2004-02-191-2/+2
| | | | | | interface: getMessage() is gone, use what() instead. llvm-svn: 11621
* Cleanup and simplify manipulation of the program, eliminate the need for soChris Lattner2004-02-181-1/+10
| | | | | | many 'friends' of bugdriver. llvm-svn: 11603
* Add a stub for debugging code generator crashesChris Lattner2004-02-181-7/+24
| | | | llvm-svn: 11602
* ctor arguments changed orderChris Lattner2004-02-181-1/+1
| | | | llvm-svn: 11595
* This class got moved to FileUtilities.hChris Lattner2004-02-181-8/+1
| | | | llvm-svn: 11583
* finegrainify namespacificationChris Lattner2004-01-141-6/+2
| | | | llvm-svn: 10839
* Put all LLVM code into the llvm namespace, as per bug 109.Brian Gaeke2003-11-111-0/+6
| | | | llvm-svn: 9903
* fix file headersChris Lattner2003-10-201-1/+0
| | | | llvm-svn: 9293
* Added copyright header to all C++ source files.John Criswell2003-10-201-0/+8
| | | | llvm-svn: 9291
* Flush output after writing out the list of function names.Brian Gaeke2003-10-151-0/+1
| | | | llvm-svn: 9138
* Eliminate the bugpoint -mode option, by making bugpoint automatically infer ↵Chris Lattner2003-10-141-29/+22
| | | | | | the root of all of your problems llvm-svn: 9115
* Unbreak code generator debug modeChris Lattner2003-10-131-3/+5
| | | | llvm-svn: 9106
* Use new methodChris Lattner2003-09-171-7/+2
| | | | llvm-svn: 8573
* Kill warningChris Lattner2003-08-221-3/+7
| | | | llvm-svn: 8056
* Squash the warning that `Result' may not be initialized on all code paths.Misha Brukman2003-08-221-1/+1
| | | | llvm-svn: 8042
* File-related functions moved to FileUtilities.h .Misha Brukman2003-08-071-1/+1
| | | | llvm-svn: 7696
* Re-grouped and alphabetized headers for easier reading and cleaner style.Misha Brukman2003-08-071-3/+3
| | | | llvm-svn: 7689
* Moved SystemUtils.h to include/Support and SystemUtils.cpp to lib/Support.Misha Brukman2003-08-071-1/+1
| | | | llvm-svn: 7687
* Made a bunch of cleanups, as per Chris' recommendations:Misha Brukman2003-07-241-1/+1
| | | | | | | | | | | | | | | | * Removed unused global and member variables * Fixed comments (CodeGeneratorBug.cpp) * Check for possibly failing GCC::create() and CBE::create() * Remove generated files after diffing the output (e.g., shared object) * Instead of using std::for_each, use explicit loops as std::for_each may duplicate the functor, and ours carries state * Changed member var from cl::opt<std::string> to just std::string * Fixed doxygen comments * Fixed string comparisons to use [ str.empty() ] instead of [ str == "" ] * Cache instances of CBE and GCC in BugDriver across compilations and executions while testing tools. llvm-svn: 7302
OpenPOWER on IntegriCloud