Chris Lattner
325671d406
Make the bugpoint reduction heuristics more effective. Patch submitted by
...
Domagoj Babic, thanks!
llvm-svn: 30863
2006-10-10 21:42:25 +00:00
Chris Lattner
2fb91841be
Remove a dead var noticed by Yorion
...
llvm-svn: 30841
2006-10-09 20:12:37 +00:00
Chris Lattner
36793aa9ed
comment out debug code
...
llvm-svn: 30401
2006-09-15 23:01:10 +00:00
Chris Lattner
1e2c7fe283
Add a new -cbe-bug mode, which works just like -run-llc, except that it uses
...
LLC as the reference compiler to reduce testcases for bugs in GCC.
llvm-svn: 30400
2006-09-15 21:29:15 +00:00
Nick Lewycky
3c0bf01e9b
Fix --enable-valgrind. Add room for the new arguments, and don't keep
...
a pointer to a temporary.
llvm-svn: 30312
2006-09-14 04:20:17 +00:00
Nick Lewycky
fcd43d78a2
Add --enable-valgrind option to run optimizations through valgrind to
...
pick up on memory errors.
llvm-svn: 30311
2006-09-14 03:49:54 +00:00
Chris Lattner
064d0ec956
Change DisambiguateGlobalSymbols to not rename asm globals, which breaks
...
bugpoint on leopard.
llvm-svn: 30150
2006-09-07 18:21:07 +00:00
Chris Lattner
2da81d7d76
Use LINK_COMPONENTS to specify *components* to link against instead of
...
using USED_LIBS to specify *libraries* to link against.
llvm-svn: 30090
2006-09-04 05:59:09 +00:00
Chris Lattner
15bbdd8061
Code cleanups, no functionality change.
...
llvm-svn: 29969
2006-08-29 23:38:20 +00:00
Chris Lattner
a39dcb5377
eliminate RegisterOpt. It does the same thing as RegisterPass.
...
llvm-svn: 29925
2006-08-27 22:42:52 +00:00
Chris Lattner
d7fb3018ca
analyze no longer exists, don't offer to run it :)
...
llvm-svn: 29919
2006-08-27 22:12:06 +00:00
Reid Spencer
71c3f66dc6
For PR797:
...
Final removal of exceptions from lib/System and adjustment of users to
accommodate.
llvm-svn: 29846
2006-08-23 20:34:57 +00:00
Reid Spencer
3a71eba80f
For PR797:
...
Adjust usage of the ExecuteAndWait function to use the last argument which
is the ErrMsg string. This is necessitated because this function no longer
throws exceptions on error.
llvm-svn: 29791
2006-08-21 06:04:45 +00:00
Reid Spencer
eb02f1c668
For PR885:
...
Consolidate the LinkAllAnalyses.h and LinkAllPasses.h headers into one
so there is no dupliation.
llvm-svn: 29787
2006-08-21 05:34:03 +00:00
Reid Spencer
5ed787710d
For PR797:
...
Make sys::Program::ExecuteAndWait not throw exceptions and update any
affected code. It now return -9999 to signal that the program couldn't be
executed. Only one case (in bugpoint) actually examines the result code.
llvm-svn: 29785
2006-08-21 02:04:43 +00:00
Reid Spencer
c7c0e6c6ef
For PR797:
...
Rid the Assembly Parser of exceptions. This is a really gross hack but it
will do until the Assembly Parser is re-written as a recursive descent.
The basic premise is that wherever the old "ThrowException" function was
called (new name: GenerateError) we set a flag (TriggerError). Every
production checks that flag and calls YYERROR if it is set. Additionally,
each call to ThrowException in the grammar is replaced with GEN_ERROR
which calls GenerateError and then YYERROR immediately. This prevents
the remaining production from continuing after an error condition.
llvm-svn: 29763
2006-08-18 08:43:06 +00:00
Chris Lattner
9fbf5a233e
fit in 80 cols
...
llvm-svn: 29754
2006-08-17 18:51:28 +00:00
Chris Lattner
cfb178122c
minor cleanups
...
llvm-svn: 29753
2006-08-17 18:49:52 +00:00
Patrick Jenkins
7161695260
Adding FindBugs.cpp so the -find-bugs option will work.
...
llvm-svn: 29704
2006-08-15 16:41:52 +00:00
Patrick Jenkins
689b3e1549
This commit adds a new feature called find-bugs. The find-bugs option can be 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.
...
llvm-svn: 29703
2006-08-15 16:40:49 +00:00
Patrick Jenkins
35ac912c22
Updating the comments above SplitFunctionsOutOfModule in ExtractFunction.cpp to reflect the changes made to that function. Specifically I am removing the FIXME comment because the issue has been addressed.
...
llvm-svn: 29385
2006-07-28 18:03:01 +00:00
Patrick Jenkins
81c69c3ddb
This commit improves bugpoints speed. On my G4 this changed caused kimwitu++ 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.
llvm-svn: 29379
2006-07-28 01:19:28 +00:00
Chris Lattner
9f5a13c5c0
Tools require EH for their top-level try blocks.
...
llvm-svn: 29035
2006-07-07 00:46:19 +00:00
Chris Lattner
90a406d6e4
Pass -Xlinker flags to gcc when it builds the shared object.
...
llvm-svn: 28939
2006-06-27 20:35:36 +00:00
Chris Lattner
b5733272c5
Don't pass target name into TargetData anymore, it is never used or needed.
...
llvm-svn: 28831
2006-06-16 18:23:49 +00:00
Chris Lattner
05b6364eef
Teach bugpoint to kill optimization passes that run over the timeout limit,
...
which allows it to debug optimizer infinite loops. This patch is contributed
by Nick Lewycky, thanks!
llvm-svn: 28763
2006-06-13 03:10:48 +00:00
Chris Lattner
f9bb91746c
After telling GCC to type of the input file with -x asm/-x c, switch back to
...
-x none, to not foul up autodetection of .a file or .dylibs.
llvm-svn: 28741
2006-06-09 21:31:53 +00:00
Reid Spencer
c309a17fb7
Make sure this tool links in all of libVMCore.a because it can --load
...
shared objects.
llvm-svn: 28720
2006-06-07 23:06:50 +00:00
Chris Lattner
a9bca01256
Move ToolRunner.(cpp|h) into the bugpoint directory
...
llvm-svn: 28699
2006-06-06 22:30:59 +00:00
Reid Spencer
ff02d7d45a
Add the -Xlinker option to bugpoint which allows an option to be passed
...
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.
llvm-svn: 28692
2006-06-06 00:00:42 +00:00
Reid Spencer
94a443bb29
Use archive libraries instead of object files for VMCore, BCReader,
...
BCWriter, and bzip2 libraries. Adjust the various makefiles to accommodate
these changes. This was done to speed up link times.
llvm-svn: 28610
2006-06-01 01:30:27 +00:00
Chris Lattner
f604017e47
Patches to make the LLVM sources more -pedantic clean. Patch provided
...
by Anton Korobeynikov! This is a step towards closing PR786.
llvm-svn: 28447
2006-05-24 17:04:05 +00:00
Chris Lattner
084de55c60
print a nice error if bugpoint gets an error reading inputs. Bug identified
...
by coverity.
llvm-svn: 28298
2006-05-14 19:15:56 +00:00
Chris Lattner
aa818c1cad
Fix a bug found by inspection.
...
llvm-svn: 28297
2006-05-14 19:11:40 +00:00
Chris Lattner
60dfdded64
Remove dead return value.
...
llvm-svn: 28245
2006-05-12 17:28:36 +00:00
Chris Lattner
db59f434fd
wrap long line
...
llvm-svn: 28113
2006-05-04 23:35:31 +00:00
Chris Lattner
dbdfef7604
add an assert to get a slightly better msg about this problem
...
llvm-svn: 26812
2006-03-16 23:16:17 +00:00
Reid Spencer
728a2e9f62
Convert llvm.cs.uiuc.edu -> llvm.org
...
llvm-svn: 26748
2006-03-14 05:54:52 +00:00
Chris Lattner
334513448f
Fix a really annoying bug in bugpoint that made reducing C++ testcases
...
almost impossible with the new CFE. It now guarantees that the static
ctor/dtor list is correctly split between the modules.
llvm-svn: 26624
2006-03-08 23:55:38 +00:00
Andrew Lenharth
89ca36285c
For transforms the behave differently if main goes away, add an option to prevent bugpoint from removing main
...
llvm-svn: 26557
2006-03-05 22:21:36 +00:00
Andrew Lenharth
1c7b272409
Pass plugins on to children when optimizing.
...
llvm-svn: 25650
2006-01-26 18:37:21 +00:00
Chris Lattner
c82e99be7e
this doesn't work, remove it
...
llvm-svn: 25518
2006-01-23 00:32:33 +00:00
Chris Lattner
4093868c98
add explicit #includes of iostream
...
llvm-svn: 25510
2006-01-22 22:53:40 +00:00
Reid Spencer
ae8ad0d55a
Fix line length of a comment.
...
llvm-svn: 25149
2006-01-08 22:40:10 +00:00
Jeff Cohen
fcce4dc8b6
Get bugpoint building with VC++ again.
...
llvm-svn: 24977
2005-12-23 05:00:38 +00:00
Reid Spencer
36b05575fe
For PR351:
...
Generally, remove use of fork/exec from bugpoint in favor of the portable
sys::Program::ExecuteAndWait method. This change requires two new options
to bugpoint to tell it that it is running in "child" mode. In this mode,
it reads its input and runs the passes. The result code signals to the
parent instance of bugpoint what happened (success, fail, crash).
This change should make bugpoint usable on Win32 systems.
llvm-svn: 24961
2005-12-22 20:02:55 +00:00
Chris Lattner
2c346c9a4b
Fix printing of the instructions.
...
llvm-svn: 24714
2005-12-14 22:01:07 +00:00
Andrew Lenharth
ce9b9b83a8
This solves the problem of the CBE renaming symbols that start with . but the assembly side still trying to reference them by their old names. Should be safe untill we hit a language front end that lets you specify such a name.
...
llvm-svn: 24626
2005-12-06 20:51:30 +00:00
John Criswell
d6538108e8
Move some constant folding code shared by Analysis and Transform passes
...
into the LLVMAnalysis library.
This allows LLVMTranform and LLVMTransformUtils to be archives and linked
with LLVMAnalysis.a, which provides any missing definitions.
llvm-svn: 24036
2005-10-27 15:54:34 +00:00
John Criswell
b0f5adf975
1. Remove libraries no longer created from the list of libraries linked into the
...
SparcV9 JIT.
2. Make LLVMTransformUtils a relinked object file and always link it before
LLVMAnalysis.a. These two libraries have circular dependencies on each
other which creates problem when building the SparcV9 JIT. This change
fixes the dependency on all platforms problems with a minimum of fuss.
llvm-svn: 24023
2005-10-26 20:35:13 +00:00