summaryrefslogtreecommitdiff
path: root/tools/bugpoint/ExecutionDriver.cpp
Commit message (Collapse)AuthorAge
* Bugpoint support for miscompilations that result in a crash.Andrew Trick2011-05-11
| | | | | | | | | | 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131186 91177308-0d34-0410-b5e6-96231b3b80d8
* Switch FileRemover from PathV1 to V2.Michael J. Spencer2011-03-31
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128630 91177308-0d34-0410-b5e6-96231b3b80d8
* Added bugpoint options: -compile-custom and -compile-command=...Andrew Trick2011-02-08
| | | | | | | | | | 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 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@125096 91177308-0d34-0410-b5e6-96231b3b80d8
* whitespaceAndrew Trick2011-02-08
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@125095 91177308-0d34-0410-b5e6-96231b3b80d8
* Add const to compileProgram and to the various test functions in CrashDebugger.Rafael Espindola2010-08-05
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110306 91177308-0d34-0410-b5e6-96231b3b80d8
* Add const to some methods and change TestMergedProgram to return the mergedRafael Espindola2010-07-31
| | | | | | module and take a const BugDriver. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109951 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a Program argument to diffProgram to avoid a use of swapProgramIn.Rafael Espindola2010-07-30
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109859 91177308-0d34-0410-b5e6-96231b3b80d8
* Apply timeouts and memory limits in more places. In particular, whenDuncan Sands2010-05-24
| | | | | | | | | 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104485 91177308-0d34-0410-b5e6-96231b3b80d8
* Add command line option --gcc to bugpoint.Kalle Raiskila2010-05-10
| | | | | | | Remove sending duplicate of the --gcc-tool-args parameters to gcc. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103397 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove use of exceptions from bugpoint. No deliberate functionality change!Nick Lewycky2010-04-12
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101013 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove dead argument and clean whitespace. No functionality change.Nick Lewycky2010-04-10
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100954 91177308-0d34-0410-b5e6-96231b3b80d8
* add support for bugpointing the integrated assembler. Something like thisChris Lattner2010-03-16
| | | | | | | | | | 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98618 91177308-0d34-0410-b5e6-96231b3b80d8
* Add -output-prefix option to bugpoint (to change the default output name).Daniel Dunbar2009-09-07
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81154 91177308-0d34-0410-b5e6-96231b3b80d8
* Prune #includes from llvm/Linker.h and llvm/System/Path.h,Chris Lattner2009-08-23
| | | | | | | | | | | | | | | | | | | | 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79869 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix FindExecutable to use sys::Path::GetMainExecutable instead ofDan Gohman2009-08-05
| | | | | | | | | | | | | | 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78240 91177308-0d34-0410-b5e6-96231b3b80d8
* Add save-temps option to bugpoint to keep temporary stuff.Anton Korobeynikov2009-08-05
| | | | | | Patch by Sandeep Patel git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78183 91177308-0d34-0410-b5e6-96231b3b80d8
* 80 col violation.Evan Cheng2009-07-21
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76629 91177308-0d34-0410-b5e6-96231b3b80d8
* Convert more tools code from cerr and cout to errs() and outs().Dan Gohman2009-07-16
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76070 91177308-0d34-0410-b5e6-96231b3b80d8
* Use errs() instead of std::cerr.Dan Gohman2009-07-15
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75791 91177308-0d34-0410-b5e6-96231b3b80d8
* Support remote execute for ARM.David Goodwin2009-07-10
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75292 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a "-gcc-tool-args" option. This option acts like the "-tool-args" option,Bill Wendling2009-03-02
| | | | | | | | but passes the arguments to the "gcc" invocation instead of to the "llc" invocation. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65896 91177308-0d34-0410-b5e6-96231b3b80d8
* Generalize bugpoint's concept of a "safe" backend, and add optionsDan Gohman2008-12-08
| | | | | | | | | | | | | | | 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60681 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove -check-exit-code from bugpoint. This is subsumed by -append-exit-code.Nick Lewycky2008-10-26
| | | | | | | Note that -check-exit-code was on by default while -append-exit-code is not. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58221 91177308-0d34-0410-b5e6-96231b3b80d8
* Let bugpoint display generated messages on stderr only if no interpreter wasMatthijs Kooijman2008-06-12
| | | | | | | | found, this ensures that messages like "Found gcc" end up on stdout where they belong. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52235 91177308-0d34-0410-b5e6-96231b3b80d8
* Add possibility of using arbitrary to to execute stuff from bugpoint.Anton Korobeynikov2008-04-28
| | | | | | | Patch by Pekka Jääskeläinen! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50373 91177308-0d34-0410-b5e6-96231b3b80d8
* remove attributions from tools.Chris Lattner2007-12-29
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45421 91177308-0d34-0410-b5e6-96231b3b80d8
* Pretty straightforward replacement of "bytecode" by "bitcode"Gabor Greif2007-07-04
| | | | | | | performed on tools/ first, in order not to cause lethal damage git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37877 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix bugpoint to run -llc-safe with -Xlinker.Lauro Ramos Venancio2007-06-06
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37483 91177308-0d34-0410-b5e6-96231b3b80d8
* Add possibility to set memory limit for binaries run via libSystem. ThisAnton Korobeynikov2007-02-16
| | | | | | | is especially needed for bugpoint. This partly implements PR688 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34349 91177308-0d34-0410-b5e6-96231b3b80d8
* Add an -append-exit-code option to bugpoint. This will cause bugpoint toReid Spencer2006-11-28
| | | | | | | | | 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31960 91177308-0d34-0410-b5e6-96231b3b80d8
* add a new bugpoint mode -llc-safe. This uses LLC for both halves of aChris Lattner2006-11-09
| | | | | | | | | miscompilation. This is useful for working around GCC+CBE bugs or for handling programs that CBE doesn't support (e.g. inline asm) when searching for optimizer bugs. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31588 91177308-0d34-0410-b5e6-96231b3b80d8
* Unbreak VC++ build.Jeff Cohen2006-11-05
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31464 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a new -cbe-bug mode, which works just like -run-llc, except that it usesChris Lattner2006-09-15
| | | | | | | LLC as the reference compiler to reduce testcases for bugs in GCC. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30400 91177308-0d34-0410-b5e6-96231b3b80d8
* For PR797:Reid Spencer2006-08-23
| | | | | | | | Final removal of exceptions from lib/System and adjustment of users to accommodate. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29846 91177308-0d34-0410-b5e6-96231b3b80d8
* This commit adds a new feature called find-bugs. The find-bugs option can be ↵Patrick Jenkins2006-08-15
| | | | | | 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29703 91177308-0d34-0410-b5e6-96231b3b80d8
* Pass -Xlinker flags to gcc when it builds the shared object.Chris Lattner2006-06-27
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28939 91177308-0d34-0410-b5e6-96231b3b80d8
* Teach bugpoint to kill optimization passes that run over the timeout limit,Chris Lattner2006-06-13
| | | | | | | | which allows it to debug optimizer infinite loops. This patch is contributed by Nick Lewycky, thanks! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28763 91177308-0d34-0410-b5e6-96231b3b80d8
* Move ToolRunner.(cpp|h) into the bugpoint directoryChris Lattner2006-06-06
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28699 91177308-0d34-0410-b5e6-96231b3b80d8
* Add the -Xlinker option to bugpoint which allows an option to be passedReid Spencer2006-06-06
| | | | | | | | | | through to gcc when its being used as a linker. This allows -L and -l (and any other) options to be added so that non-complete bytecode files can be processed with bugpoint. The -Xlinker option can be added as many times as needed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28692 91177308-0d34-0410-b5e6-96231b3b80d8
* add explicit #includes of iostreamChris Lattner2006-01-22
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25510 91177308-0d34-0410-b5e6-96231b3b80d8
* Eliminate all remaining tabs and trailing spaces.Jeff Cohen2005-07-27
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22523 91177308-0d34-0410-b5e6-96231b3b80d8
* Final Changes For PR495:Reid Spencer2005-07-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | This chagne just renames some sys::Path methods to ensure they are not misused. The Path documentation now divides methods into two dimensions: Path/Disk and accessor/mutator. Path accessors and mutators only operate on the Path object itself without making any disk accesses. Disk accessors and mutators will also access or modify the file system. Because of the potentially destructive nature of disk mutators, it was decided that all such methods should end in the work "Disk" to ensure the user recognizes that the change will occur on the file system. This patch makes that change. The method name changes are: makeReadable -> makeReadableOnDisk makeWriteable -> makeWriteableOnDisk makeExecutable -> makeExecutableOnDisk setStatusInfo -> setStatusInfoOnDisk createDirectory -> createDirectoryOnDisk createFile -> createFileOnDisk createTemporaryFile -> createTemporaryFileOnDisk destroy -> eraseFromDisk rename -> renamePathOnDisk These changes pass the Linux Deja Gnu tests. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22354 91177308-0d34-0410-b5e6-96231b3b80d8
* For PR495:Reid Spencer2005-07-07
| | | | | | | | | | | | | | | | | | | | | | Get rid of the difference between file paths and directory paths. The Path class now simply stores a path that can refer to either a file or a directory. This required various changes in the implementation and interface of the class with the corresponding impact to its users. Doxygen comments were also updated to reflect these changes. Interface changes are: appendDirectory -> appendComponent appendFile -> appendComponent elideDirectory -> eraseComponent elideFile -> eraseComponent elideSuffix -> eraseSuffix renameFile -> rename setDirectory -> set setFile -> set Changes pass Dejagnu and llvm-test/SingleSource tests. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22349 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove trailing whitespaceMisha Brukman2005-04-22
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21428 91177308-0d34-0410-b5e6-96231b3b80d8
* Add support for fp tolerancesChris Lattner2005-01-23
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19774 91177308-0d34-0410-b5e6-96231b3b80d8
* Adjust to changed interface.Chris Lattner2005-01-23
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19772 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix the build on PowerPC/Darwin - it thought we were declaring a newBrian Gaeke2004-12-22
| | | | | | | | function or something. Since FileRemover takes a const reference to sys::Path, we need to pass an actual sys::Path variable. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19111 91177308-0d34-0410-b5e6-96231b3b80d8
* For PR351:Reid Spencer2004-12-16
| | | | | | | | | | | | * 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 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19001 91177308-0d34-0410-b5e6-96231b3b80d8
* For PR351:Reid Spencer2004-12-15
| | | | | | | * Convert use of getUniqueFilename to sys::Path::makeUnique(); git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18949 91177308-0d34-0410-b5e6-96231b3b80d8
* Changes For Bug 352Reid Spencer2004-09-01
| | | | | | | | | 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/. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16137 91177308-0d34-0410-b5e6-96231b3b80d8