summaryrefslogtreecommitdiffstats
path: root/llvm/tools/bugpoint/ExecutionDriver.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Update the file headers across all of the LLVM projects in the monorepoChandler Carruth2019-01-191-4/+3
| | | | | | | | | | | | | | | | | to reflect the new license. We understand that people may be surprised that we're moving the header entirely to discuss the new license. We checked this carefully with the Foundation's lawyer and we believe this is the correct approach. Essentially, all code in the project is now made available by the LLVM project under our new license, so you will see that the license headers include that license only. Some of our contributors have contributed code under our old license, and accordingly, we have retained a copy of our old license notice in the top-level files in each project and repository. llvm-svn: 351636
* [bugpoint] Find 'opt', etc., in bugpoint directoryBrian Gesiak2018-12-101-8/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: When bugpoint attempts to find the other executables it needs to run, such as `opt` or `clang`, it tries searching the user's PATH. However, in many cases, the 'bugpoint' executable is part of an LLVM build, and the 'opt' executable it's looking for is in that same directory. Many LLVM tools handle this case by using the `Paths` parameter of `llvm::sys::findProgramByName`, passing the parent path of the currently running executable. Do this same thing for bugpoint. However, to preserve the current behavior exactly, first search the user's PATH, and then search for 'opt' in the directory containing 'bugpoint'. Test Plan: `check-llvm`. Many of the existing bugpoint tests no longer need to use the `--opt-command` option as a result of these changes. Reviewers: MatzeB, silvas, davide Reviewed By: MatzeB, davide Subscribers: davide, llvm-commits Differential Revision: https://reviews.llvm.org/D54884 llvm-svn: 348734
* [bugpoint] Revert r318459Don Hinton2018-09-181-8/+14
| | | | | | | | Summary: Revert r318459 which introduced a TempFile scoping bug. Differential Revision: https://reviews.llvm.org/D51836 llvm-svn: 342503
* Change the BugDriver to store the current module with std::unique_ptr.Rafael Espindola2018-02-141-28/+21
| | | | | | | | | While there, change a bunch of helper functions to take references to avoid adding calls to get(). This should conclude the bugpoint yak shaving. llvm-svn: 325177
* Convert the last use of sys::fs::createUniqueFile in bugpoint.Rafael Espindola2017-11-161-14/+8
| | | | llvm-svn: 318459
* Convert another use of createUniqueFile to TempFile::create.Rafael Espindola2017-11-161-12/+9
| | | | | | | This one requires a new small feature in TempFile: the ability to keep the temporary file with the temporary name. llvm-svn: 318458
* Turn cl::values() (for enum) from a vararg function to using C++ variadic ↵Mehdi Amini2016-10-081-4/+2
| | | | | | | | | | | | | | | template The core of the change is supposed to be NFC, however it also fixes what I believe was an undefined behavior when calling: va_start(ValueArgs, Desc); with Desc being a StringRef. Differential Revision: https://reviews.llvm.org/D25342 llvm-svn: 283671
* bugpoint: Return Errors instead of passing around stringsJustin Bogner2016-09-061-54/+58
| | | | | | | | | | | | | This replaces the threading of `std::string &Error` through all of these APIs with checked Error returns instead. There are very few places here that actually emit any errors right now, but threading the APIs through will allow us to replace a bunch of exit(1)'s that are scattered through this code with proper error handling. This is more or less NFC, but does move around where a couple of error messages are printed out. llvm-svn: 280720
* bugpoint: clang-format all of bugpoint. NFCJustin Bogner2016-09-021-172/+165
| | | | | | | I'm going to clean up the APIs here a bit and touch many many lines anyway. llvm-svn: 280450
* Apply most suggestions of clang-tidy's performance-unnecessary-value-paramBenjamin Kramer2016-06-081-1/+1
| | | | | | | Avoids unnecessary copies. All changes audited & pass tests with asan. No functional change intended. llvm-svn: 272190
* [Bugpoint] Use 'CC' instead of 'GCC' for variable naming.Davide Italiano2015-10-141-19/+19
| | | | | | | | | | We now use clang by default and fallback to gcc when requested. With this commit, names reflect reality. No functional change intended. Discussed with: Rafael Espindola. llvm-svn: 250321
* [Bugpoint] Use clang by default.Davide Italiano2015-10-141-2/+9
| | | | | | | | | | We now rely on gcc only if either of the following is true: 1) -gcc option is passed by the user 2) clang is not found in the default path. Differential Revision: http://reviews.llvm.org/D13642 llvm-svn: 250318
* Remove 'using std::error_code' from tools.Rafael Espindola2014-06-131-4/+3
| | | | llvm-svn: 210876
* Don't use 'using std::error_code' in include/llvm.Rafael Espindola2014-06-121-0/+1
| | | | | | This should make sure that most new uses use the std prefix. llvm-svn: 210835
* [C++] Use 'nullptr'. Tools edition.Craig Topper2014-04-251-4/+4
| | | | llvm-svn: 207176
* Fix a bug introduced during the transition to PathV2.Rafael Espindola2014-03-141-1/+1
| | | | | | | | | sys::fs::createUniqueFile returns an absolute path, so MakeSharedObject does too and we don't need to add a './' prefix. Patch by Jon McLachlan. llvm-svn: 203931
* Remove several unused variables.Rafael Espindola2013-10-011-1/+0
| | | | | | Patch by Alp Toker. llvm-svn: 191757
* Add a createUniqueFile function and switch llvm's users of unique_file.Rafael Espindola2013-07-051-3/+3
| | | | | | | | | | | | | | This function is complementary to createTemporaryFile. It handles the case were the unique file is *not* temporary: we will rename it in the end. Since we will rename it, the file has to be in the same filesystem as the final destination and we don't prepend the system temporary directory. This has a small semantic difference from unique_file: the default mode is 0666. This matches the behavior of most unix tools. For example, with this change lld now produces files with the same permissions as ld. I will add a test of this change when I port clang over to createUniqueFile (next commit). llvm-svn: 185726
* Fix bugpoint execution/reference output file nameHal Finkel2013-06-281-1/+1
| | | | | | | | | sys::fs::unique_file will now loop infinitely if provided with a file name without '%' characters and the input file already exists. As a result, bugpoint cannot use a fixed file name for the execution output (including the reference output). llvm-svn: 185166
* Add a version of unique_file that return just the file name.Rafael Espindola2013-06-181-9/+1
| | | | llvm-svn: 184206
* Remove use of PathV1.h from ExecutionDriver.cpp.Rafael Espindola2013-06-181-24/+37
| | | | llvm-svn: 184202
* Don't use PathV1.h in ToolRunner.h.Rafael Espindola2013-06-171-3/+4
| | | | llvm-svn: 184107
* Don't use PathV1.h in FileUtilities.h.Rafael Espindola2013-06-131-2/+2
| | | | llvm-svn: 183941
* [bugpoint] make tool selection messages uniqueSaleem Abdulrasool2013-01-241-1/+1
| | | | | | | | | Change messages to help identify which interpreter was actually selected (safe vs testing). Signed-off-by: Saleem Abdulrasool <compnerd@compnerd.org> Reviewed-by: Chandler Carruth <chandlerc@gmail.com> llvm-svn: 173360
* Remove the C backend.Eric Christopher2012-03-231-44/+3
| | | | llvm-svn: 153307
* Remove unnecessary default cases in switches that cover all enum values.David Blaikie2012-01-101-3/+0
| | | | llvm-svn: 147855
* Bugpoint support for miscompilations that result in a crash.Andrew Trick2011-05-111-1/+1
| | | | | | | | | This change allows bugpoint to pinpoint the "opt" pass and bitcode segment responsible for a crash caused by miscompilation. At least it works well for me now, without having to create any custom execution wrappers. llvm-svn: 131186
* Switch FileRemover from PathV1 to V2.Michael J. Spencer2011-03-311-2/+3
| | | | llvm-svn: 128630
* Added bugpoint options: -compile-custom and -compile-command=...Andrew Trick2011-02-081-4/+18
| | | | | | | | | I've been using this mode to narrow down llc unit tests. Example custom compile script: llc "$@" not pygrep.py 'mul\s+r([0-9]), r\1,' < bugpoint-test-program.s llvm-svn: 125096
* whitespaceAndrew Trick2011-02-081-11/+11
| | | | llvm-svn: 125095
* Add const to compileProgram and to the various test functions in CrashDebugger.Rafael Espindola2010-08-051-1/+1
| | | | llvm-svn: 110306
* Add const to some methods and change TestMergedProgram to return the mergedRafael Espindola2010-07-311-3/+3
| | | | | | module and take a const BugDriver. llvm-svn: 109951
* Add a Program argument to diffProgram to avoid a use of swapProgramIn.Rafael Espindola2010-07-301-6/+10
| | | | llvm-svn: 109859
* Apply timeouts and memory limits in more places. In particular, whenDuncan Sands2010-05-241-1/+1
| | | | | | | | bugpoint does "Running the code generator to test for a crash" this gets you a crash if llc goes into an infinite loop or uses up vast amounts of memory. llvm-svn: 104485
* Add command line option --gcc to bugpoint.Kalle Raiskila2010-05-101-8/+19
| | | | | | Remove sending duplicate of the --gcc-tool-args parameters to gcc. llvm-svn: 103397
* Remove use of exceptions from bugpoint. No deliberate functionality change!Nick Lewycky2010-04-121-30/+42
| | | | llvm-svn: 101013
* Remove dead argument and clean whitespace. No functionality change.Nick Lewycky2010-04-101-13/+4
| | | | llvm-svn: 100954
* add support for bugpointing the integrated assembler. Something like thisChris Lattner2010-03-161-3/+9
| | | | | | | | | 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. llvm-svn: 98618
* Add -output-prefix option to bugpoint (to change the default output name).Daniel Dunbar2009-09-071-3/+7
| | | | llvm-svn: 81154
* Prune #includes from llvm/Linker.h and llvm/System/Path.h,Chris Lattner2009-08-231-7/+8
| | | | | | | | | | | | | | | | | | forcing them down into various .cpp files. This change also: 1. Renames TimeValue::toString() and Path::toString() to ::str() for similarity with the STL. 2. Removes all stream insertion support for sys::Path, forcing clients to call .str(). 3. Removes a use of Config/alloca.h from bugpoint, using smallvector instead. 4. Weans llvm-db off <iostream> sys::Path really needs to be gutted, but I don't have the desire to do it at this point. llvm-svn: 79869
* Fix FindExecutable to use sys::Path::GetMainExecutable instead ofDan Gohman2009-08-051-10/+9
| | | | | | | | | | | | | just argv[0]. And remove the code for searching the current working directory and for searching PATH; the point of FindExecutable is not to find whatever version of the executable can be found by searching around, but to find an executable that accompanies the current executable. Update the tools to use sys::Program::FindProgramByName when they want PATH searching. llvm-svn: 78240
* Add save-temps option to bugpoint to keep temporary stuff.Anton Korobeynikov2009-08-051-2/+2
| | | | | | Patch by Sandeep Patel llvm-svn: 78183
* 80 col violation.Evan Cheng2009-07-211-9/+9
| | | | llvm-svn: 76629
* Convert more tools code from cerr and cout to errs() and outs().Dan Gohman2009-07-161-7/+6
| | | | llvm-svn: 76070
* Use errs() instead of std::cerr.Dan Gohman2009-07-151-18/+18
| | | | llvm-svn: 75791
* Support remote execute for ARM.David Goodwin2009-07-101-3/+4
| | | | llvm-svn: 75292
* Add a "-gcc-tool-args" option. This option acts like the "-tool-args" option,Bill Wendling2009-03-021-12/+24
| | | | | | | but passes the arguments to the "gcc" invocation instead of to the "llc" invocation. llvm-svn: 65896
* Generalize bugpoint's concept of a "safe" backend, and add optionsDan Gohman2008-12-081-45/+106
| | | | | | | | | | | | | | 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
* Remove -check-exit-code from bugpoint. This is subsumed by -append-exit-code.Nick Lewycky2008-10-261-19/+0
| | | | | | Note that -check-exit-code was on by default while -append-exit-code is not. llvm-svn: 58221
* Let bugpoint display generated messages on stderr only if no interpreter wasMatthijs Kooijman2008-06-121-1/+4
| | | | | | | found, this ensures that messages like "Found gcc" end up on stdout where they belong. llvm-svn: 52235
OpenPOWER on IntegriCloud