Commit Graph

1770 Commits

Author SHA1 Message Date
Chris Lattner
279015226e lli uses LinkAllCodegenComponents, so it needs this. Thanks to
Rafael Esp?ndola for pointing this out


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30100 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-04 18:34:16 +00:00
Chris Lattner
a563208898 Use llvm-config instead of magic JIT thing to link in libs
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30091 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-04 06:01:43 +00:00
Chris Lattner
aea932d27f Use LINK_COMPONENTS to specify *components* to link against instead of
using USED_LIBS to specify *libraries* to link against.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30090 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-04 05:59:09 +00:00
Chris Lattner
54eae9e1ec Allow things like --libs CBackend
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30089 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-04 05:35:23 +00:00
Chris Lattner
ebfc3a9fc2 Switch to using llvm-config to build
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30088 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-04 05:24:16 +00:00
Chris Lattner
9bf8ea26a9 Switch to using llvm-config to select components to link in.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30085 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-04 04:47:49 +00:00
Chris Lattner
1911fd4f85 Completely rearchitect the interface between targets and the pass manager.
This pass:

1. Splits TargetMachine into TargetMachine (generic targets, can be implemented
any way, like the CBE) and LLVMTargetMachine (subclass of TM that is used by
things using libcodegen and other support).
2. Instead of having each target fully populate the passmgr for file or JIT
   output, move all this to common code, and give targets hooks they can
   implement.
3. Commonalize the target population stuff between file emission and JIT
   emission.
4. All (native code) codegen stuff now happens in a FunctionPassManager, which
   paves the way for "fast -O0" stuff in the CFE later, and now LLC could
   lazily stream .bc files from disk to use less memory.
5. There are now many fewer #includes and the targets don't depend on the
   scalar xforms or libanalysis anymore (but codegen does).
6. Changing common code generator pass ordering stuff no longer requires
   touching all targets.
7. The JIT now has the option of "-fast" codegen or normal optimized codegen,
   which is now orthogonal to the fact that JIT'ing is being done.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30081 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-04 04:14:57 +00:00
