Devang Patel
f0d286b77f
LinkOnce definitions have default scope, like weak definitions. Otherwise, the linker may not be able to match LinkOnce definition from one module with an exteranl reference from other module.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53580 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-15 00:00:11 +00:00
Nick Kledzik
920ae9863b
fix dangling pointer and argv off by one errors. Add support for --disable-inlining
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53249 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-08 21:14:10 +00:00
Nick Kledzik
82eec45b00
add _lto_codegen_debug_options so that linker can use it
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53213 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-07 23:24:06 +00:00
Devang Patel
a93ae711a9
Provide a hook to set the code generation debug options to investigate lto failures.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53119 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-03 22:53:14 +00:00
Devang Patel
ebd69421a2
Rename new lto2 tool as lto.
...
lto2->lto
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52912 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-30 18:15:01 +00:00
Devang Patel
5eabc9d4f6
Remove old LTO interface.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52909 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-30 18:04:55 +00:00
Dale Johannesen
7d5633e907
Add CommonLinkage to lto (treated same as weak AFAICT)
...
and llvm-nm (prints as C).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51209 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-16 22:44:18 +00:00
Owen Anderson
d2368dc344
Move MemCpyOpt after GVN.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50097 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-22 07:12:26 +00:00
Owen Anderson
ecbc963eda
Add MemCpyOpt to LTO.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50081 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-22 03:57:36 +00:00
Owen Anderson
eb60fb9c1f
Use GVN in LTO instead of GCSE+LoadVN.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50036 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-21 07:51:07 +00:00
Dale Johannesen
dedf502fba
Make EH work with unnamed functions. Reenable running
...
StripSymbols when EH is on.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49110 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-02 20:10:52 +00:00
Devang Patel
5252ae6eca
Begin setting features for target based on target triple string.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46863 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-07 22:32:50 +00:00
Devang Patel
0e50128099
Do not set time out, lets assume assembler will do its job in reasonable amount of time.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46718 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-04 21:16:10 +00:00
Devang Patel
bc9ed593d7
Do not strip symbols when EH is ON.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46657 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-02 01:32:38 +00:00
Devang Patel
59c8d8ae89
Supply appropriate arch info to darwin assembler.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46567 91177308-0d34-0410-b5e6-96231b3b80d8
2008-01-30 19:19:31 +00:00
Devang Patel
21b70b237d
Enable exception handling if it is supported.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46560 91177308-0d34-0410-b5e6-96231b3b80d8
2008-01-30 17:43:03 +00:00
Devang Patel
5e563c3264
- Introduces versioning macro LLVM_LTO_VERSION
...
- Communicate symbol visibility
- Communicate code generation model
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46033 91177308-0d34-0410-b5e6-96231b3b80d8
2008-01-15 23:52:34 +00:00
Chris Lattner
21c62da287
remove attributions from tools.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45421 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-29 20:44:31 +00:00
Chris Lattner
5116784826
remove attributions from tools/utils makefiles.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45414 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-29 20:07:17 +00:00
Devang Patel
fe085f3fde
Revert my previous check-in.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45249 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-20 01:46:01 +00:00
Devang Patel
e3611871cb
Add lto version check mechanism.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45238 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-20 00:24:01 +00:00
Gordon Henriksen
4b2b9402c5
Switching TargetMachineRegistry to use the new generic Registry.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43094 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-17 21:28:48 +00:00
Reid Spencer
cbb7ec7396
Fix a sys::Path API error caught by a gcc 4.2 warning.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@39995 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-18 05:27:33 +00:00
Gabor Greif
a99be51bf5
Here is the bulk of the sanitizing.
...
Almost all occurrences of "bytecode" in the sources have been eliminated.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37913 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-05 17:07:56 +00:00
Chris Lattner
744879ea01
switch tools to bitcode from bytecode
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36872 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-06 09:32:02 +00:00
Chris Lattner
68d4922adf
bitcodify
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36838 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-06 04:49:55 +00:00
Devang Patel
54959d6cf6
Now LICM is a LoopPass.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35001 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-07 04:41:30 +00:00
Anton Korobeynikov
9ba8a76f8b
Add possibility to set memory limit for binaries run via libSystem. This
...
is especially needed for bugpoint. This partly implements PR688
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34349 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-16 19:11:07 +00:00
Bill Wendling
62062b59df
Avoid assert() in lto. Let linker handle all failures. Use LTO_WRITE_FAILURE
...
instead of LTO_UNKNOWN.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34036 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-08 01:48:28 +00:00
Bill Wendling
546d0fbd97
The new version of how to add passes to emit files. We explicitly call a
...
function to add the file writers between calls to add the passes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34035 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-08 01:41:07 +00:00
Reid Spencer
ef9b9a7939
For PR411:
...
This patch replaces the SymbolTable class with ValueSymbolTable which does
not support types planes. This means that all symbol names in LLVM must now
be unique. The patch addresses the necessary changes to deal with this and
removes code no longer needed as a result. This completes the bulk of the
changes for this PR. Some cleanup patches will follow.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33918 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-05 20:47:22 +00:00
Devang Patel
3281528de4
Add printVersion(). Linker can use it to print LLVM version number.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33738 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-01 01:46:06 +00:00
Devang Patel
897b1b58af
Include Makefile.config before testing OS.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33735 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-01 01:18:57 +00:00
Reid Spencer
5cbf985dcb
For PR1136: Rename GlobalVariable::isExternal as isDeclaration to avoid
...
confusion with external linkage types.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33663 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-30 20:08:39 +00:00
Chris Lattner
17be6791b8
default to emiting an uncompressed .bc file
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33420 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-21 06:34:18 +00:00
Devang Patel
27376106d9
Modules are consumed when they are merged together by Linker.
...
Clear modules vector so that destructure does not try to
delete these modules again. Patch by Chandler Carruth.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33017 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-08 18:42:27 +00:00
Chandler Carruth
40e274b579
Build libLLVMlto on non-Darwin architectures. Resolves PR1055: http://llvm.org/PR1055
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33006 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-08 06:25:29 +00:00
Chris Lattner
ddc6f353c0
Add C wrappers for the LTO library (PR1081). Patch by Chandler Carruth!
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32966 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-06 23:53:43 +00:00
Chris Lattner
11fdadf407
fix typo
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32965 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-06 23:51:31 +00:00
Bill Wendling
e81561909d
Changed llvm_ostream et all to OStream. llvm_cerr, llvm_cout, llvm_null, are
...
now cerr, cout, and NullStream resp.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32298 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-07 01:30:32 +00:00
Bill Wendling
68fe61d6a1
Replacing std::iostreams with llvm iostreams. Some of these changes involve
...
adding a temporary wrapper around the ostream to make it friendly to
functions expecting an LLVM stream. This should be fixed in the future.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31990 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-29 00:19:40 +00:00
Devang Patel
38187d6a56
Save temp. bc files when saveTemps flag is true. Use final output file
...
name supplied by linker to construct temp bc file names.
Remove tabs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31205 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-26 20:46:22 +00:00
Devang Patel
08fb05c3ac
Supply alignment info to linker through LLVMSymbol.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31181 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-25 18:10:07 +00:00
Devang Patel
6152b7ec25
Instead of hard coding global prefix, use TargetAsmInfo.
...
Add LTO destructor.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31168 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-24 18:41:02 +00:00
Devang Patel
2a4dd68535
Fix typo. Add more comment. Avoid extra hash_map search.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31144 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-23 23:57:53 +00:00
Devang Patel
f2ca21f88f
Add removeModule().
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31142 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-23 23:12:26 +00:00
Devang Patel
dc4c38279f
Use FindProgramByName instead of FindExecutable.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30846 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-09 21:16:05 +00:00
Devang Patel
9f5d48bcb1
Do error checking.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30842 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-09 20:20:13 +00:00
Devang Patel
3f0e5e2057
Use GetTemporaryDirectory. Fix http://llvm.org/bugs/show_bug.cgi?id=894
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30838 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-09 19:04:51 +00:00
Devang Patel
c7cfbc58ad
Use abstract class to facilitate dlopen() interface.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30569 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-21 17:22:55 +00:00
Devang Patel
544ea34a9f
Add comment.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30315 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-14 05:49:10 +00:00
Devang Patel
97d92d50aa
GlobalValue with InternalLinkage may have operands with ExternalLinkage
...
type. Do not ignore these operands while finding external references.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30310 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-14 01:35:13 +00:00
Devang Patel
998051a221
Using addPassesToEmitWholeFile is not a good idea here.
...
Use FunctionPassManager to do the job.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30160 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-07 21:41:11 +00:00
Devang Patel
76ed7b1cf5
Add linker into list of LINK_COMPONENTS.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30159 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-07 21:36:55 +00:00
Devang Patel
bdaf3dc8c3
Use addPassesToEmitWholeFile() instead of addPassesToEmitFile()
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30153 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-07 20:20:56 +00:00
Devang Patel
a291a68161
Add getTargetTriple() that linker can use to query target architecture.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30132 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-06 20:16:28 +00:00
Devang Patel
0701a2f70d
Keep track of all modules crated using a name to module map.
...
Add private member function getMoudle().
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30130 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-06 18:50:26 +00:00
Devang Patel
ed872865d0
Instead of demangling symbol name by hand, use original name, which was
...
used to mangle symbol name, directly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30124 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-06 00:45:52 +00:00
Devang Patel
2681023488
Extract target triplet from optimized module.
...
Untabify.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30123 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-06 00:28:22 +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
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
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
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
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
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
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
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