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
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
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
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
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
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
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
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
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
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
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
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
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
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
Jim Laskey
839615a510
Add help support for -mcpu and -mattr.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23222 91177308-0d34-0410-b5e6-96231b3b80d8
2005-09-02 19:27:43 +00:00
Jim Laskey
b1e1180ca0
1. Use SubtargetFeatures in llc/lli.
...
2. Propagate feature "string" to all targets.
3. Implement use of SubtargetFeatures in PowerPCTargetSubtarget.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23192 91177308-0d34-0410-b5e6-96231b3b80d8
2005-09-01 21:38:21 +00:00
Jeff Cohen
d29b6aa608
Keep tabs and trailing spaces out.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22565 91177308-0d34-0410-b5e6-96231b3b80d8
2005-07-30 18:33:25 +00:00
Reid Spencer
540f7d6018
Run the verifier pass after all the other passes rather than before them.
...
This catches mistakes in the passes rather than just verifying the bytecode
input to llc.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22534 91177308-0d34-0410-b5e6-96231b3b80d8
2005-07-28 04:00:49 +00:00
Reid Spencer
4418c2b3ac
Make the verifier pass run (in debug mode) in llc. This adds a sanity check
...
to llc when debugging. Also allow other passes to be run from llc.
Patch contributed by Michael McCracken.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22532 91177308-0d34-0410-b5e6-96231b3b80d8
2005-07-28 02:25:30 +00:00
Chris Lattner
812125aea9
add a new -filetype argument to llc.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22287 91177308-0d34-0410-b5e6-96231b3b80d8
2005-06-25 03:32:05 +00:00
Chris Lattner
cbb34a76a9
minor cleanups, use copy ctor instead of manually doing it.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22285 91177308-0d34-0410-b5e6-96231b3b80d8
2005-06-25 03:00:34 +00:00
Chris Lattner
85141583cd
refactor this interface
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22284 91177308-0d34-0410-b5e6-96231b3b80d8
2005-06-25 02:50:35 +00:00
Misha Brukman
3da94aec4d
Remove trailing whitespace
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21428 91177308-0d34-0410-b5e6-96231b3b80d8
2005-04-22 00:00:37 +00:00
Reid Spencer
1ef8bdaedb
For PR351:
...
* Place a try/catch block around the entire tool to Make sure std::string
exceptions are caught and printed before exiting the tool.
* Make sure we catch unhandled exceptions at the top level so that we don't
abort with a useless message but indicate than an unhandled exception was
generated.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19192 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-30 05:36:08 +00:00
Reid Spencer
227b6d00dd
Fix usage of changed function prototype
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17798 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-14 22:30:54 +00:00
Reid Spencer
551ccae044
Changes For Bug 352
...
Move include/Config and include/Support into include/llvm/Config,
include/llvm/ADT and include/llvm/Support. From here on out, all LLVM
public header files must be under include/llvm/.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16137 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-01 22:55:40 +00:00
Reid Spencer
9de7b334ec
The functions in Signal.h are now in the llvm::sys namespace - adjust
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16091 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-29 19:28:55 +00:00
Misha Brukman
878ba7cc5d
* Tabs to spaces
...
* Delete extra blank lines
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14779 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-12 22:58:07 +00:00
Chris Lattner
e45110e012
Goodbye macro hell, hello nice clean and simple code. This also gives llc
...
the ability to dynamically load and use targets that are not linked into it
statically. e.g.:
llc -load libparisc.so -march=parisc foo.bc -o foo.s
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14751 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-11 04:03:24 +00:00
Reid Spencer
86f42bdad9
Add #include <iostream> since Value.h does not include it any more.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14623 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-04 12:20:55 +00:00
Chris Lattner
bed85ff010
Header file moved
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13813 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-27 05:41:36 +00:00
Brian Gaeke
e40eae7370
Add a better head-of-file comment.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12447 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-16 21:47:20 +00:00
Misha Brukman
094158a133
SparcV8 removed until it grows up becomes a mature backend.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12288 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-11 18:16:33 +00:00
Chris Lattner
d62276a66e
Add a hook to run with the V8 target, though it doesn't currently work. Also
...
mark the PPC backend as experimental
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11962 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-28 19:55:16 +00:00
Brian Gaeke
150666fd82
Great renaming part II: Sparc --> SparcV9 (also includes command-line options and Makefiles)
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11827 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-25 19:08:12 +00:00
Chris Lattner
364d1203e7
Make sure to print a stack trace whenever an error signal is delivered to
...
the tool.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11633 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-19 20:32:39 +00:00
Chris Lattner
74661c838c
When the user runs 'llc foo.bc -march=c', write the output to "foo.cbe.c", not
...
to "foo.s".
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11485 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-15 22:54:19 +00:00
Chris Lattner
666d20a301
Add support for -march=c
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11410 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-13 23:19:09 +00:00
Brian Gaeke
2217bdbf68
Add a -march=powerpc option. Automatically select it if this looks like a
...
big-endian, 32-bit module, or if __ppc__, __POWERPC__, or __APPLE__ are
defined.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11075 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-02 19:06:12 +00:00
Chris Lattner
6fb6ce3148
Pass extra arguments around n stuph
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10631 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-28 09:51:04 +00:00
Brian Gaeke
d0fde30ce8
Put all LLVM code into the llvm namespace, as per bug 109.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9903 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-11 22:41:34 +00:00
John Criswell
1ee1e64293
Removed extraneous comment line.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9308 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-20 20:40:30 +00:00
John Criswell
7c0e022c5c
Added copyright header to all C++ source files.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9291 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-20 17:47:21 +00:00
Misha Brukman
452fea9972
Fix grammar.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9026 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-10 17:56:49 +00:00
John Criswell
b5d09bf4cc
Added code to avoid checking for .bc when the filename is too short.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8190 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-28 21:42:29 +00:00
Chris Lattner
62c720a5bd
Targets now configure themselves with the module, not flags
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8133 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-24 19:50:12 +00:00
Chris Lattner
bb43350e32
Add support for modules with "any" pointersize/endianness
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8122 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-24 14:02:14 +00:00
Misha Brukman
5d5bc7b90c
Revert change: default architecture is never set, it is guessed from input
...
bytecode file. This means that LLC on X86 will compile to Sparc assembly given a
64-bit input bytecode file...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7419 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-30 15:29:55 +00:00
Misha Brukman
fcf2be75ec
Initialize the target architecture based on compiler defines, so if compiled on
...
x86 or Sparc, LLC will automatically default to that platform, no guessing
required. On another platform, it will default to `noarch' and will have to
guess which architecture to compile to.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7207 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-18 22:21:40 +00:00
Misha Brukman
29abc97100
Fixed indentation.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7122 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-07 22:28:42 +00:00
Chris Lattner
5b836c4a06
Minor cleanups
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6799 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-20 15:49:04 +00:00
Brian Gaeke
5ce1a585df
tools/llc/llc.cpp: Make "-o -" work.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6780 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-18 21:43:33 +00:00
Brian Gaeke
2e2f2dcd6a
lib/Target/Sparc/Sparc.cpp:
...
Move LowerAllocations, PrintFunction, and SymbolStripping passes, and
the corresponding -disable-strip and -d options, over here to the SPARC
target-specific bits of llc. Rename -d to -dump-asm.
tools/llc/Makefile:
Reindent. Add x86 library so that llc compiles again.
tools/llc/llc.cpp:
Remove support for running arbitrary optimization passes. Use opt instead.
Remove LowerAllocations, PrintFunction, and SymbolStripping passes, as noted
above.
Allow user to select a backend (x86 or SPARC); default to guessing from
the endianness/pointer size of the input bytecode file.
Fix typos.
Delete empty .s file and exit with error status if target does not support
static compilation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6776 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-18 21:14:23 +00:00
Chris Lattner
cccc28c674
Reindent code to match the rest of the file
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6772 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-18 18:46:08 +00:00
Chris Lattner
5b4299c26d
Remove duplicate pass
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6631 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-05 20:51:10 +00:00
Chris Lattner
68d9ed8b76
Remove ugly hack (that I put in originally) for building in trace stuff
...
automatically in LLC
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6358 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-27 21:23:02 +00:00
Chris Lattner
68492725a0
Add a new option to disable stripping of bytecode files
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5969 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-28 03:28:56 +00:00
Chris Lattner
10daaa1416
Remove two fields from TargetData which are target specific.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5963 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-26 20:11:09 +00:00
Chris Lattner
bc19466912
Make sure to copy double alignment as well
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5936 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-25 06:06:13 +00:00
Chris Lattner
b5881f126d
Kill using declarations
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5934 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-25 05:26:11 +00:00
Chris Lattner
2b5f2c1a64
Make sure to add a targetdata instance to the passmanager, and make it match the
...
one in use by the TargetMachine
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5931 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-25 05:22:29 +00:00
Chris Lattner
c986392c30
Remove support for "target data" pass ctors
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5900 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-24 18:36:41 +00:00
Chris Lattner
6ede045533
Rename header
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5283 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-14 22:57:15 +00:00
Chris Lattner
c93489bf87
Eliminate direct access to TargetData structure
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5156 91177308-0d34-0410-b5e6-96231b3b80d8
2002-12-28 20:00:00 +00:00
Chris Lattner
ab0aa7ff99
* Privatize the TargetName
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4418 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-29 21:48:33 +00:00
Chris Lattner
6334205cb5
Allow TargetMachine to refuse static code gen
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4415 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-29 21:12:46 +00:00
Chris Lattner
4aba5e34a1
* Remove explicit strcmp calls
...
* Rename Sparc.h to TargetMachineImpls.h
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4406 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-29 20:45:04 +00:00
Chris Lattner
1751b7ed27
Change LowerAllocations pass to 'require' TargetData instead of it being
...
passed in.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3930 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-25 23:47:49 +00:00
Chris Lattner
0f82df410c
Indent a comment right, add a new one
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3819 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-19 16:06:28 +00:00
Vikram S. Adve
7d0ba02640
Make all registered optimization passes available to llc.
...
Eliminate duplicate tracing options and use those defined by the trace passes.
Making the tracing step a module pass that runs before any llc-specific
passes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3753 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-16 16:35:34 +00:00
Misha Brukman
655fb5c817
Function.h is unnecessary when Module.h is included.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3716 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-14 03:04:02 +00:00
Chris Lattner
50e3a20b54
Print the tool name when an error comes from so that I can tell which
...
tool of a pipeline is having issues.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3167 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-30 21:43:22 +00:00
Chris Lattner
d9d8c07eea
*** empty log message ***
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3040 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-23 22:04:43 +00:00
Chris Lattner
5ff62e90d0
*** empty log message ***
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2985 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-22 02:10:13 +00:00
Chris Lattner
c5fbf71d76
Strip the symbols out of the bytecode to inflate generated executables less.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2811 91177308-0d34-0410-b5e6-96231b3b80d8
2002-06-30 16:25:07 +00:00
Anand Shukla
cf17bcc7e7
Changes for 64bit gcc
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2799 91177308-0d34-0410-b5e6-96231b3b80d8
2002-06-25 21:57:48 +00:00
Chris Lattner
7e70829632
MEGAPATCH checkin.
...
For details, See: docs/2002-06-25-MegaPatchInfo.txt
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2779 91177308-0d34-0410-b5e6-96231b3b80d8
2002-06-25 16:13:24 +00:00
Chris Lattner
39fd659d68
Fix tracing code support to link in the tracing routines if neccesary.
...
This is required because trace code can insert calls to functions that
are (now) in an LLVM library, not a native library.
This change makes it easier to use the tracing code because the native
link options don't have to change, and it fits in a lot better with the
LLVM model.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2675 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-20 21:20:08 +00:00
Chris Lattner
65f1b895bb
Merge all include/llvm/Transforms/Scalar/* into a single Scalar.h
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2538 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-07 20:03:27 +00:00
Chris Lattner
e23476a027
Remove unneccesary pass.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2421 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-30 20:53:05 +00:00
Chris Lattner
c6f3ae5c66
Eliminate duplicate or unneccesary #include's
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2397 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-29 17:42:12 +00:00
Chris Lattner
f57b845547
* Rename MethodPass class to FunctionPass
...
- Rename runOnMethod to runOnFunction
* Transform getAnalysisUsageInfo into getAnalysisUsage
- Method is now const
- It now takes one AnalysisUsage object to fill in instead of 3 vectors
to fill in
- Pass's now specify which other passes they _preserve_ not which ones
they modify (be conservative!)
- A pass can specify that it preserves all analyses (because it never
modifies the underlying program)
* s/Method/Function/g in other random places as well
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2333 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-27 06:56:12 +00:00
Chris Lattner
76d12299b5
Make sure that there is no case where a signal can occur leaving a partially
...
written output file. This is important because crashing testcases often write
part of a file out, and the testing harness decides the file is up-to-date next
time the test is run.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2303 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-18 19:55:25 +00:00
Chris Lattner
02d6ef8976
s/PrintMethodPass/PrintFunctionPass
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2182 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-08 22:05:01 +00:00
Chris Lattner
2fbfdcffd3
Change references to the Method class to be references to the Function
...
class. The Method class is obsolete (renamed) and all references to it
are being converted over to Function.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2144 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-07 20:49:59 +00:00
Vikram S. Adve
d32e70a09f
Rename pass to DecomposeMultiDimRefs.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1960 91177308-0d34-0410-b5e6-96231b3b80d8
2002-03-24 03:19:54 +00:00
Chris Lattner
4ddcd54751
* Make all command line arguments static
...
* Change -trace & -tracem options to use a 3 values enum option
* Change to use new style interface to passes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1813 91177308-0d34-0410-b5e6-96231b3b80d8
2002-02-26 21:36:53 +00:00
Chris Lattner
e41576d141
* Remove -noasm option. If we're not compiling, what's the point?
...
* convert over to pass based target backend. Much cleaner now
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1665 91177308-0d34-0410-b5e6-96231b3b80d8
2002-02-03 23:43:19 +00:00
Chris Lattner
c889677195
Switch over to a model where we compile each method, emit assembly, then free
...
machineinstr memory before starting on the next method.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1659 91177308-0d34-0410-b5e6-96231b3b80d8
2002-02-03 07:54:10 +00:00
Chris Lattner
cd50d3fafa
PassManager is now in its own header file
...
MethodPass's now cannot be run on external methods
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1609 91177308-0d34-0410-b5e6-96231b3b80d8
2002-01-31 00:46:45 +00:00
Chris Lattner
888912dbe0
In an amazing fit of stupidity, I flipped the conditional and didn't test
...
it right. Sheesh :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1550 91177308-0d34-0410-b5e6-96231b3b80d8
2002-01-22 21:07:24 +00:00
Chris Lattner
d7db863c1d
Rename LowerAllocations.h to ChangeAllocations.h since it now contains the
...
RaiseAllocations pass as well.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1525 91177308-0d34-0410-b5e6-96231b3b80d8
2002-01-22 01:04:08 +00:00
Chris Lattner
f4de63f65f
Implement a more powerful, simpler, pass system. This pass system can figure
...
out how to run a collection of passes optimially given their behaviors and
charactaristics.
Convert code to use it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1507 91177308-0d34-0410-b5e6-96231b3b80d8
2002-01-21 07:31:50 +00:00
Chris Lattner
697954c15d
Changes to build successfully with GCC 3.02
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1503 91177308-0d34-0410-b5e6-96231b3b80d8
2002-01-20 22:54:45 +00:00
Chris Lattner
cee8f9ae67
Create a new #include "Support/..." directory structure to move things
...
from "llvm/Support/..." that are not llvm dependant.
Move files and fix #includes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1400 91177308-0d34-0410-b5e6-96231b3b80d8
2001-11-27 00:03:19 +00:00
Chris Lattner
d7477ee9d9
Remove unneccesary retcode var
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@905 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-18 20:33:21 +00:00
Chris Lattner
2197d21c3b
Refactor Assembly/Bytecode writer code into Assembly & bytecode libraries
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@904 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-18 20:32:07 +00:00
Chris Lattner
c2c9dd1718
Bytecode writer is yanked out of Module printer
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@899 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-18 20:06:31 +00:00
Vikram S. Adve
712ac2b951
Move malloc/free lowering after tracing until lli supports
...
calls to external malloc/free functions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@893 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-18 18:20:20 +00:00
Chris Lattner
c9a1de6d1b
Only output code if file open is successful
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@890 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-18 17:07:22 +00:00
Vikram S. Adve
79a334968c
Trace code should always be exported just before code generation;
...
this is not a debugging option. But we can export it as assembly
instead of bytecode if -debugtrace is specified.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@889 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-18 13:51:20 +00:00
Chris Lattner
685639df42
Convert to new simpler, more powerful pass structure
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@882 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-18 05:28:44 +00:00
Chris Lattner
05e5e070ee
Passes return true if they change something, not if they fail
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@869 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-18 01:31:22 +00:00
Chris Lattner
2db4b72017
ConcretePass should not be a templated class!
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@838 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-15 17:47:13 +00:00
Chris Lattner
25c1229930
Minor cleanups
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@837 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-15 17:41:24 +00:00
Chris Lattner
3524fc2197
Use the new Pass infrastructure to clean up llc
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@835 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-15 17:30:47 +00:00
Chris Lattner
90c5b3d753
Minor code cleanups
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@825 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-15 13:47:13 +00:00
Vikram S. Adve
2f64f9f264
*** empty log message ***
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@811 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-14 23:29:28 +00:00
Chris Lattner
b27c9e72d1
MethodTypes take an explicit isVarArg argument
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@782 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-13 07:07:28 +00:00
Chris Lattner
b79757c621
Add hack to get rid of malloc & free instructions for code generation
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@713 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-04 01:40:53 +00:00
Chris Lattner
78f7e1a9cd
Add proper support to send output to the right place
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@649 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-19 16:52:09 +00:00
Chris Lattner
565046714e
Emit assembly language from the target...
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@640 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-19 13:56:47 +00:00
Chris Lattner
da784ee81f
C++ gives us auto_ptr's, so we might as well use them. :)
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@629 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-18 17:04:18 +00:00
Vikram S. Adve
805eb96727
Minor changes.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@622 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-18 13:10:45 +00:00
Chris Lattner
b26bcc5087
Make a new llvm/Target #include directory.
...
Move files from lib/CodeGen/TargetMachine to lib/Target
Move TargetData.h and TargetMachine.h to Target/{Data.h|Machine.h}
Prepare to split TargetMachine.h into several smaller files
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@566 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-14 05:34:53 +00:00
Chris Lattner
f6e0e28135
Checkin changes to:
...
1. Clean up the TargetMachine structure. No more wierd pointers that have to
be cast around and taken care of by the target.
2. Instruction Scheduling now takes the schedinfo as an argument. The same
should be done with the instinfo, it just isn't now.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@565 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-14 04:32:55 +00:00
Chris Lattner
0e6530ee1b
This checkin represents some cleanup of the backend, implementing the following things:
...
1. The TargetMachine structure is free to decide the process a particular target uses to generate code.
2. All of the gooee details of the sparc backend are now localized in the lib/CodeGen/TargetMAchine/Sparc directory. The Sparc.h file that is globally visible is just a stub.
3. The Sparc.h file that esxists now will dissapear entirely someday when we have multiple backends chosen by a factory of some sort.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@559 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-14 03:37:52 +00:00
Chris Lattner
e737c7ac63
Convert llc driver to standard tool format
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@496 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-07 22:20:50 +00:00
Chris Lattner
46ac43c1bb
Clean up driver
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@492 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-07 21:26:31 +00:00
Vikram S. Adve
14335835f1
Add calls to NormalizeMethod() and to ScheduleInstructionsWithSSA().
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@404 91177308-0d34-0410-b5e6-96231b3b80d8
2001-08-28 23:23:14 +00:00
Chris Lattner
1e78f36127
CommandLine library cleanup. No longer use getValue/setValue, instead, just treat the commandline
...
args as the objects they represent and the "right thing" will happen
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@283 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-23 19:27:24 +00:00
Chris Lattner
57dbb3ad63
Moved inline/llvm/Tools/* to include/llvm/Support/*
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@279 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-23 17:46:59 +00:00
Chris Lattner
6c5a32d545
Removal of the redundant CompileContext wrapper
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@274 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-23 03:09:03 +00:00
Chris Lattner
8f367bd3c0
Large scale changes to implement new command line argument facility
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@272 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-23 02:35:57 +00:00
Chris Lattner
aceb9132b7
Privatize LLCOptions. It had no business being visible to the entire
...
program.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@267 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-22 04:40:02 +00:00
Chris Lattner
7e583cfafe
Renamed include/llvm/Codegen to include/llvm/CodeGen
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@253 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-21 20:58:30 +00:00
Vikram S. Adve
cb465fc71e
Driver and options for the llc compiler.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@234 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-21 12:42:29 +00:00