summaryrefslogtreecommitdiffstats
path: root/llvm/tools/bugpoint/ExecutionDriver.cpp
Commit message (Collapse)AuthorAgeFilesLines
* 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
* Add possibility of using arbitrary to to execute stuff from bugpoint.Anton Korobeynikov2008-04-281-2/+14
| | | | | | Patch by Pekka Jääskeläinen! llvm-svn: 50373
* remove attributions from tools.Chris Lattner2007-12-291-2/+2
| | | | llvm-svn: 45421
* Pretty straightforward replacement of "bytecode" by "bitcode"Gabor Greif2007-07-041-34/+34
| | | | | | performed on tools/ first, in order not to cause lethal damage llvm-svn: 37877
* Fix bugpoint to run -llc-safe with -Xlinker.Lauro Ramos Venancio2007-06-061-1/+1
| | | | llvm-svn: 37483
* 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
* Add an -append-exit-code option to bugpoint. This will cause bugpoint toReid Spencer2006-11-281-0/+11
| | | | | | | | append "exit <retcode>" to the end of the output file. This is used by the nightly tester to make bugpoint match the output generated by the RunSafely.sh script so it doesn't find false positives. llvm-svn: 31960
OpenPOWER on IntegriCloud