aboutsummaryrefslogtreecommitdiff
path: root/tools/bugpoint/ExtractFunction.cpp
AgeCommit message (Collapse)Author
2007-07-04Pretty straightforward replacement of "bytecode" by "bitcode"Gabor Greif
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
2007-05-03Drop 'const'Devang Patel
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36662 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-02Use 'static const char' instead of 'static const int'.Devang Patel
Due to darwin gcc bug, one version of darwin linker coalesces static const int, which defauts PassID based pass identification. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36652 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-01Do not use typeinfo to identify pass in pass manager.Devang Patel
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36632 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-05For PR411:Reid Spencer
This patch replaces the SymbolTable class with ValueSymbolTable which does not support types planes. This means that all symbol names in LLVM must now be unique. The patch addresses the necessary changes to deal with this and removes code no longer needed as a result. This completes the bulk of the changes for this PR. Some cleanup patches will follow. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33918 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-30For PR1136: Rename GlobalVariable::isExternal as isDeclaration to avoidReid Spencer
confusion with external linkage types. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33663 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-31For PR950:Reid Spencer
Convert signed integer types to signless. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32790 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-27For PR950:Reid Spencer
The long awaited CAST patch. This introduces 12 new instructions into LLVM to replace the cast instruction. Corresponding changes throughout LLVM are provided. This passes llvm-test, llvm/test, and SPEC CPUINT2000 with the exception of 175.vpr which fails only on a slight floating point output difference. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31931 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-09completely revert patrick's enhancement to bugpoint. Though it makes bugpointChris Lattner
speed up, it sometimes makes it crash on complex bc files, which isn't very nice. With this, bugpoint can reduce the 176.gcc failure. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31589 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-20For PR950:Reid Spencer
This patch implements the first increment for the Signless Types feature. All changes pertain to removing the ConstantSInt and ConstantUInt classes in favor of just using ConstantInt. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31063 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-29Code cleanups, no functionality change.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29969 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-27eliminate RegisterOpt. It does the same thing as RegisterPass.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29925 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-28Updating the comments above SplitFunctionsOutOfModule in ExtractFunction.cpp ↵Patrick Jenkins
to reflect the changes made to that function. Specifically I am removing the FIXME comment because the issue has been addressed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29385 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-28This commit improves bugpoints speed. On my G4 this changed caused kimwitu++ ↵Patrick Jenkins
to run through bugpoint in 1091.15 seconds (user + system time). The time it took to run this on my G4 before I made these changes is 1420.82 seconds (user + system time). This is a speedup of about 5.5 minutes. This is faster because SplitFunctionsOutOfModule no longer calls Clone Module and then removes the functions it doesnt want from the module returned. Instead it creates a module and copies over the specified functions, making changes to the new and old module where neccessary. This reduces the memory demand. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29379 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-16Don't pass target name into TargetData anymore, it is never used or needed.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28831 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-12Remove dead return value.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28245 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-08Fix a really annoying bug in bugpoint that made reducing C++ testcasesChris Lattner
almost impossible with the new CFE. It now guarantees that the static ctor/dtor list is correctly split between the modules. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26624 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-22add explicit #includes of iostreamChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25510 91177308-0d34-0410-b5e6-96231b3b80d8
2005-04-22Remove trailing whitespaceMisha Brukman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21428 91177308-0d34-0410-b5e6-96231b3b80d8
2005-03-15Replace more a*'s with arg_*'s, thanks to Gabor Greif!Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20615 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-23Fix a bugpoint crash that JeffC noticed, looking like this:Chris Lattner
*** Attempting to perform final cleanups: Final cleanups failed. Sorry. :( Ple ase report a bug! <llc>llc.exe: bytecode didn't read correctly. llc.exe: bytecode didn't read correctly. <crash> Assertion failed: M && "You can't write a null module!!", file c:\llvm\lib\bytec ode\writer\writer.cpp, line 1094 The fact that llc bombed (in this case) is ok, but bugpoint shouldn't crash after this. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20285 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-18remove debugging codeChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17962 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-16Make this code not depend on LinkModules leaving the second argument unmolested.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17874 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-20'Pass' should now not be derived from by clients. Instead, they should deriveChris Lattner
from ModulePass. Instead of implementing Pass::run, then should implement ModulePass::runOnModule. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16436 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-01Changes For Bug 352Reid Spencer
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
2004-08-12If the block extractor fails, actually emit the bc file that failed to extractChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15675 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-21These files don't need to include <iostream> since they include ↵Brian Gaeke
"Support/Debug.h". git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15089 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-04Add #include <iostream> since Value.h does not include it any more.Reid Spencer
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14623 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-11Implement basic block extraction for the miscompilation debugger. This ↵Chris Lattner
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 :) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13471 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-02Minor speedupChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12612 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-02Fix a fairly nasty bug that prevented bugpoint from working quite right whenChris Lattner
hacking on programs with two functions that have the same name. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12604 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-17Fix an inverted condition that causes us to think that loop extractionChris Lattner
accomplished something when it really did not. This does not fix the bigger problem tho. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12469 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-14After reducing a miscompiled program down to the functions which are beingChris Lattner
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... git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12398 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-14Refactor to use a new methodChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12395 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-14Refactor and clean up a bunch more code. No major functionality changes.Chris Lattner
* 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 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12393 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-14Add a method to extract a loopChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12391 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-14add a fixmeChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12388 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-14Refactor all of the "splitting a module into two pieces" code to avoidChris Lattner
code duplication. Also, don't use ReduceMiscompilingFunctions::TestFuncs to print out the final message. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12387 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-13Fix the "infinite looping unless you disable adce" bugChris Lattner
Also remove an option to disable adce :) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12359 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-18Make more stuff public. Make the instruction argument toChris Lattner
deleteInstructionFromProgram be const git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11606 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-07Do not leave a bunch of crud lying aroundChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10307 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-23Do not DESTROY programs by default. No wonder bugpoint was not being useful ↵Chris Lattner
all this time! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10175 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-11Put all LLVM code into the llvm namespace, as per bug 109.Brian Gaeke
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9903 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-05I hate it when bugpoint is all ready to give me a bytecode file, then crashesChris Lattner
in final cleanups. Then you had to run the whole mess again with -disable-final-cleanups. This makes bugpoint run the cleanups in a protected environment so that if they crash, bugpoint itself doesn't crash. This makes things much happier, implements a FIXME, and gets rid of YABPO (yet another bugpoint option). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9743 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-05Simplify the performFinalCleanups interfaceChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9740 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-23Fix an assertion failure in BugpointChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9406 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-20fix file headersChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9293 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-20Added copyright header to all C++ source files.John Criswell
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9291 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-10Check in the fix I meant to apply here, but mistakenly applied toBrian Gaeke
tools/extract instead..... heh git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8464 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-07Re-grouped and alphabetized headers for easier reading and cleaner style.Misha Brukman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7689 91177308-0d34-0410-b5e6-96231b3b80d8