Chris Lattner
3f2e0e6165 rearrange targets to satisfy dependencies. Too bad we aren't using llvm-config.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30077 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-04 04:04:41 +00:00
Chris Lattner
80930eb414 If a cycle exists, don't succeed building the second time around.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30076 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-04 01:49:10 +00:00
Chris Lattner
40ad304709 remove message
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30075 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-04 01:48:32 +00:00
Chris Lattner
de1cce7e14 Remove use of target::getName()
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30069 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-03 18:38:30 +00:00
Anton Korobeynikov
7d51544903 - Fixed broken Win32 build
- Removed warning about clobbered parameter in Bytecode/Reader


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30026 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-01 20:35:17 +00:00
Chris Lattner
1bb6f0643d Code cleanups, no functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29969 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-29 23:38:20 +00:00
Reid Spencer
e3a1069870 Delete a no-longer-supported configuration item.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29960 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-29 20:52:44 +00:00
Chris Lattner
5e9b177cb5 Add a --disable-compression option like llvm-link/llvm-as etc have
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29941 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-28 17:31:55 +00:00
Reid Spencer
3a9ec2463d For PR387:
Close out this long standing bug by removing the remaining overloaded
virtual functions in LLVM. The -Woverloaded-virtual option is now turned on.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29934 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-28 01:02:49 +00:00
Chris Lattner
7f8897f22e eliminate RegisterOpt. It does the same thing as RegisterPass.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29925 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-27 22:42:52 +00:00
Chris Lattner
3b2493e2a1 -analyze mode shouldn't output a .bc file.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29923 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-27 22:40:26 +00:00
Chris Lattner
5d8925c7c5 Eliminate RegisterAnalysis. RegisterPass now does all that is necessary.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29921 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-27 22:30:17 +00:00
Chris Lattner
a4be053d7d analyze no longer exists, don't offer to run it :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29919 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-27 22:12:06 +00:00
Chris Lattner
30967a54f4 eliminate only use of FilteredPassNameParser
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29916 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-27 22:07:43 +00:00
Chris Lattner
7f500f7f2a Merge the 'analyze' mode code with the 'opt' mode code. Eliminate the
'autodetect .ll files' functionality.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29915 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-27 22:07:01 +00:00
Reid Spencer
0b5a504d10 For PR797:
Remove exception throwing/handling from lib/Bytecode, and adjust its users
to compensate for changes in the interface.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29875 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-25 17:43:11 +00:00
Reid Spencer
30836fc74c Fix a bug introduced by a change in the Archive::writeToDisk interface.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29870 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-25 05:29:36 +00:00
Reid Spencer
09069b3bf5 Fix a bug caused by change in the interface of Archive::writeToDisk.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29869 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-25 05:28:17 +00:00
Reid Spencer
0ff2d31766 For PR797:
Remove exception handling from the bytecode archiver and adjust the llvm-ar
tool to accommodate the new interfaces.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29866 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-24 23:45:08 +00:00
Nate Begeman
712b835de0 Make sure that both non-asm file types are marked as experimental
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29851 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-23 21:29:52 +00:00
Nate Begeman
eb883af390 Initial checkin of the Mach-O emitter. There's plenty of fixmes, but it
does emit linkable .o files in very simple cases.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29850 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-23 21:08:52 +00:00
Reid Spencer
51c5a286ba For PR797:
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
2006-08-23 20:34:57 +00:00
Devang Patel
ca64012ac6 If unable to create tmp. file on disk then return LTO_WRITE_FAILURE status.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29844 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-23 16:59:25 +00:00
Reid Spencer
5a060775da For PR797:
Eliminate exception throwing from Path::renamePathOnDisk and adjust its
users correspondingly.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29843 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-23 07:30:48 +00:00
Reid Spencer
142ca8e818 For PR797:
Remove exception throwing from Path::getDirectoryContents and its users.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29841 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-23 06:56:27 +00:00
Reid Spencer
e5c9cb5eb6 For PR797:
Remove exceptions from the Path::create*OnDisk methods. Update their users
to handle error messages via arguments and result codes.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29840 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-23 00:39:35 +00:00
Reid Spencer
b590a75eb5 Rearrange order to build more frequently used tools first and make the
triplet ordering (large, small, small) explicit with one triplet per line.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29839 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-23 00:12:11 +00:00
Reid Spencer
c6a561e2ca Fix a typo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29838 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-23 00:06:14 +00:00
Reid Spencer
e1647f4698 For PR797:
Change the Path::make*OnDisk methods exception free and adjust their usage.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29836 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-22 23:27:23 +00:00
Reid Spencer
ab96bb1df3 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29835 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-22 23:21:21 +00:00
Reid Spencer
487447626c Make the sys::Path::GetTemporaryDirectory method not throw exceptions and
adjust users of it to compensate.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29831 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-22 19:01:30 +00:00
Reid Spencer
8ea5ecb056 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29791 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-21 06:04:45 +00:00
Reid Spencer
62c5105adc For PR885:
Consolidate the LinkAllAnalyses.h and LinkAllPasses.h headers into one
so there is no dupliation.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29787 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-21 05:34:03 +00:00
Nate Begeman
da6169b996 Fix a build failure
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29786 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-21 04:57:01 +00:00
Reid Spencer
023fcf9776 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29785 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-21 02:04:43 +00:00
Reid Spencer
dcee9d093f Make sure the verify pass gets run after the user's loaded passes as well
when the verify-each option is given.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29783 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-20 20:54:38 +00:00
Reid Spencer
ec9f050560 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29782 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-20 20:48:44 +00:00
Reid Spencer
8e33fae0ed 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29781 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-20 19:18:36 +00:00
Reid Spencer
61c83e023f 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29763 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-18 08:43:06 +00:00
Reid Spencer
fd90dd5d55 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29762 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-18 06:34:30 +00:00
Chris Lattner
c0431fe1ca fit in 80 cols
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29754 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-17 18:51:28 +00:00
Chris Lattner
7f27570ae0 minor cleanups
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29753 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-17 18:49:52 +00:00
Reid Spencer
3b4c5d72e0 Patches to correct several bugs in llvmc.
Patches contributed by Bram Adams. Thanks Bram.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29729 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-16 20:31:44 +00:00
Patrick Jenkins
032091d7f6 Adding FindBugs.cpp so the -find-bugs option will work.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29704 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-15 16:41:52 +00:00
Patrick Jenkins
6a3f31cb70 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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29703 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-15 16:40:49 +00:00
Devang Patel
2198f9cec4 untabify
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29686 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-14 23:37:18 +00:00
Devang Patel
30235dad4b Use mangler, instead of addUnderscore(), to get mangled name.
Now, LLVMSymbol keeps symbol original name and mangled name.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29679 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-14 22:36:16 +00:00
Reid Spencer
70bbf9a3dd Provide indentation of the generated program.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29678 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-14 22:35:15 +00:00
Reid Spencer
b43ce5a148 Don't print double newline for --src-root and --obj-root as it tends to
confuse shells that might use this output.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29629 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-11 21:50:24 +00:00
Anton Korobeynikov
3acbb9b9d4 Fixed typo. Thanks, Reid.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29533 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-04 22:55:53 +00:00
Anton Korobeynikov
de9c02b171 Removed usage of "sort", which can lead to undeterministic behavior on mingw & cygwin platforms.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29532 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-04 21:52:23 +00:00
Devang Patel
304d5f2edc Collect references from globals.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29530 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-04 19:10:26 +00:00
Reid Spencer
ecfe0888b6 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29517 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-03 21:46:42 +00:00
Reid Spencer
d8c20a9cf8 Fix a typo in the name of expand_dependencies.
Make the dependency line pattern match handle white space better.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29516 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-03 21:45:35 +00:00
Devang Patel
30f63adef8 Make it fit into 80-columns.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29503 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-03 17:26:30 +00:00
Devang Patel
94a0ac9bea Fix typo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29502 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-03 17:25:36 +00:00
Devang Patel
f5a156deee Simplify. Use addprefix.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29501 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-03 17:18:45 +00:00
Chris Lattner
202ae321f8 Now that SparcV9 is gone, this logical can be simplified significantly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29498 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-03 16:59:17 +00:00
Devang Patel
bbd1cb43f9 Remove ARM for the moment since it is a work in progress.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29495 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-03 16:14:09 +00:00
Devang Patel
a89d47f54d 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29494 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-03 15:44:57 +00:00
Chris Lattner
d3a680ae2c Fix the build on case-sensitive filesystems :(
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29457 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-01 22:34:35 +00:00
Chris Lattner
2f2d32437a no need to check readability here
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29449 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-01 18:22:21 +00:00
Chris Lattner
33b0e9c644 No need to check isWriteable here (which isn't sufficient anyway). Just attempt
to do the operation and if it fails, oh well.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29446 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-01 18:12:29 +00:00
Chris Lattner
8bdbb04f9b Use Path::getFileStatus
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29445 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-01 18:09:46 +00:00
Chris Lattner
0b32d8b764 Use Path::getFileStatus to get status-related info.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29444 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-01 18:04:01 +00:00
Jim Laskey
13ec702c43 Introducing plugable register allocators and instruction schedulers.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29434 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-01 14:21:23 +00:00
Chris Lattner
252ad03d7d 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29395 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-28 22:03:44 +00:00
Patrick Jenkins
68b163059d 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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29385 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-28 18:03:01 +00:00
Patrick Jenkins
e47863e212 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29379 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-28 01:19:28 +00:00
Reid Spencer
a6e216f456 Undo last commit, which was committed accidentally.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29369 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-27 23:19:00 +00:00
Reid Spencer
1bc686433b 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!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29368 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-27 23:00:30 +00:00
Chris Lattner
7686b57803 Avoid a "scary" make warning for the 1.8 release. This should be reenabled
right after 1.8 "ships".


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29308 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-26 21:14:04 +00:00
Chris Lattner
d8e421d40a Add llvm2cpp to DIRs list
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29299 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-26 20:19:06 +00:00
Reid Spencer
dd3f6aa91f 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29290 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-26 17:10:54 +00:00
Reid Spencer
44b60ec455 Build llvm-config to identify library cycles earlier in the build process.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29289 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-26 17:06:02 +00:00
Devang Patel
2ebc1f82a2 Fix MacOSX build failures. (pr841)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29246 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-21 19:44:55 +00:00
Chris Lattner
02b04b4d34 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29239 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-21 00:10:47 +00:00
Andrew Lenharth
74bda2e320 Fix linking on Alpha
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29219 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-20 17:27:58 +00:00
Reid Spencer
8d8a7ffe58 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29067 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-07 20:56:50 +00:00
Reid Spencer
3039b99697 Remove EH use from the Archive library and adjust its users accordingly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29066 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-07 19:09:14 +00:00
Chris Lattner
0465fa9cf8 Tools require EH for their top-level try blocks.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29035 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-07 00:46:19 +00:00
Chris Lattner
8eaafdedb2 Fix PR819, llvm2cpp should read .bc files, not .ll files.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29030 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-06 23:48:57 +00:00
Chris Lattner
05ac92ca7d Change the verifier to never throw an exception. Instead verifyModule canoptionally return the string error, which is an easier api for clients touse anyway.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29017 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-06 18:02:27 +00:00
Reid Spencer
3d48e53584 Split long comment lines.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28988 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-03 16:46:03 +00:00
Chris Lattner
130e2a3611 Pass -Xlinker flags to gcc when it builds the shared object.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28939 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-27 20:35:36 +00:00
Devang Patel
e2f8ad854d Fix cut-n-pasto in comments.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28928 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-27 18:07:29 +00:00
Chris Lattner
f8625d9018 Remove unneeded libs
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28900 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-21 17:26:13 +00:00
Reid Spencer
28f6f2218b 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28899 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-21 17:21:39 +00:00
Chris Lattner
831b121039 Don't pass target name into TargetData anymore, it is never used or needed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28831 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-16 18:23:49 +00:00
Reid Spencer
68464b74b8 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28800 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-15 16:09:59 +00:00
Chris Lattner
9686ae7f4e 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!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28763 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-13 03:10:48 +00:00
Chris Lattner
629e48768a 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28741 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-09 21:31:53 +00:00
Chris Lattner
7f3ac4108d This no longer needs plugins, this it doesn't need all of VMCore.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28723 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-08 00:25:44 +00:00
Reid Spencer
2991b01b18 Shorten a value description so --help out isn't so wide.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28721 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-07 23:07:51 +00:00
Reid Spencer
e3f0561545 Make sure this tool links in all of libVMCore.a because it can --load
shared objects.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28720 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-07 23:06:50 +00:00
Reid Spencer
af303d53e6 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28719 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-07 23:03:13 +00:00
Chris Lattner
dc050090ea Remove useless noop argument
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28706 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-07 00:43:18 +00:00
Chris Lattner
3e347f28f1 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 :)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28704 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-06 23:54:15 +00:00
Chris Lattner
d179de5ca2 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).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28701 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-06 22:38:29 +00:00
Chris Lattner
f1b20d8620 Move ToolRunner.(cpp|h) into the bugpoint directory
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28699 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-06 22:30:59 +00:00
Chris Lattner
73ebd0974c Make the llvm-config library dependency database depend on all of the libraries.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28695 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-06 17:43:03 +00:00
Reid Spencer
51ab5c8862 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28692 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-06 00:00:42 +00:00
Chris Lattner
2e1f0ed151 temporarily add back this option, I will remove it in a couple days
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28675 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-02 23:43:27 +00:00
Chris Lattner
7c5357f0b9 Fix a -pedantic warning
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28670 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-02 22:11:06 +00:00
Chris Lattner
0cd059eddb 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28669 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-02 22:03:50 +00:00
Chris Lattner
16ad618fc2 Make llvm-config "do the right thing" when an install tree is relocated or
when run out of a build directory.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28668 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-02 21:48:10 +00:00
Chris Lattner
abdbae7bd3 Capture the build mode (e.g. Debug/Release) in the llvm-config script.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28665 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-02 19:13:29 +00:00
Chris Lattner
584073a8cf Convert to standard file header
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28663 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-02 18:58:21 +00:00
Chris Lattner
41655cd0ce Remove a couple of things no longer figured out by autoconf
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28662 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-02 18:55:36 +00:00
Reid Spencer
2d2c2f2bb8 Add several more autoconf variables so that new features can be implemented
by our illustrious project leader.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28659 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-02 18:31:41 +00:00
Chris Lattner
e02b97bf5b 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28654 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-02 01:23:18 +00:00
Chris Lattner
411c33da6a Remove some variables from the configured section that aren't.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28653 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-02 01:04:35 +00:00
Chris Lattner
06e752e768 Remove more "alpha is archive" stuff.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28652 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-02 00:56:15 +00:00
Reid Spencer
409411ea26 Suppress -pedantic warnings about print("%a")
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28650 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-02 00:39:08 +00:00
Chris Lattner
6574994397 Remove obsolete CORE_IS_ARCHIVE support
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28649 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-02 00:30:31 +00:00
Chris Lattner
c929c66756 Update the ignore file
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28647 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-02 00:23:15 +00:00
Reid Spencer
f977e7bc83 Teach CppWriter how to emit an inline (partial) function.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28645 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-01 23:43:47 +00:00
Reid Spencer
ad67a04e75 Restore default arguments for llvm2cpp back to health by declaring an
emitted variable to actually have a type (picky, picky, picky!)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28625 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-01 07:24:29 +00:00
Reid Spencer
659a243b93 Fix a bug where incorrect C++ was being emitted.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28615 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-01 04:21:20 +00:00
Reid Spencer
dee05112a6 Build llvm-config into the ToolDir not in the local directory. This makes
it more likely to be in a developer's path and consistent with all the
other tools.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28613 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-01 01:52:49 +00:00
Reid Spencer
b0e2fbc730 Oops, llc needs libTarget.a not Target.o
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28611 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-01 01:42:33 +00:00
Reid Spencer
18c8b49e7d 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28610 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-01 01:30:27 +00:00
Andrew Lenharth
539d871ce3 fix utostr
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28597 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-31 20:18:56 +00:00
Reid Spencer
12803f5b6b Major reorganization and extension of the code. The diff on this will be a
mess as functions were moved around into a better ordering. The code was
extended to provide various -gen-* options to better control what the
generated output should be. Currently it is possible to generate entire
modules (three different ways), functions, global variables, and types.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28589 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-31 17:31:38 +00:00
Reid Spencer
25edc3565c Don't generate module definitions when the -fragment option is given.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28583 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-31 04:43:19 +00:00
Reid Spencer
ac28588def llvm2cpp is ready to be compiled so add it to the makefile, but make it
optional.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28570 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-30 21:20:55 +00:00
Reid Spencer
15f7e01065 Fix more bugs. This version now passes all of the Feature test except for
a floating point conversion problem with NAN in intrinsics.ll. llvm2cpp
makes an attempt to provide the correct conversion, based on the
implementation in the CBackend writer, but it doesn't get NAN correct.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28568 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-30 21:18:23 +00:00
Reid Spencer
1a2a0cc5a3 Fix many small bugs in llvm2cpp. This patch gets llvm2cpp working with
everything except PHI nodes and one odd recurse/opaque type situation.
PHI nodes forward reference INSTRUCTIONS (aaaaaaaahhhhhhh!) :)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28554 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-30 10:21:41 +00:00
Reid Spencer
66c873479f First complete version of llvm2cpp that doesn't crash on any of the Feature
tests. The output in a few cases still doesn't compile, however.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28547 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-30 03:43:49 +00:00
Chris Lattner
6d1727cf14 Silly cleanup
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28544 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-29 18:52:52 +00:00
Chris Lattner
74f48d133c silly cleanup
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28543 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-29 18:52:05 +00:00
Reid Spencer
e0d133f448 Next batch of implementation:
1. Get rid of old AsmWriter cruft that's not needed.
2. Implement several instructions. Enough to get by globalvars.ll and
   alignment.ll in the Feature test suite.
