summaryrefslogtreecommitdiffstats
path: root/llvm/tools/bugpoint/BugDriver.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Remove PathV1.h use from BugDriver.cpp.Rafael Espindola2013-06-181-3/+2
| | | | llvm-svn: 184203
* Don't use PathV1.h in ToolRunner.h.Rafael Espindola2013-06-171-0/+1
| | | | llvm-svn: 184107
* Replace uses of the deprecated std::auto_ptr with OwningPtr.Andy Gibbs2013-04-121-1/+1
| | | | llvm-svn: 179373
* Split out the IRReader header and the utility functions it provides intoChandler Carruth2013-03-261-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | its own library. These functions are bridging between the bitcode reader and the ll parser which are in different libraries. Previously we didn't have any good library to do this, and instead played fast and loose with a "header only" set of interfaces in the Support library. This really doesn't work well as evidenced by the recent attempt to add timing logic to the these routines. As part of this, make them normal functions rather than weird inline functions, and sink the implementation into the library. Also clean up the header to be nice and minimal. This requires updating lots of build system dependencies to specify that the IRReader library is needed, and several source files to not implicitly rely upon the header file to transitively include all manner of other headers. If you are using IRReader.h, this commit will break you (the header moved) and you'll need to also update your library usage to include 'irreader'. I will commit the corresponding change to Clang momentarily. llvm-svn: 177971
* Move all of the header files which are involved in modelling the LLVM IRChandler Carruth2013-01-021-1/+1
| | | | | | | | | | | | | | | | | | | | | into their new header subdirectory: include/llvm/IR. This matches the directory structure of lib, and begins to correct a long standing point of file layout clutter in LLVM. There are still more header files to move here, but I wanted to handle them in separate commits to make tracking what files make sense at each layer easier. The only really questionable files here are the target intrinsic tablegen files. But that's a battle I'd rather not fight today. I've updated both CMake and Makefile build systems (I think, and my tests think, but I may have missed something). I've also re-sorted the includes throughout the project. I'll be committing updates to Clang, DragonEgg, and Polly momentarily. llvm-svn: 171366
* Sort the #include lines for tools/...Chandler Carruth2012-12-041-2/+2
| | | | | | | | Again, tools are trickier to pick the main module header for than library source files. I've started to follow the pattern of using LLVMContext.h when it is included as a stub for program source files. llvm-svn: 169252
* Fix a typo (the the => the)Sylvestre Ledru2012-07-231-1/+1
| | | | llvm-svn: 160621
* rename getHostTriple into getDefaultTargetTripleSebastian Pop2011-11-011-1/+1
| | | | llvm-svn: 143502
* Enhance llvm::SourceMgr to support diagnostic ranges, the same way clang ↵Chris Lattner2011-10-161-1/+1
| | | | | | | | | | | | | | | does. Enhance the X86 asmparser to produce ranges in the one case that was annoying me, for example: test.s:10:15: error: invalid operand for instruction movl 0(%rax), 0(%edx) ^~~~~~~ It should be straight-forward to enhance filecheck, tblgen, and/or the .ll parser to use ranges where appropriate if someone is interested. llvm-svn: 142106
* Make it possible to use the linker without destroying the source module. ↵Tanya Lattner2011-10-111-1/+2
| | | | | | | | | | | | | | This is so the source module can be linked to multiple other destination modules. For all that used LinkModules() before, they will continue to destroy the source module as before. This line, and those below, will be ignored-- M include/llvm/Linker.h M tools/bugpoint/Miscompilation.cpp M tools/bugpoint/BugDriver.cpp M tools/llvm-link/llvm-link.cpp M lib/Linker/LinkModules.cpp llvm-svn: 141606
* Fix whitespace.Michael J. Spencer2011-03-311-10/+10
| | | | llvm-svn: 128631
* Switch FileRemover from PathV1 to V2.Michael J. Spencer2011-03-311-1/+1
| | | | llvm-svn: 128630
* Merge System into Support.Michael J. Spencer2010-11-291-1/+1
| | | | llvm-svn: 120298
* Most of bugpoint now only needs to know the pass names.Rafael Espindola2010-08-081-2/+2
| | | | llvm-svn: 110534
* Run opt instead of bugpoint itself.Rafael Espindola2010-08-071-16/+5
| | | | llvm-svn: 110524
* Revert bugpoint change due to buildbot breakage.Bob Wilson2010-08-051-5/+16
| | | | | | | | | | --- Reverse-merging r110333 into '.': U tools/bugpoint/BugDriver.h U tools/bugpoint/OptimizerDriver.cpp U tools/bugpoint/bugpoint.cpp U tools/bugpoint/BugDriver.cpp llvm-svn: 110341
* Run opt instead of bugpoint itself.Rafael Espindola2010-08-051-16/+5
| | | | | | Fixes PR753. llvm-svn: 110333
* Add a Module argument to the remaining runPasses methods and mark getContextRafael Espindola2010-08-051-1/+1
| | | | | | const. llvm-svn: 110300
* Add a Program argument to diffProgram to avoid a use of swapProgramIn.Rafael Espindola2010-07-301-1/+1
| | | | llvm-svn: 109859
* Speculatively revert r108813, in an attempt to get the self-host buildbots ↵Owen Anderson2010-07-201-2/+1
| | | | | | | | working again. I don't see why this patch would cause them to fail the way they are, but none of the other intervening patches seem likely either. llvm-svn: 108818
* Reapply r108794, a fix for the failing test from last time.Owen Anderson2010-07-201-1/+2
| | | | llvm-svn: 108813
* Revert r108794, "Separate PassInfo into two classes: a constructor-freeDaniel Dunbar2010-07-201-2/+1
| | | | | | | superclass (StaticPassInfo) and a constructor-ful subclass (PassInfo).", it is breaking teh everything. llvm-svn: 108805
* Separate PassInfo into two classes: a constructor-free superclass ↵Owen Anderson2010-07-201-1/+2
| | | | | | (StaticPassInfo) and a constructor-ful subclass (PassInfo). llvm-svn: 108794
* Remove use of exceptions from bugpoint. No deliberate functionality change!Nick Lewycky2010-04-121-43/+42
| | | | llvm-svn: 101013
* Trim #includes.Dan Gohman2010-03-241-1/+0
| | | | llvm-svn: 99416
* Free all Constants in ~LLVMConstantImpl. We avoid assertion failuresJeffrey Yasskin2010-03-221-0/+4
| | | | | | | | | 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
* Bugpoint's default memory limit (100MB) was too low for valgrind, soJeffrey Yasskin2010-03-191-2/+2
| | | | | | | this patch raises the default to 800MB when valgrind's active. 800 was chosen semi-arbitrarily. llvm-svn: 98905
* Make bugpoint use ParseIRFile instead of doing the same thing manually.Dan Gohman2009-09-031-12/+5
| | | | llvm-svn: 80927
* Change bugpoint to use Triple to make runtime decisions.Daniel Dunbar2009-08-181-0/+19
| | | | | | | | | - This is cleaner, and makes bugpoint match the host instead of the build architecture. - Patch by Sandeep Patel! llvm-svn: 79309
* Add save-temps option to bugpoint to keep temporary stuff.Anton Korobeynikov2009-08-051-1/+1
| | | | | | Patch by Sandeep Patel llvm-svn: 78183
* Convert more tools code from cerr and cout to errs() and outs().Dan Gohman2009-07-161-19/+18
| | | | llvm-svn: 76070
* Use errs() instead of std::cerr.Dan Gohman2009-07-151-5/+5
| | | | llvm-svn: 75791
* Support remote execute for ARM.David Goodwin2009-07-101-1/+1
| | | | llvm-svn: 75292
* switch the .ll parser into SMDiagnostic.Chris Lattner2009-07-021-2/+3
| | | | llvm-svn: 74734
* Make the use of const with respect to LLVMContext sane. Hopefully this is ↵Owen Anderson2009-07-011-2/+2
| | | | | | | | the last time, for the moment, that I will need to make far-reaching changes. llvm-svn: 74655
* Hold the LLVMContext by reference rather than by pointer.Owen Anderson2009-07-011-2/+4
| | | | llvm-svn: 74640
* Add a pointer to the owning LLVMContext to Module. This requires threading ↵Owen Anderson2009-07-011-9/+9
| | | | | | | | | | 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
* Reimplement the old and horrible bison parser for .ll files with a niceChris Lattner2009-01-021-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* 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
OpenPOWER on IntegriCloud