| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
| |
llvm-svn: 47596
|
| |
|
|
| |
llvm-svn: 45421
|
| |
|
|
|
|
| |
performed on tools/ first, in order not to cause lethal damage
llvm-svn: 37877
|
| |
|
|
| |
llvm-svn: 36900
|
| |
|
|
| |
llvm-svn: 36872
|
| |
|
|
| |
llvm-svn: 36849
|
| |
|
|
|
|
| |
is especially needed for bugpoint. This partly implements PR688
llvm-svn: 34349
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
| |
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
|
| |
|
|
|
|
|
| |
which allows it to debug optimizer infinite loops. This patch is contributed
by Nick Lewycky, thanks!
llvm-svn: 28763
|
| |
|
|
| |
llvm-svn: 28699
|
| |
|
|
|
|
| |
by coverity.
llvm-svn: 28298
|
| |
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
| |
llvm-svn: 21428
|
| |
|
|
|
|
| |
the declaration of a function to compile this.
llvm-svn: 19073
|
| |
|
|
|
|
|
|
|
|
|
| |
* 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
|
| |
|
|
| |
llvm-svn: 18863
|
| |
|
|
| |
llvm-svn: 17801
|
| |
|
|
|
|
|
|
| |
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
|
| |
|
|
| |
llvm-svn: 15163
|
| |
|
|
|
|
|
| |
* Print out another '\n' after printing out program execution status
* Make sure code wraps at 80 cols
llvm-svn: 15123
|
| |
|
|
| |
llvm-svn: 14623
|
| |
|
|
| |
llvm-svn: 14351
|
| |
|
|
| |
llvm-svn: 12701
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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
|
| |
|
|
|
|
|
| |
code duplication. Also, don't use ReduceMiscompilingFunctions::TestFuncs
to print out the final message.
llvm-svn: 12387
|
| |
|
|
| |
llvm-svn: 11651
|
| |
|
|
| |
llvm-svn: 11624
|
| |
|
|
|
|
| |
interface: getMessage() is gone, use what() instead.
llvm-svn: 11621
|
| |
|
|
|
|
| |
many 'friends' of bugdriver.
llvm-svn: 11603
|
| |
|
|
| |
llvm-svn: 11602
|
| |
|
|
| |
llvm-svn: 11595
|
| |
|
|
| |
llvm-svn: 11583
|
| |
|
|
| |
llvm-svn: 10839
|
| |
|
|
| |
llvm-svn: 9903
|
| |
|
|
| |
llvm-svn: 9293
|
| |
|
|
| |
llvm-svn: 9291
|
| |
|
|
| |
llvm-svn: 9138
|
| |
|
|
|
|
| |
the root of all of your problems
llvm-svn: 9115
|
| |
|
|
| |
llvm-svn: 9106
|
| |
|
|
| |
llvm-svn: 8573
|
| |
|
|
| |
llvm-svn: 8056
|
| |
|
|
| |
llvm-svn: 8042
|
| |
|
|
| |
llvm-svn: 7696
|
| |
|
|
| |
llvm-svn: 7689
|
| |
|
|
| |
llvm-svn: 7687
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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
|