| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
|
| |
by dropping all references from all constants that can use other
constants before trying to destroy any of them.
I also had to free bugpoint's Module in ~BugDriver().
llvm-svn: 99160
|
|
|
|
|
|
|
| |
this patch raises the default to 800MB when valgrind's active. 800
was chosen semi-arbitrarily.
llvm-svn: 98905
|
|
|
|
| |
llvm-svn: 80927
|
|
|
|
|
|
|
|
|
| |
- This is cleaner, and makes bugpoint match the host instead of the build
architecture.
- Patch by Sandeep Patel!
llvm-svn: 79309
|
|
|
|
|
|
| |
Patch by Sandeep Patel
llvm-svn: 78183
|
|
|
|
| |
llvm-svn: 76070
|
|
|
|
| |
llvm-svn: 75791
|
|
|
|
| |
llvm-svn: 75292
|
|
|
|
| |
llvm-svn: 74734
|
|
|
|
|
|
|
|
| |
the last time, for the
moment, that I will need to make far-reaching changes.
llvm-svn: 74655
|
|
|
|
| |
llvm-svn: 74640
|
|
|
|
|
|
|
|
|
|
| |
LLVMContext through a lot
of the bitcode reader and ASM parser APIs, as well as supporting it in all of the tools.
Patches for Clang and LLVM-GCC to follow.
llvm-svn: 74614
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
and clean recursive descent parser.
This change has a couple of ramifications:
1. The parser code is about 400 lines shorter (in what we maintain, not
including what is autogenerated).
2. The code should be significantly faster than the old code because we
don't have to work around bison's poor handling of datatypes with
ctors/dtors. This also makes the code much more resistant to memory
leaks.
3. We now get caret diagnostics from the .ll parser, woo.
4. The actual diagnostics emited from the parser are completely different
so a bunch of testcases had to be updated.
5. I now disallow "%ty = type opaque %ty = type i32". There was no good
reason to support this, it was just an accident of the old
implementation. I have no reason to think that anyone is actually using
this.
6. The syntax for sticking a global variable has changed to make it
unambiguous. I don't think anyone is depending on this since only clang
supports this and it is not solid yet, so I'm not worried about anything
breaking.
7. This gets rid of the last use of bison, and along with it the .cvs files.
I'll prune this from the makefiles as a subsequent commit.
There are a few minor cleanups that can be done after this commit (suggestions
welcome!) but this passes dejagnu testing and is ready for its time in the
limelight.
llvm-svn: 61558
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|