Chris Lattner
ea448e4b8a
eliminate only use of FilteredPassNameParser
...
llvm-svn: 29916
2006-08-27 22:07:43 +00:00
Chris Lattner
9378951f7a
Merge the 'analyze' mode code with the 'opt' mode code. Eliminate the
...
'autodetect .ll files' functionality.
llvm-svn: 29915
2006-08-27 22:07:01 +00:00
Reid Spencer
741140980f
For PR797:
...
Remove exception throwing/handling from lib/Bytecode, and adjust its users
to compensate for changes in the interface.
llvm-svn: 29875
2006-08-25 17:43:11 +00:00
Reid Spencer
6ea5c4eafb
Fix a bug introduced by a change in the Archive::writeToDisk interface.
...
llvm-svn: 29870
2006-08-25 05:29:36 +00:00
Reid Spencer
ebf083391f
Fix a bug caused by change in the interface of Archive::writeToDisk.
...
llvm-svn: 29869
2006-08-25 05:28:17 +00:00
Reid Spencer
d813eae003
For PR797:
...
Remove exception handling from the bytecode archiver and adjust the llvm-ar
tool to accommodate the new interfaces.
llvm-svn: 29866
2006-08-24 23:45:08 +00:00
Nate Begeman
ae020ecfa9
Make sure that both non-asm file types are marked as experimental
...
llvm-svn: 29851
2006-08-23 21:29:52 +00:00
Nate Begeman
1268d6cd46
Initial checkin of the Mach-O emitter. There's plenty of fixmes, but it
...
does emit linkable .o files in very simple cases.
llvm-svn: 29850
2006-08-23 21:08:52 +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
Devang Patel
16c2934123
If unable to create tmp. file on disk then return LTO_WRITE_FAILURE status.
...
llvm-svn: 29844
2006-08-23 16:59:25 +00:00
Reid Spencer
bc4c8e8ac0
For PR797:
...
Eliminate exception throwing from Path::renamePathOnDisk and adjust its
users correspondingly.
llvm-svn: 29843
2006-08-23 07:30:48 +00:00
Reid Spencer
0bc83e3c5e
For PR797:
...
Remove exception throwing from Path::getDirectoryContents and its users.
llvm-svn: 29841
2006-08-23 06:56:27 +00:00
Reid Spencer
baf54399e7
For PR797:
...
Remove exceptions from the Path::create*OnDisk methods. Update their users
to handle error messages via arguments and result codes.
llvm-svn: 29840
2006-08-23 00:39:35 +00:00
Reid Spencer
551deac3b8
Rearrange order to build more frequently used tools first and make the
...
triplet ordering (large, small, small) explicit with one triplet per line.
llvm-svn: 29839
2006-08-23 00:12:11 +00:00
Reid Spencer
457201b1cb
Fix a typo.
...
llvm-svn: 29838
2006-08-23 00:06:14 +00:00
Reid Spencer
45120b0798
For PR797:
...
Change the Path::make*OnDisk methods exception free and adjust their usage.
llvm-svn: 29836
2006-08-22 23:27:23 +00:00
Reid Spencer
84497f3ae4
Rearrange the build order to better accommodate parallel build by reducing
...
memory pressure. This order spaces out large executables with small ones in
between so that in a -j2 or -j3 build, it only attempts to build only one
large executable at time. If you're doing -j4, you probably have enuogh
memory anyway.
llvm-svn: 29835
2006-08-22 23:21:21 +00:00
Reid Spencer
353b72a7c0
Make the sys::Path::GetTemporaryDirectory method not throw exceptions and
...
adjust users of it to compensate.
llvm-svn: 29831
2006-08-22 19:01:30 +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
Nate Begeman
7e968d2e45
Fix a build failure
...
llvm-svn: 29786
2006-08-21 04:57:01 +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
2a96040090
Make sure the verify pass gets run after the user's loaded passes as well
...
when the verify-each option is given.
llvm-svn: 29783
2006-08-20 20:54:38 +00:00
Reid Spencer
3906633b78
Rename the -verify option to be -verify-each so that it doesn't conflict
...
with the -verify pass option. It is also more accurate in that this option
causes a verify option to be run after every pass.
llvm-svn: 29782
2006-08-20 20:48:44 +00:00
Reid Spencer
6faaebd391
Convert llvm-ld to use the PluginLoader like opt instead of having its
...
one-off (and broken) RunOptimizations function. Also, run some cleanup
passes after the user's loaded passes run. This make sure to clean up
any cruft left around by thos passes.
This patch was inspired by a patch submitted by Bram Adams.
llvm-svn: 29781
2006-08-20 19:18:36 +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
Reid Spencer
8245e5bde1
For PR872:
...
Shrinkify LLVM's footprint by removing the analyze tool and moving its
functionality into the opt tool. THis eliminates one of the largest tools
from LLVM and doesn't make opt much bigger because it already included
most of the analysis passes. To get the old analyze functionality pass
the -analyze option to opt. Note that the integeration here is dead
simple. The "main" of analyze was just copied to opt and invoked if the
-analyze option was given. There may be opportunities for further
integration such as removing the distinction between transform passes
and analysis passes.
To use the analysis functionality, if you previously did this:
analyze $FNAME -domset -disable-verify
you would now do this:
opt -analyze $FNAME -domset -disable-verify
Pretty simple.
llvm-svn: 29762
2006-08-18 06:34:30 +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
Reid Spencer
6286e04772
Patches to correct several bugs in llvmc.
...
Patches contributed by Bram Adams. Thanks Bram.
llvm-svn: 29729
2006-08-16 20:31:44 +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
Devang Patel
d930310498
untabify
...
llvm-svn: 29686
2006-08-14 23:37:18 +00:00
Devang Patel
c97ee74e6a
Use mangler, instead of addUnderscore(), to get mangled name.
...
Now, LLVMSymbol keeps symbol original name and mangled name.
llvm-svn: 29679
2006-08-14 22:36:16 +00:00
Reid Spencer
249b932022
Provide indentation of the generated program.
...
llvm-svn: 29678
2006-08-14 22:35:15 +00:00
Reid Spencer
9cd0b87af3
Don't print double newline for --src-root and --obj-root as it tends to
...
confuse shells that might use this output.
llvm-svn: 29629
2006-08-11 21:50:24 +00:00
Anton Korobeynikov
5ab9a8d938
Fixed typo. Thanks, Reid.
...
llvm-svn: 29533
2006-08-04 22:55:53 +00:00
Anton Korobeynikov
0a95ed88c3
Removed usage of "sort", which can lead to undeterministic behavior on mingw & cygwin platforms.
...
llvm-svn: 29532
2006-08-04 21:52:23 +00:00
Devang Patel
bb13b66737
Collect references from globals.
...
llvm-svn: 29530
2006-08-04 19:10:26 +00:00
Reid Spencer
d55c555011
For PR845:
...
Enable the makefile check on the result of find-cycles.pl. LLVM is now
cycle free and we intend to keep it that way. This patch will fail the
build if cycles are found.
llvm-svn: 29517
2006-08-03 21:46:42 +00:00
Reid Spencer
8e0f0bfd98
Fix a typo in the name of expand_dependencies.
...
Make the dependency line pattern match handle white space better.
llvm-svn: 29516
2006-08-03 21:45:35 +00:00
Devang Patel
594ca4ed21
Make it fit into 80-columns.
...
llvm-svn: 29503
2006-08-03 17:26:30 +00:00
Devang Patel
1beac3b680
Fix typo.
...
llvm-svn: 29502
2006-08-03 17:25:36 +00:00
Devang Patel
d7f488e277
Simplify. Use addprefix.
...
llvm-svn: 29501
2006-08-03 17:18:45 +00:00
Chris Lattner
9c2e7678ab
Now that SparcV9 is gone, this logical can be simplified significantly.
...
llvm-svn: 29498
2006-08-03 16:59:17 +00:00
Devang Patel
5cac3e0195
Remove ARM for the moment since it is a work in progress.
...
llvm-svn: 29495
2006-08-03 16:14:09 +00:00
Devang Patel
9cc4c00c10
Add new tool, lto, to do link time optimization. This tool installs
...
dynamic library that linker can use to optimize llvm byte codes at
link time.
llvm-svn: 29494
2006-08-03 15:44:57 +00:00
Chris Lattner
c7d664b581
Fix the build on case-sensitive filesystems :(
...
llvm-svn: 29457
2006-08-01 22:34:35 +00:00
Chris Lattner
bbcb37f911
no need to check readability here
...
llvm-svn: 29449
2006-08-01 18:22:21 +00:00
Chris Lattner
d1f3b45348
No need to check isWriteable here (which isn't sufficient anyway). Just attempt
...
to do the operation and if it fails, oh well.
llvm-svn: 29446
2006-08-01 18:12:29 +00:00
Chris Lattner
09840d9731
Use Path::getFileStatus
...
llvm-svn: 29445
2006-08-01 18:09:46 +00:00
Chris Lattner
d69d77e5d1
Use Path::getFileStatus to get status-related info.
...
llvm-svn: 29444
2006-08-01 18:04:01 +00:00
Jim Laskey
b92b14f422
Introducing plugable register allocators and instruction schedulers.
...
llvm-svn: 29434
2006-08-01 14:21:23 +00:00
Chris Lattner
f4c7ceebaf
Change Path::getStatusInfo to return a boolean and error string on an error
...
instead of throwing an exception. This reduces the amount of code that is
exposed to exceptions (e.g. FileUtilities), though it is clearly only one step
along the way.
llvm-svn: 29395
2006-07-28 22:03:44 +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
Reid Spencer
219ced1bdd
Undo last commit, which was committed accidentally.
...
llvm-svn: 29369
2006-07-27 23:19:00 +00:00
Reid Spencer
dc6201bb05
Changes to support cross-compiling LLVM. The GenLibDeps.pl script needs to
...
have a compile-host version of "nm", not build-host. In order to effect this
we must use autoconf to determine the correct "nm" to use and propagate that
through the makefiles, through llvm-config and finally to GenLibDeps.pl as
an optional argument.
Patch contributed by Anton Korobeynikov. Thanks!
llvm-svn: 29368
2006-07-27 23:00:30 +00:00
Chris Lattner
e5fe48b84a
Avoid a "scary" make warning for the 1.8 release. This should be reenabled
...
right after 1.8 "ships".
llvm-svn: 29308
2006-07-26 21:14:04 +00:00
Chris Lattner
d40a2002f2
Add llvm2cpp to DIRs list
...
llvm-svn: 29299
2006-07-26 20:19:06 +00:00
Reid Spencer
ed6495426c
Make changes necessary for stopping the build if a cyclic library
...
dependency is found. The find-cycles.pl script now exits with a return code
that equals the number of cycles found. The Makefile was changed to ignore
the status code of find-cycles.pl. This should be removed once the libraries
are free of cyclic dependencies.
llvm-svn: 29290
2006-07-26 17:10:54 +00:00
Reid Spencer
62ffefecfa
Build llvm-config to identify library cycles earlier in the build process.
...
llvm-svn: 29289
2006-07-26 17:06:02 +00:00
Devang Patel
66bddd67f1
Fix MacOSX build failures. (pr841)
...
llvm-svn: 29246
2006-07-21 19:44:55 +00:00
Chris Lattner
109640a240
Build more debugger/selectiondag libraries as archives instead of .o files.
...
This works around bugs in some versions of the cygwin linker.
Patch contributed by Anton Korobeynikov.
llvm-svn: 29239
2006-07-21 00:10:47 +00:00
Andrew Lenharth
0311b39af2
Fix linking on Alpha
...
llvm-svn: 29219
2006-07-20 17:27:58 +00:00
Reid Spencer
cb66ae964e
Finish removal of EH usage from the Archive library. The REQUIRES_EH flag
...
in lib/Bytecode/Archive/Makefile is now removed. One small step closer to
a smaller LLVM.
llvm-svn: 29067
2006-07-07 20:56:50 +00:00
Reid Spencer
9f4deeabf4
Remove EH use from the Archive library and adjust its users accordingly.
...
llvm-svn: 29066
2006-07-07 19:09:14 +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
c57664f49c
Fix PR819, llvm2cpp should read .bc files, not .ll files.
...
llvm-svn: 29030
2006-07-06 23:48:57 +00:00
Chris Lattner
c55abf6f70
Change the verifier to never throw an exception. Instead verifyModule canoptionally return the string error, which is an easier api for clients touse anyway.
...
llvm-svn: 29017
2006-07-06 18:02:27 +00:00
Reid Spencer
8823d45d18
Split long comment lines.
...
llvm-svn: 28988
2006-07-03 16:46:03 +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
Devang Patel
136f284987
Fix cut-n-pasto in comments.
...
llvm-svn: 28928
2006-06-27 18:07:29 +00:00
Chris Lattner
5cf58cd1f8
Remove unneeded libs
...
llvm-svn: 28900
2006-06-21 17:26:13 +00:00
Reid Spencer
f6e3ed4f3f
For PR811:
...
Don't both with the "C" and "cc" extensions as they aren't common and they
the "C" extension conflicts with the "c" extension on operating systems
that have case insensitive file names.
llvm-svn: 28899
2006-06-21 17:21:39 +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
Reid Spencer
b28a9eedd3
Actually add instructions to the list of defined values so it gets
...
recognized as such! This prevents the CppWriter from treating every
operand as a forward reference and making a mess of the output.
llvm-svn: 28800
2006-06-15 16:09:59 +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
Chris Lattner
89d4612326
This no longer needs plugins, this it doesn't need all of VMCore.
...
llvm-svn: 28723
2006-06-08 00:25:44 +00:00
Reid Spencer
8077d5bf7f
Shorten a value description so --help out isn't so wide.
...
llvm-svn: 28721
2006-06-07 23:07:51 +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
Reid Spencer
854aa3ca41
For PR780:
...
1. Add #includes to LinkAllVMCore.h to get Mangler.o and InlineAsm.o
2. Make Mangler.h and InlineAsm.h use the macros to ensure linkage
3. Make each of the tools with --load options include LinkAllVMCore.h
This should be the last set of changes for this bug and 800.
llvm-svn: 28719
2006-06-07 23:03:13 +00:00
Chris Lattner
186880efce
Remove useless noop argument
...
llvm-svn: 28706
2006-06-07 00:43:18 +00:00
Chris Lattner
505ecc53ec
Fix a bug in the following scenario.
...
1. llvm is built with objroot = OBJ and installed.
2. OBJ is deleted or install tree is shipped.
3. llvm-config is run.
In this scenario, llvm-config shouldn't emit an error message at #3 , it
should just know it's not running in the objdir :)
llvm-svn: 28704
2006-06-06 23:54:15 +00:00
Chris Lattner
4fa098a68a
Add a new --libfiles option, for getting fully-qualified pathnames to libraries.
...
This can be used for tools that want makefile rules to depend on the libraries
(e.g. so the tool is relinked when a library changes).
llvm-svn: 28701
2006-06-06 22:38:29 +00:00
Chris Lattner
a9bca01256
Move ToolRunner.(cpp|h) into the bugpoint directory
...
llvm-svn: 28699
2006-06-06 22:30:59 +00:00
Chris Lattner
f16f3e80fc
Make the llvm-config library dependency database depend on all of the libraries.
...
llvm-svn: 28695
2006-06-06 17:43:03 +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
Chris Lattner
b2e5814fae
temporarily add back this option, I will remove it in a couple days
...
llvm-svn: 28675
2006-06-02 23:43:27 +00:00
Chris Lattner
9cfabaf195
Fix a -pedantic warning
...
llvm-svn: 28670
2006-06-02 22:11:06 +00:00
Chris Lattner
2a1a013f1d
Add flags to get access to build_mode, objdir, srcdir etc.
...
If installed, ignore the prefix the tree is configured with: always use the
prefix that llvm-config is currently at, which may be different if the tree
was moved.
llvm-svn: 28669
2006-06-02 22:03:50 +00:00
Chris Lattner
58709a9965
Make llvm-config "do the right thing" when an install tree is relocated or
...
when run out of a build directory.
llvm-svn: 28668
2006-06-02 21:48:10 +00:00
Chris Lattner
f6262f0c01
Capture the build mode (e.g. Debug/Release) in the llvm-config script.
...
llvm-svn: 28665
2006-06-02 19:13:29 +00:00
Chris Lattner
f49f76bae4
Convert to standard file header
...
llvm-svn: 28663
2006-06-02 18:58:21 +00:00
Chris Lattner
e00b96984a
Remove a couple of things no longer figured out by autoconf
...
llvm-svn: 28662
2006-06-02 18:55:36 +00:00
Reid Spencer
a3e44daec0
Add several more autoconf variables so that new features can be implemented
...
by our illustrious project leader.
llvm-svn: 28659
2006-06-02 18:31:41 +00:00
Chris Lattner
960386a1cf
Add a gross "--use-current-dir-as-prefix" option as a temporary workaround
...
for the "build with one prefix and move the installed files to another dir"
problem.
llvm-svn: 28654
2006-06-02 01:23:18 +00:00
Chris Lattner
0f2c3368eb
Remove some variables from the configured section that aren't.
...
llvm-svn: 28653
2006-06-02 01:04:35 +00:00
Chris Lattner
ebf12c3fcb
Remove more "alpha is archive" stuff.
...
llvm-svn: 28652
2006-06-02 00:56:15 +00:00