summaryrefslogtreecommitdiffstats
path: root/llvm/tools/bugpoint/Miscompilation.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* For PR351:Reid Spencer2004-12-151-13/+19
| | | | | | * Convert use of getUniqueFilename to sys::Path::makeUnique(); llvm-svn: 18949
* LinkModules is now in the Linker classReid Spencer2004-12-131-3/+3
| | | | llvm-svn: 18863
* Fix a bug in the checkin where I adjusted this code to work whenChris Lattner2004-11-191-7/+8
| | | | | | LinkModules nukes the second module argument. llvm-svn: 17986
* Make this code not depend on LinkModules leaving the second argument unmolested.Chris Lattner2004-11-161-20/+30
| | | | llvm-svn: 17874
* Linker.h has a new home.Reid Spencer2004-11-141-1/+1
| | | | llvm-svn: 17801
* Changes For Bug 352Reid Spencer2004-09-011-2/+2
| | | | | | | | 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
* * Convert "\n" -> '\n'Misha Brukman2004-07-231-10/+10
| | | | | | | * Print out another '\n' after printing out program execution status * Make sure code wraps at 80 cols llvm-svn: 15123
* bug 122:Reid Spencer2004-07-181-2/+1
| | | | | | - Replace ConstantPointerRef usage with GlobalValue usage llvm-svn: 14953
* Linker.h moved to include/llvm/SupportMisha Brukman2004-06-231-1/+1
| | | | llvm-svn: 14351
* Turn the block extractor on by default now that it basically works, ↵Chris Lattner2004-05-121-7/+0
| | | | | | eliminating the option. llvm-svn: 13502
* Check to see if all blocks are extractible first.Chris Lattner2004-05-121-8/+19
| | | | llvm-svn: 13491
* Implement the final missing bits for block extractor support. Now bugpointChris Lattner2004-05-121-2/+35
| | | | | | can extract basic blocks up to the limit of the block extractor implementation. llvm-svn: 13475
* Implement basic block extraction for the miscompilation debugger. This ↵Chris Lattner2004-05-111-0/+112
| | | | | | | | | | | | | | | | still needs two things: the FIXME in ExtractBlocks needs to be implemented, and the basic block extractor itself needs to have enough bugs fixed for this to be more or less useful. Until the time that this is generally useful, it is hidden behind the new bugpoint -enable-block-extraction option. I hope to get the FIXME done tonight. Also of note, this patch adds a -extract-bbs option to bugpoint which can be used to debug the block extractor. (hint hint Misha :) llvm-svn: 13471
* Teach bugpoint to be a little bit smarter and avoid repeating workChris Lattner2004-04-231-1/+5
| | | | llvm-svn: 13132
* Add a space before result for readability on the command line.Misha Brukman2004-04-221-7/+7
| | | | llvm-svn: 13109
* Add doxygenified comments to functions.Misha Brukman2004-04-211-0/+18
| | | | llvm-svn: 13097
* As per Chris, greatly simplify handling of external functions by using theMisha Brukman2004-04-191-75/+22
| | | | | | | wrapper idea uniformly: we can use Value::replaceAllUsesWith() instead of special-casing by class of user. llvm-svn: 13063
* Finally implement rewriting global initializers which use external functionsMisha Brukman2004-04-191-10/+83
| | | | | | | | | | | by creating an internal wrapper function with same signature as the external function, and use it instead of the "real" function. The wrapper then calls the external function using the same JIT function resolution API that has been used before for rewriting instructions, since the wrapper has an explicit call instruction which we can rewrite. llvm-svn: 13054
* Disambiguate symbols after loop extraction so that we can diagnose a codeChris Lattner2004-04-111-16/+18
| | | | | | generator bug if multiple loops are extracted from a function. llvm-svn: 12847
* Fix an obvious bug in the refactoring I did a few days agoChris Lattner2004-04-091-1/+1
| | | | llvm-svn: 12797
* Merge the code generator miscompilation code into the optimizer miscompilationChris Lattner2004-04-051-1/+255
| | | | | | | code. This "instantly" gives us loop-extractor power to assist with the debugment of our nasty codegen issues. :) llvm-svn: 12678
* Refactor and genericize codeChris Lattner2004-04-051-55/+71
| | | | llvm-svn: 12675
* minor formatting changeChris Lattner2004-04-021-3/+2
| | | | llvm-svn: 12606
* Fix two pretty serious bugs:Chris Lattner2004-04-021-9/+14
| | | | | | | | | | | | 1. Each time the loop extractor extracted a loop, we would leak a module. 2. When we extracted a loop, we didn't add the new function to the list of miscompiled functions. Thus if the bug was in a loop nest and we extracted it, we could actually *LOSE THE BUG*, which is very bad. With these patches, bugpoint has successfully found a bug for me in a function with several nested loops, and cut it down to just one of them. :) :) llvm-svn: 12605
* When loop extraction succeeds, make sure to map the function pointers overChris Lattner2004-03-171-0/+11
| | | | | | to avoid dangling references. llvm-svn: 12470
* Fix thinko, and PR292Chris Lattner2004-03-161-1/+1
| | | | llvm-svn: 12426
* After reducing a miscompiled program down to the functions which are beingChris Lattner2004-03-141-27/+105
| | | | | | | | | miscompiled, try to use the loop extractor to reduce the program down to a loop nest that is being miscompiled. In practice, the loop extractor appears to have too many bugs for this to be useful, but hopefully they will be fixed soon... llvm-svn: 12398
* Refactor and clean up a bunch more code. No major functionality changes.Chris Lattner2004-03-141-42/+46
| | | | | | | | | | | | | | * 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
* Refactor all of the "splitting a module into two pieces" code to avoidChris Lattner2004-03-141-88/+30
| | | | | | | code duplication. Also, don't use ReduceMiscompilingFunctions::TestFuncs to print out the final message. llvm-svn: 12387
* A couple of minor cleanups: don't forward declare private classes, put privateChris Lattner2004-02-181-3/+3
| | | | | | classes in an anon namespace llvm-svn: 11604
* Add a stub for debugging code generator crashesChris Lattner2004-02-181-4/+4
| | | | llvm-svn: 11602
* finegrainify namespacificationChris Lattner2004-01-141-25/+28
| | | | llvm-svn: 10839
* Bugpoint had appalingly bad grammar. Fix some of it.Chris Lattner2003-12-071-4/+8
| | | | llvm-svn: 10308
* Put all LLVM code into the llvm namespace, as per bug 109.Brian Gaeke2003-11-111-0/+4
| | | | llvm-svn: 9903
* fix file headersChris Lattner2003-10-201-1/+0
| | | | llvm-svn: 9293
* Added copyright header to all C++ source files.John Criswell2003-10-201-0/+8
| | | | llvm-svn: 9291
* If we detect a pass crash during miscompilation testing, immediately enter theChris Lattner2003-10-181-4/+4
| | | | | | crash debugger llvm-svn: 9234
* Fix bug in my checkinChris Lattner2003-10-181-1/+0
| | | | llvm-svn: 9217
* Another formatting fixChris Lattner2003-10-181-4/+4
| | | | llvm-svn: 9216
* More cleanupsChris Lattner2003-10-171-3/+7
| | | | llvm-svn: 9215
* Be more helpful if a pass fails while chasing down a miscompilationChris Lattner2003-10-171-2/+6
| | | | llvm-svn: 9214
* Eliminate the bugpoint -mode option, by making bugpoint automatically infer ↵Chris Lattner2003-10-141-7/+0
| | | | | | the root of all of your problems llvm-svn: 9115
* File-related functions moved to FileUtilities.h .Misha Brukman2003-08-071-1/+1
| | | | llvm-svn: 7696
* Re-grouped and alphabetized headers for easier reading and cleaner style.Misha Brukman2003-08-071-2/+2
| | | | llvm-svn: 7689
* Moved SystemUtils.h to include/Support and SystemUtils.cpp to lib/Support.Misha Brukman2003-08-071-1/+1
| | | | llvm-svn: 7687
* Do not attempt to reduce a test case if it is an empty set.Misha Brukman2003-08-041-1/+1
| | | | llvm-svn: 7570
* CodeGeneratorBug.cpp:Misha Brukman2003-07-301-5/+1
| | | | | | | | | | | | | | | | * Temporarily externing InputArgv to print it out for the benefit of LLI command needed to reproduce the result. * Print out the list of functions currently being tested * ListReducer now returns a bool if there was a failure, so test for it ListReducer.h: * Handle the case where there is no problem by returning true if failure is found. Also correctly handles the case when there is only 1 pass/function. Miscompilation.cpp: * ListReducer now returns a bool if there was a failure, so test for it llvm-svn: 7434
* Major addition to bugpoint: ability to debug code generators (LLC and LLI).Misha Brukman2003-07-241-47/+8
| | | | | | | | | | | | | | | | | | | | | | | | The C backend is assumed correct and is used to generate shared objects to be loaded by the other two code generators. LLC debugging should be functional now, LLI needs a few more additions to work, the major one is renaming of external functions to call the JIT lazy function resolver. Bugpoint now has a command-line switch -mode with options 'compile' and 'codegen' to debug appropriate portions of tools. ExecutionDriver.cpp: Added implementations of AbstractInterpreter for LLC and GCC, broke out common code within other tools, and added ability to generate C code with CBE individually, without executing the program, and the GCC tool can generate executables shared objects or executables. If no reference output is specified to Bugpoint, it will be generated with CBE, because it is already assumed to be correct for the purposes of debugging using this method. As a result, many functions now accept as an optional parameter a shared object to be loaded in, if specified. llvm-svn: 7293
* The word `separate' only has one `e'.Misha Brukman2003-07-141-1/+1
| | | | llvm-svn: 7173
* Print filename correctlyChris Lattner2003-05-121-1/+1
| | | | llvm-svn: 6119
OpenPOWER on IntegriCloud