3. Handle constants properly (don't repeat definitions).
4. Make the output compatible with llvm-dis for diff purposes.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28541 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-29 18:08:06 +00:00
Reid Spencer
ba570d700b Fix file header comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28540 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-29 18:06:28 +00:00
Reid Spencer
4edca3325b Remove temporary testing rules.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28539 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-29 18:05:59 +00:00
Reid Spencer
74e032a4d4 Fix two bugs in the CppWriter.cpp:
1. Return the module from the MakeModule function so it can be verified.
2. Make sure types get generated with their names


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28536 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-29 02:58:15 +00:00
Reid Spencer
d9169d3cbe Fix the file's comment block.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28535 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-29 02:35:29 +00:00
Reid Spencer
fb0c0dc960 Initial Commit of llvm2cpp
This is a safekeeping commit. The program is not finished. It currently
handles modules, types, global variables and function declarations. Blocks
and instructions remain to be done.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28528 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-29 00:57:22 +00:00
Reid Spencer
19b7e0e0ca For PR786:
Minor tweaks in public headers and a few .cpp files so that LLVM can build
successfully with -pedantic and projects using LLVM with -pedantic don't
get warnings from LLVM. There's still more -pedantic warnings to fix.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28453 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-24 19:21:13 +00:00
Chris Lattner
d74ea2bbd8 Patches to make the LLVM sources more -pedantic clean. Patch provided
by Anton Korobeynikov!  This is a step towards closing PR786.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28447 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-24 17:04:05 +00:00
Reid Spencer
adbc9b7f88 Remove the llvm-db and bugpoint restrictions from the win32 platform so
they can be compiled with ming32. The use of fork(2) has been removed.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28369 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-17 21:20:50 +00:00
Rafael Espindola
7bc59bc395 added a skeleton of the ARM backend
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28301 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-14 22:18:28 +00:00
Chris Lattner
c78098291e Free memory allocated by copy_env.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28299 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-14 19:17:28 +00:00
Chris Lattner
53bd1b9de7 print a nice error if bugpoint gets an error reading inputs. Bug identified
by coverity.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28298 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-14 19:15:56 +00:00
Chris Lattner
f877e60616 Fix a bug found by inspection.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28297 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-14 19:11:40 +00:00
Chris Lattner
2f86362af8 Delete memory allocated by CopyEnv
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28288 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-14 18:38:13 +00:00
Chris Lattner
b923b2e04b Remove dead return value.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28245 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-12 17:28:36 +00:00
Owen Anderson
07000c6f01 Refactor a bunch of includes so that TargetMachine.h doesn't have to include
TargetData.h.  This should make recompiles a bit faster with my current
TargetData tinkering.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28238 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-12 06:33:49 +00:00
Chris Lattner
67ef9e4304 wrap long line
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28113 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-04 23:35:31 +00:00
Chris Lattner
b93b0347d8 Adjust to use proper TargetData copy ctor
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28112 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-04 21:18:40 +00:00
Reid Spencer
b3bd5ca0fc For PR764:
Don't check in the LibDeps.txt and FinalLibDeps.txt files to CVS because
the content differs from platform to platform. Instead, adjust the makefile
so that a dummy llvm-config is built if Perl is not available.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28084 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-03 17:49:50 +00:00
Owen Anderson
a69571c799 Refactor TargetMachine, pushing handling of TargetData into the target-specific subclasses. This has one caller-visible change: getTargetData() now returns a pointer instead of a reference.
This fixes PR 759.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28074 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-03 01:29:57 +00:00
Chris Lattner
776eb6b21e This no longer needs the JIT.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27942 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-22 05:04:23 +00:00
Reid Spencer
7f872bb00d Okay, llvm-config is good to go now.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27916 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-20 21:14:39 +00:00
Reid Spencer
05dee5064f Several Changes To Support Building llvm-config:
1. If Perl is not available, don't run Perl dependent targets.
2. Check in FinalLibDeps.txt for build environments that can't build it
   because there's no Perl processor.
3. Ensure that FinalLibDeps.txt depends on LibDeps.txt so it is
   automatically regenerated.
4. Support objdir != srcdir building.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27915 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-20 21:13:58 +00:00
Reid Spencer
563ff1cc92 Don't build llvm-config until issues are resolved.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27914 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-20 21:00:24 +00:00
Reid Spencer
2e1284d569 Build the llvm-config directory as a tool.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27913 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-20 20:53:23 +00:00
Reid Spencer
d075dfb0cf Update the library dependencies for 1.8 with SparcV9 now gone.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27910 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-20 19:50:53 +00:00
Chris Lattner
43c40ffa41 Never link in sparcv9
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27884 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-20 17:07:46 +00:00
Andrew Lenharth
0cafa92371 fix printing call graphs
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27820 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-18 23:45:19 +00:00
Chris Lattner
8b57ff75be Add a warning.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27795 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-18 05:31:20 +00:00
Chris Lattner
6a58e0e144 Add a warning
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27794 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-18 05:26:10 +00:00
Chris Lattner
7f71e21972 one too many l's
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27641 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-13 04:21:31 +00:00
Reid Spencer
59524a5287 Distribute CVS versions of lex files
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27629 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-12 20:56:12 +00:00
Jeff Cohen
2f51914d82 Get JIT/Interpreter working on Windows again.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27037 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-24 02:53:49 +00:00
Reid Spencer
019a0a9725 Ignore the lexer output.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27034 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-24 02:22:22 +00:00
Reid Spencer
1c070fc10b Remove the interpreter component as its not working at the moment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27021 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-24 01:10:39 +00:00
Reid Spencer
f39fcc787b Ignore temporary files generated by building.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27010 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-23 23:44:24 +00:00
Reid Spencer
b195d9d365 Update to llvm-config tool, by Erik Kidd:
1. Check for Perl and only build llvm-config if its available.
2. Add some virtual components
3. Don't depend on "standard" location for Perl, but configured location
4. Document the tool with a POD file.

This version is now ready for testing by users.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27005 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-23 23:21:29 +00:00
Reid Spencer
025213e9f2 Don't print out ugly command line when building LibDeps.txt.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27001 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-23 22:42:50 +00:00
Reid Spencer
ff9b038b20 Updated for library changes:
1. LLVMCBackend.o now depends on LLVMCodeGen.o (why we're not sure)
2. LLVMExecutionEngine.o no longer depends on LLVMInterpreter.o nor LLVMJIT.o
Thanks, Chris.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26976 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-23 06:15:27 +00:00
Chris Lattner
ef98691ca3 remove always-null IntrinsicLowering argument.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26971 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-23 05:28:02 +00:00
Reid Spencer
f2722ca339 These changes are necessary to support the new llvm-config tool. llvm-config
is a handy tool for users of LLVM who want to be able to quickly get
information about LLVM's configuration. It is intended to be used in the
command line of other tools. Documentation will be forthcoming in a
subsequent patch.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26952 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-22 15:59:55 +00:00
Reid Spencer
355ef219d2 The library dependency file in flat format. This file is generated by the
makefile using the utils/GenLibDeps.pl script with the -flat option. It
records the dependencies between libraries in such a way that the
llvm-config script can easily read it (in makefile dependency format).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26876 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-19 22:12:30 +00:00
Reid Spencer
0fab2b15ab First cut at the Makefile for llvm-config. This initial version just provides
the rule for building the LibDeps.txt file using GenLibDeps.pl. This needs
to be done from time to time manually in order to keep LibDeps.txt up to
date.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26875 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-19 22:10:53 +00:00
Chris Lattner
cc540ebabc add an assert to get a slightly better msg about this problem
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26812 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-16 23:16:17 +00:00
Reid Spencer
9dce2b3380 Convert llvm.cs.uiuc.edu -> llvm.org
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26748 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-14 05:54:52 +00:00
Chris Lattner
5a7a9e5386 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26624 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-08 23:55:38 +00:00
Chris Lattner
42d0b455ec Fit to 80 columns.
Add support for running static ctor/dtors that aren't handled by __main.
This fixes programs with the JIT and the new CFE, such as HBD.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26620 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-08 18:43:36 +00:00
Reid Spencer
78df5c3121 Make sure command line options are parsed before we try to add the LibPath
(-L options) to TheLinker. Problem noticed by Wink Saville.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26571 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-06 06:38:19 +00:00
Andrew Lenharth
7c0a93785e For transforms the behave differently if main goes away, add an option to prevent bugpoint from removing main
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26557 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-05 22:21:36 +00:00
Robert Bocchino
86d064d44c Implemented -quiet feature for analyze
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26494 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-03 02:12:04 +00:00
Chris Lattner
a2a51607a6 Turn on loop unswitching tonight
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26312 91177308-0d34-0410-b5e6-96231b3b80d8
2006-02-22 07:33:49 +00:00
Chris Lattner
e7988aae94 reorder some libraries
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26309 91177308-0d34-0410-b5e6-96231b3b80d8
2006-02-22 00:59:06 +00:00
Chris Lattner
27630d500e remove support for the skeleton target
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26236 91177308-0d34-0410-b5e6-96231b3b80d8
2006-02-16 21:10:57 +00:00
Chris Lattner
1828ee191c Adjust to new style "generated files in CVS" mechanism for lex output
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26163 91177308-0d34-0410-b5e6-96231b3b80d8
2006-02-14 05:16:35 +00:00
Chris Lattner
cb0dfba9e1 SparcV8 -> Sparc
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26008 91177308-0d34-0410-b5e6-96231b3b80d8
2006-02-05 08:30:45 +00:00
Chris Lattner
fdcc71eaa8 Let bugpoint work on sparc with v9 instructions enabled.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25958 91177308-0d34-0410-b5e6-96231b3b80d8
2006-02-04 05:02:27 +00:00
Andrew Lenharth
e4da1ddada Pass plugins on to children when optimizing.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25650 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-26 18:37:21 +00:00
Chris Lattner
fc4417837a Remove dead #include
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25520 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-23 00:38:14 +00:00
Chris Lattner
7e07b24b39 It doesn't make sense to give llc a list of passes on the command line,
LLVM doesn't use it and it can't work anyway.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25519 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-23 00:36:05 +00:00
Chris Lattner
04666d8a39 this doesn't work, remove it
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25518 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-23 00:32:33 +00:00
Chris Lattner
e31a9ccb9c add explicit #includes of iostream
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25510 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-22 22:53:40 +00:00
Chris Lattner
86a5484079 Add explicit #includes of <iostream>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25509 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-22 22:53:01 +00:00
Chris Lattner
4df8665bf9 Revert this, I didn't mean to commit it
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25382 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-17 00:40:24 +00:00
Chris Lattner
79959d21c7 Add support for programs with a null argv[0]
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25379 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-17 00:32:28 +00:00
Reid Spencer
f4484f3e16 For PR521:
With these patches we implement the ability for the Linker library to
keep track of which libraries were actually bytecode files (not archives)
and cause their users to remove such files from the list of libraries to
pass to the native linker.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25169 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-10 03:14:40 +00:00
Reid Spencer
de83cee28b Fix line length of a comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25149 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-08 22:40:10 +00:00
Chris Lattner
7ac534f234 remove unused header
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25101 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-05 00:21:37 +00:00
Jim Laskey
b2efb853f0 Applied some recommend changes from sabre. The dominate one beginning "let the
pass manager do it's thing."  Fixes crash when compiling -g files and suppresses
dwarf statements if no debug info is present.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25100 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-04 22:28:25 +00:00
Jim Laskey
292a1afb4a Adding MachineDebugInfo as a immutable pass.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25088 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-04 13:42:02 +00:00
Reid Spencer
1adc3de914 Revert removal of std:: prefixes and addtion of "using namespace std;".
This violates the LLVM coding standards.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25050 91177308-0d34-0410-b5e6-96231b3b80d8
2005-12-30 09:07:29 +00:00
Duraid Madina
64c9e7a339 don't need this anymore
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25049 91177308-0d34-0410-b5e6-96231b3b80d8
2005-12-30 02:50:44 +00:00
Duraid Madina
ea8aed7ef3 delete file portably
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25048 91177308-0d34-0410-b5e6-96231b3b80d8
2005-12-30 02:47:21 +00:00
Reid Spencer
78b0e6a42e General cleanup:
1. Don't mix C++ and C standard I/O, convert to C++ iostreams
2. Wrap long lines
3. use the std namespace to simplify/shorten the code


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25042 91177308-0d34-0410-b5e6-96231b3b80d8
2005-12-29 21:13:45 +00:00
Duraid Madina
4e4fe664d8 ditto
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25038 91177308-0d34-0410-b5e6-96231b3b80d8
2005-12-28 06:58:12 +00:00
Duraid Madina
6927b067bc more compliance stufff
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25037 91177308-0d34-0410-b5e6-96231b3b80d8
2005-12-28 06:56:09 +00:00
Duraid Madina
d885251216 behold my standards-compliant humps!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25033 91177308-0d34-0410-b5e6-96231b3b80d8
2005-12-28 05:56:36 +00:00
Duraid Madina
3de3b05538 WAKEY WAKEY
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25032 91177308-0d34-0410-b5e6-96231b3b80d8
2005-12-28 05:48:55 +00:00
Jeff Cohen
46e1ee9791 Get bugpoint building with VC++ again.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24977 91177308-0d34-0410-b5e6-96231b3b80d8
2005-12-23 05:00:38 +00:00
Reid Spencer
c4bb052ecc 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24961 91177308-0d34-0410-b5e6-96231b3b80d8
2005-12-22 20:02:55 +00:00
Chris Lattner
171eee5471 Fix test/Regression/Other/2002-01-31-CallGraph.ll after the recent callgraph
rework.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24959 91177308-0d34-0410-b5e6-96231b3b80d8
2005-12-22 19:26:06 +00:00
Reid Spencer
156aa35eb5 Implement PR679:
* Changed the -rpath option from cl::opt to cl::list
* Changed the interface to GenerateNative to take a std::vector<std::string>
  instead of just a std::string
* Changed GenerateNative to generate multiple -Wl,-rpath, options to be
  passed to gcc.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24930 91177308-0d34-0410-b5e6-96231b3b80d8
2005-12-22 01:50:56 +00:00
Reid Spencer
73a74be705 Implement PR512:
This patch adds a -post-link-opts option to llvm-ld which allows an arbitrary
program to optimize bytecode after linking. The program is passed two file
names. The first is the input (linked bytecode) the second is where it must
place its output (presumably after optimizing). If the output file is bytecode,
it is used as a substitute for the input. This will allow things like poolalloc
to be written as a separate program instead of a loadable module or built into
LLVM.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24893 91177308-0d34-0410-b5e6-96231b3b80d8
2005-12-21 05:03:23 +00:00
Chris Lattner
be193839fa rename option for consistency with -mcpu -mattr etc
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24734 91177308-0d34-0410-b5e6-96231b3b80d8
2005-12-16 05:19:55 +00:00
Chris Lattner
60844d46ce rename option
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24732 91177308-0d34-0410-b5e6-96231b3b80d8
2005-12-16 05:19:18 +00:00
Chris Lattner
3015e6061c provide an option to override the target triple in a module from the commandline.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24730 91177308-0d34-0410-b5e6-96231b3b80d8
2005-12-16 05:00:21 +00:00
Chris Lattner
f33b8663bd provide an option to override the target triple in a module from the command
line.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24729 91177308-0d34-0410-b5e6-96231b3b80d8
2005-12-16 04:59:57 +00:00
Chris Lattner
3bd5fac76f Fix printing of the instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24714 91177308-0d34-0410-b5e6-96231b3b80d8
2005-12-14 22:01:07 +00:00
Reid Spencer
f574494e13 Remove -start-group and -end-group no-op options, accidentally committed
in last patch.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24710 91177308-0d34-0410-b5e6-96231b3b80d8
2005-12-14 19:08:51 +00:00
Reid Spencer
328ead9fce Adjust the constructor to the Linker class to take an argument that names
the module being constructed. This is used to correctly name the module.
Previously the name of the linker tool was used which produces confusing
output when the module identifier is used in an error message.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24699 91177308-0d34-0410-b5e6-96231b3b80d8
2005-12-13 20:00:37 +00:00
Andrew Lenharth
0fccc74103 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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24626 91177308-0d34-0410-b5e6-96231b3b80d8
2005-12-06 20:51:30 +00:00
Chris Lattner
52098898b4 Revert my previous patch which broke due to lazy streaming of functions
from .bc files.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24575 91177308-0d34-0410-b5e6-96231b3b80d8
2005-12-02 19:00:22 +00:00
Chris Lattner
48ba8221af If a module has a main, but it is defined externally, refuse to run it.
Attempting to run it will find lli's main, which isn't the desired effect.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24569 91177308-0d34-0410-b5e6-96231b3b80d8
2005-12-01 22:48:23 +00:00
Chris Lattner
cb8346563b Allow users to specify -Wl,-native* multiple times if they please
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24392 91177308-0d34-0410-b5e6-96231b3b80d8
2005-11-17 16:08:04 +00:00
Chris Lattner
178e0c41ce Add a new -fast option, which generates code quickly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24234 91177308-0d34-0410-b5e6-96231b3b80d8
2005-11-08 02:12:17 +00:00
Chris Lattner
2b11995547 add a hack that fixes:
llvm-gcc main.c -Wl,-native -o a.out -g

This is important because it used by many configure scripts.

John, please pull this onto the 1.6 branch.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24163 91177308-0d34-0410-b5e6-96231b3b80d8
2005-11-03 07:17:51 +00:00
John Criswell
a115643357 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24036 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-27 15:54:34 +00:00
John Criswell
e96a1a576b 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24023 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-26 20:35:13 +00:00
Chris Lattner
604b95bd24 transforms before analyses
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23976 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-25 17:10:30 +00:00
Chris Lattner
ad62eef794 Remove a now-unneeded library
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23942 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-24 02:31:05 +00:00
Chris Lattner
465be21950 pull in the archive version of this lib to reduce exe size
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23929 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-24 01:13:21 +00:00
Chris Lattner
5e22a6486a Pull in the archive versions of these libs to reduce executable size
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23928 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-24 01:12:14 +00:00
Chris Lattner
df514ef5f8 Link in datastructure as a relinked o file
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23926 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-24 01:07:56 +00:00
Chris Lattner
831843d5d1 Link to archive versions of libraries instead of the relinked ones
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23925 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-24 01:05:53 +00:00
Chris Lattner
31360613cb Use the new LinkAllAnalyses.h header instead of forcing passes to be
in relinked object files


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23922 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-24 01:00:13 +00:00
Chris Lattner
a322a5f58f Use archive versions of these libraries, using the LinkAllPasses header.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23916 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-24 00:12:20 +00:00
Chris Lattner
2094725532 Shrinkify to make --help output look better
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23911 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-23 22:37:13 +00:00
Chris Lattner
7b7593c481 shrinkify the option name a bit
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23910 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-23 22:35:42 +00:00
Jeff Cohen
66c5fd6c53 When a function takes a variable number of pointer arguments, with a zero
pointer marking the end of the list, the zero *must* be cast to the pointer
type.  An un-cast zero is a 32-bit int, and at least on x86_64, gcc will
not extend the zero to 64 bits, thus allowing the upper 32 bits to be
random junk.

The new END_WITH_NULL macro may be used to annotate a such a function
so that GCC (version 4 or newer) will detect the use of un-casted zero
at compile time.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23888 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-23 04:37:20 +00:00
Chris Lattner
07be8d4212 document this as experimental
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23883 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-22 22:00:45 +00:00
Chris Lattner
fbcd54f2cb Fix PR637
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23784 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-18 06:29:43 +00:00
Chris Lattner
7b5634d213 Speed up isBytecodeLPath from 20s to .01s in common cases. This makes -native
not completely painful to use.  Once we decide a directory has a bytecode
library, we know it this function returns true, no need to scan entire directories.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23405 91177308-0d34-0410-b5e6-96231b3b80d8
2005-09-23 06:11:24 +00:00
Chris Lattner
f394213021 1. Do not use .c_str() to keep a persistent handle on a temporary string.
2. Concatenate -lfoo and -L/bar options into a single option instead of
   passing "-L /bar" (for example) which doesn't work on Darwin.
3. Send -v output to stderr instead of stdout


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23404 91177308-0d34-0410-b5e6-96231b3b80d8
2005-09-23 06:05:46 +00:00