Chris Lattner
f327467e4e
Get rid of really old makefile cruft
...
llvm-svn: 6218
2003-05-14 21:31:31 +00:00
Chris Lattner
a2d3504c24
Search LLVM_LIB_SEARCH_PATH for objects to allow it to find crtend.o
...
Implement minor library linking optimization.
llvm-svn: 6181
2003-05-13 22:14:13 +00:00
Chris Lattner
df705a6d02
Add a disable-verify option
...
llvm-svn: 6155
2003-05-12 22:12:44 +00:00
Chris Lattner
ebc5f1944e
Move static stuff to an anonymous namespace
...
llvm-svn: 6154
2003-05-12 22:08:58 +00:00
Chris Lattner
a95548f56c
Print filename correctly
...
llvm-svn: 6119
2003-05-12 14:32:04 +00:00
Chris Lattner
966e1a20ce
The JIT is the default mode for LLI now
...
llvm-svn: 6118
2003-05-12 14:31:57 +00:00
Chris Lattner
823ce22ef2
Make a comment more accurate
...
llvm-svn: 5991
2003-05-03 03:20:36 +00:00
Chris Lattner
7709ec5df5
Add support for debugging miscompilations with the use of the JIT or CBE!
...
llvm-svn: 5990
2003-05-03 03:19:41 +00:00
Chris Lattner
9e97f4acb6
Bugpoint is always verbose, eliminate option
...
llvm-svn: 5989
2003-05-03 03:18:41 +00:00
Misha Brukman
f3d3bcb485
The Grammar Police is out on patrol.
...
llvm-svn: 5985
2003-05-03 02:16:43 +00:00
Chris Lattner
e22031edfe
Add an instcombine pass before levelraise
...
llvm-svn: 5980
2003-05-02 18:19:05 +00:00
Chris Lattner
23f358bb52
Add a new option to disable stripping of bytecode files
...
llvm-svn: 5969
2003-04-28 03:28:56 +00:00
Chris Lattner
4f6cdbdf81
Remove two fields from TargetData which are target specific.
...
llvm-svn: 5963
2003-04-26 20:11:09 +00:00
Chris Lattner
8d8de422dd
Add options to disable simplification with passes, in case one of them crashes
...
llvm-svn: 5950
2003-04-25 22:08:12 +00:00
Chris Lattner
8d6d4257a0
Make sure to copy double alignment as well
...
llvm-svn: 5936
2003-04-25 06:06:13 +00:00
Chris Lattner
d64b2de3c8
Kill using declarations
...
llvm-svn: 5934
2003-04-25 05:26:11 +00:00
Chris Lattner
21a7218c5f
Make sure to add a targetdata instance to the passmanager, and make it match the
...
one in use by the TargetMachine
llvm-svn: 5931
2003-04-25 05:22:29 +00:00
Chris Lattner
0347cda8b8
Rename Kept -> Suffix
...
FIX problem where we were incorrectly putting the prefix of the list into the "suffix" list.
llvm-svn: 5926
2003-04-25 03:16:33 +00:00
Chris Lattner
4a1a9d2cdd
Rename Kept -> Suffix
...
Fix problem where we accidentally returned KeepPrefix instead of KeepSuffix!
llvm-svn: 5925
2003-04-25 03:16:05 +00:00
Chris Lattner
65e5f653fd
Big programs have tons of global variable initializers, and most passes don't care
...
about them. Try to delete them if it doesn't affect the passes.
llvm-svn: 5918
2003-04-25 00:53:05 +00:00
Chris Lattner
b0143880f4
When cleaning up the final bytecode file, make sure to run DTE as well
...
llvm-svn: 5917
2003-04-25 00:52:30 +00:00
Chris Lattner
f32939bbc9
Speed up convergence significantly and also reduce the size of testcases by making large portions of a function's CFG dead at a time.
...
llvm-svn: 5915
2003-04-24 23:51:38 +00:00
Chris Lattner
de39f2bdac
The big fix is this change:
...
- if (I->isExternal() && !Functions.count(I))
+ if (!I->isExternal() && !Functions.count(I))
We were not actually deleting any functions from the module!
llvm-svn: 5914
2003-04-24 22:54:06 +00:00
Chris Lattner
10c0469be1
Remove dead functions
...
llvm-svn: 5913
2003-04-24 22:53:24 +00:00
Chris Lattner
c3380918a5
Make sure that deleted functions have external linkage
...
llvm-svn: 5912
2003-04-24 22:53:01 +00:00
Chris Lattner
1d080f24c5
Use the list reducer to improve convergence speed and to support crashes that
...
only occur when multiple passes interact or when multiple functions exist in a module
llvm-svn: 5911
2003-04-24 22:24:58 +00:00
Chris Lattner
ba159e2824
Adjust to match new ListReducer interface
...
Move function to generic code
llvm-svn: 5910
2003-04-24 22:24:22 +00:00
Chris Lattner
69f8e6f7aa
Allow reducer interfaces to mutate the lists passed in
...
llvm-svn: 5909
2003-04-24 22:23:56 +00:00
Chris Lattner
39388ca08e
Move function from Miscompilation.cpp
...
llvm-svn: 5908
2003-04-24 22:23:34 +00:00
Chris Lattner
9f5a197eb6
Move the ListReducer Class into it's own header file instead of living in Miscompilation.cpp
...
llvm-svn: 5907
2003-04-24 20:16:29 +00:00
Chris Lattner
b052843bd2
Allow bugpoint to try new an different methods for pruning down lists
...
llvm-svn: 5905
2003-04-24 19:32:42 +00:00
Chris Lattner
d571e2aa91
Make sure to create a target data that matches the Module's target properties.
...
llvm-svn: 5904
2003-04-24 19:13:02 +00:00
Chris Lattner
aa038c856a
Remove support for "target data" pass ctors
...
llvm-svn: 5900
2003-04-24 18:36:41 +00:00
Chris Lattner
0e48f8cb51
LevelRaise now gets target data from passmanager
...
llvm-svn: 5898
2003-04-24 18:26:03 +00:00
Chris Lattner
16a413103c
Implement support for bugpoint to identify which FUNCTION an optimization
...
is miscompiling.
llvm-svn: 5893
2003-04-24 17:02:17 +00:00
Chris Lattner
1b35bee37c
Print where reference output goes
...
llvm-svn: 5891
2003-04-23 20:41:18 +00:00
Chris Lattner
03507809a0
The new CFrontend generates LOTs of basic blocks that just fall through and do
...
other funky stuff. Clean it up early.
llvm-svn: 5889
2003-04-23 20:40:42 +00:00
Chris Lattner
68efaa7ad9
Allow specifying an input file for the program being executed
...
llvm-svn: 5888
2003-04-23 20:31:37 +00:00
Chris Lattner
7d4c04c99a
We now need to link libscalar to get the switch lowering pass
...
llvm-svn: 5874
2003-04-23 16:43:02 +00:00
Chris Lattner
e695da3f54
Remove unnecessary &*
...
llvm-svn: 5873
2003-04-23 16:38:00 +00:00
Chris Lattner
cebde8d74c
Build the appropriate target machine for the input pointer size and endianness
...
llvm-svn: 5838
2003-04-22 18:10:32 +00:00
Chris Lattner
da3bc21076
Add support for allowing the user to extend the GCCLD searchpath
...
llvm-svn: 5825
2003-04-21 19:53:24 +00:00
Chris Lattner
4b462c0f99
Eliminate useless duplicate libraries
...
llvm-svn: 5823
2003-04-19 23:07:33 +00:00
Chris Lattner
1d49617c4f
Add first support for linking in .a files correctly and minimally, like a real linker does
...
llvm-svn: 5822
2003-04-19 22:44:38 +00:00
Chris Lattner
602d209078
Add crufty compatibility stuff for ld
...
llvm-svn: 5813
2003-04-18 23:38:22 +00:00
Chris Lattner
82f626e951
Eliminate some compatibility stuff no longer needed :P
...
llvm-svn: 5812
2003-04-18 23:38:09 +00:00
Chris Lattner
2b3a5dbacb
Use anonymous namespace instead of "static"
...
Kill using decl
llvm-svn: 5811
2003-04-18 23:01:25 +00:00
Chris Lattner
52c7138d22
Don't support codegen passes in opt
...
llvm-svn: 5797
2003-04-16 23:02:16 +00:00
Chris Lattner
51bdb6156b
Remove codegen libraries to speed up linking opt
...
llvm-svn: 5796
2003-04-16 22:55:55 +00:00
Chris Lattner
a9a988005b
Allow the user to disable the internalize pass
...
llvm-svn: 5792
2003-04-16 21:43:22 +00:00
Chris Lattner
f46a02c88e
Give verbose error messages if bytecode file cannot be parsed
...
llvm-svn: 5789
2003-04-16 20:51:36 +00:00
Chris Lattner
12fe9b47cc
Improve compatibility with system AS further by allowing input from stdin
...
llvm-svn: 5780
2003-04-16 17:49:18 +00:00
Chris Lattner
3708870ec8
* Get rid of using declaration
...
* Add two compatibility options to work better with new GCC frontend
llvm-svn: 5779
2003-04-16 17:41:08 +00:00
Chris Lattner
1f412aeeb2
Namespacify command line options
...
llvm-svn: 5778
2003-04-16 17:34:29 +00:00
Chris Lattner
7ff2ce9f0b
Minor tweak
...
llvm-svn: 5758
2003-03-31 17:30:35 +00:00
Chris Lattner
44ffd7c373
Make sure that intermediate code is verifier clean to avoid wierd problems.
...
llvm-svn: 5723
2003-03-07 18:17:13 +00:00
Chris Lattner
514c02eb26
* Reduce the number of useless bytecode files produced by bugpoint.
...
- This also speeds it up as the bytecode writer isn't terribly fast.
* Add a new cleanup pass after everything else to run -funcresolve -globaldce
llvm-svn: 5668
2003-02-28 16:13:20 +00:00
Chris Lattner
30f40d94cc
Rename -no-* to -disable-*
...
llvm-svn: 5642
2003-02-26 20:00:41 +00:00
Chris Lattner
c2be148276
Make printing messages nicer
...
llvm-svn: 5616
2003-02-24 20:07:54 +00:00
Chris Lattner
b8450599f3
Add new -no-verify option
...
llvm-svn: 5542
2003-02-12 18:45:08 +00:00
Chris Lattner
4dbe59b5ba
Add a new -no-output option, useful for -aa-eval tests.
...
llvm-svn: 5541
2003-02-12 18:43:33 +00:00
Chris Lattner
e0e1b0d2a6
Fix build problem on sparc
...
llvm-svn: 5428
2003-01-29 18:15:34 +00:00
Chris Lattner
0eb5ce94dd
Make bugpoint *much* more powerful, giving it the capability to delete instructions
...
out of a large function to reduce it.
llvm-svn: 5408
2003-01-23 02:48:33 +00:00
Chris Lattner
892f93730b
Allow creating of passes like levelraise which use a targetdata ctor
...
llvm-svn: 5403
2003-01-22 23:24:11 +00:00
Chris Lattner
208e6e6ff0
link with static versions of some libs to avoid having to pull in all of ipo/ipa and datastructure at all
...
llvm-svn: 5402
2003-01-22 22:14:04 +00:00
Chris Lattner
3fef999fcb
Fix didn't fix the race condition in the makefiles
...
llvm-svn: 5394
2003-01-22 15:41:10 +00:00
Chris Lattner
cff8ebe6a3
Fix race condition in Makefile
...
llvm-svn: 5380
2003-01-21 15:20:50 +00:00
Chris Lattner
d232aaaaa9
* Prune down library list. In particular, llc doesn't need all of IPO, and none of data structure and IPA completely!
...
* Do not keep symbols by default!
llvm-svn: 5375
2003-01-19 21:55:43 +00:00
Chris Lattner
757b304077
Rename header
...
llvm-svn: 5283
2003-01-14 22:57:15 +00:00
Chris Lattner
ae2c1b7f15
Link in lots o libraries
...
llvm-svn: 5269
2003-01-14 21:30:30 +00:00
Chris Lattner
93fbc67720
No longer need scalaropts lib
...
llvm-svn: 5252
2003-01-13 00:58:18 +00:00
Chris Lattner
c864583477
Eliminate direct access to TargetData structure
...
llvm-svn: 5156
2002-12-28 20:00:00 +00:00
Chris Lattner
7c0f86233f
Fix compilation on GCC 3.2
...
llvm-svn: 5136
2002-12-24 00:44:34 +00:00
Chris Lattner
c94e5eeae8
Don't try to buidl jello
...
llvm-svn: 5135
2002-12-24 00:44:26 +00:00
Chris Lattner
5aa5663353
Fixes to compile with GCC 3.2
...
llvm-svn: 5134
2002-12-24 00:39:16 +00:00
Chris Lattner
544f4497d1
Jello is now part of LLI
...
llvm-svn: 5133
2002-12-24 00:14:25 +00:00
Chris Lattner
a0d7b084ef
Substantial changes to refactor LLI to incorporate both the Jello JIT and
...
the traditional LLI interpreter
llvm-svn: 5125
2002-12-23 23:59:41 +00:00
Chris Lattner
5a2f7ec55f
X86 target machine is now parameterizable
...
llvm-svn: 5124
2002-12-23 23:55:01 +00:00
Chris Lattner
de4aa4cf8c
New files for miscompilation detection
...
llvm-svn: 5120
2002-12-23 23:50:16 +00:00
Chris Lattner
d4e0474dcf
Implement the start of the miscompilation detection stuff
...
llvm-svn: 5119
2002-12-23 23:49:59 +00:00
Brian Gaeke
941945785e
brg
...
Add statistic for number of bytes of data area initialized.
We used this statistic in collecting data for the paper, but I forgot
to commit it.
llvm-svn: 5112
2002-12-22 18:53:23 +00:00
Chris Lattner
c451fb4efd
Make stuff compiled with gccld not dump into the debugger if there's a problem
...
llvm-svn: 5028
2002-12-14 21:28:32 +00:00
Chris Lattner
7857616402
Pass command line arguments to main
...
llvm-svn: 5027
2002-12-13 16:48:57 +00:00
Chris Lattner
bf6ad7d307
Add statistic
...
llvm-svn: 5026
2002-12-13 15:28:42 +00:00
Misha Brukman
a9b58a6e0f
Made status output debug-only (for testing diffs against lli).
...
llvm-svn: 5022
2002-12-13 13:15:36 +00:00
Brian Gaeke
4e2c30d894
brg
...
InstSelectSimple.cpp: Add stub implementation of visitFreeInst.
Add comments that mention how we are failing to implement malloc/free.
Add initial implementation of visitAllocaInst.
X86TargetMachine.cpp: Include llvm/Transforms/Scalar.h.
Add LowerAllocations pass before instruction selection.
jello/Makefile: Add scalaropts.a.
llvm-svn: 4994
2002-12-13 06:46:31 +00:00
Chris Lattner
7ccef07786
Implement branches
...
llvm-svn: 4988
2002-12-13 05:40:28 +00:00
Brian Gaeke
5e91d38ecb
This checkin is brought to you by the brian gaeke allnighter fund.
...
(lib/Target/X86) InstSelectSimple.cpp:
Include llvm/DerivedTypes.h and iostream.
Refactor visitMul out into a wrapper around doMultiply(), so that we
can do multiplications on temporary values when we are doing
getelementptrs.
Refactor part of getReg out into makeAnotherReg, so that we can create
registers willy-nilly to hold temporary values, when we are doing
getelementptrs.
Add stub implementations of visitMallocInst and visitAllocaInst.
Add initial implementation of visitGetElementPtrInst.
In copyConstantToRegister:
We throw a *lot* of our asserts here. So, when we want to throw an
assert, print out to stderr whatever expr or whatever constant made
us barf.
Support copying ConstantPointerNull to register, using a move immediate
of zero.
Rename FLDr4 and FLDr8 to FLDr32 and FLDr64, so that they match the meanings
of the numbers in the other instruction names. All uses modified.
Teach visitCallInst to extract byte- and short-class return values
from subregs of EAX. Add a FIXME note about how we would do it for
float-class return values.
Add a FIXME note about how we would cast float to int and back.
X86InstrInfo.def:
Rename FLDr4 and FLDr8 to FLDr32 and FLDr64, so that they match the meanings
of the numbers in the other instruction names. All uses modified.
(tools/jello) GlobalVars.cpp:
Include iostream.
If we have to emit a floating-point constant to memory, gamble and use
the same method as for ints.
If we have to emit a ConstantPointerNull to memory, try using a "void *"
and "NULL".
Otherwise, if we are going to throw an assert, print out whatever constant
made us barf, first.
llvm-svn: 4973
2002-12-12 15:33:40 +00:00
Misha Brukman
356163f48a
ipa.a only needs to be mentioned once, and spaces should be used instead of
...
tabs for readability.
llvm-svn: 4970
2002-12-12 05:29:32 +00:00
Vikram S. Adve
3425529fc5
Fix link errors due to new IPModRef pass.
...
llvm-svn: 4960
2002-12-09 05:53:11 +00:00
Vikram S. Adve
42b7335d7c
Repeat ipa.a. Since IPModRef is currently only used in analysis.o,
...
it was causing linking errors.
llvm-svn: 4959
2002-12-09 04:46:25 +00:00
Chris Lattner
4f96aa450e
Add support to count the number of dynamic instructions executed by LLI
...
llvm-svn: 4955
2002-12-08 05:51:08 +00:00
Chris Lattner
71b82e39b0
Only build jello when compiling on X86
...
llvm-svn: 4938
2002-12-06 03:53:40 +00:00
Chris Lattner
bd7029ffb3
Fix to make jello compile on Sparc even though it won't run.
...
llvm-svn: 4937
2002-12-06 03:52:51 +00:00
Chris Lattner
b41a1b7c72
Add support for global value references
...
llvm-svn: 4908
2002-12-04 06:45:40 +00:00
Chris Lattner
1813cb90e8
Initial checkin of global var support code
...
llvm-svn: 4904
2002-12-04 06:09:04 +00:00
Chris Lattner
99fee40091
Implement simple global variable support
...
llvm-svn: 4903
2002-12-04 06:04:17 +00:00
Chris Lattner
0ded70ec7c
Implement external function support
...
llvm-svn: 4902
2002-12-04 06:04:07 +00:00
Chris Lattner
6a716900ba
Initial checkin of Unresolved function fault handler
...
llvm-svn: 4900
2002-12-04 05:05:26 +00:00
Chris Lattner
b7bfaae93a
Implement lazy resolution of function calls
...
llvm-svn: 4899
2002-12-04 04:47:34 +00:00
Chris Lattner
7814bf2a79
Initial checkin of virtual machine implementation.
...
We can now run very trivial test cases
llvm-svn: 4894
2002-12-03 22:48:59 +00:00
Chris Lattner
807a36c458
Disable timing of bytecode loader
...
llvm-svn: 4887
2002-12-03 19:42:26 +00:00
Chris Lattner
89cb1d48f6
Final tweak to printer
...
llvm-svn: 4881
2002-12-03 06:33:30 +00:00
Chris Lattner
9af6a5d5fe
Implement trivially simple debugger for MachineCodeEmitter interface
...
llvm-svn: 4880
2002-12-03 06:09:26 +00:00
Chris Lattner
cbda9ce676
Add initial support for machine code emission
...
llvm-svn: 4865
2002-12-02 21:22:04 +00:00
Chris Lattner
12caa7a9cf
Build bugpoint
...
llvm-svn: 4790
2002-11-20 22:28:18 +00:00
Chris Lattner
73a6bdd958
Initial checkin of bugpoint
...
llvm-svn: 4789
2002-11-20 22:28:10 +00:00
Chris Lattner
58f9002b4a
Move the function extractor pass from tools/extract into lib/Xform/IPO
...
llvm-svn: 4759
2002-11-19 18:42:59 +00:00
Chris Lattner
6d192f5bb4
Remove extra target.a entry
...
llvm-svn: 4756
2002-11-19 16:59:41 +00:00
Chris Lattner
20362cd1e9
Add a timer to evaluate bytecode load time and space requirements
...
llvm-svn: 4679
2002-11-10 06:55:02 +00:00
Vikram S. Adve
763e3f5752
Don't build llc symbols by default.
...
llvm-svn: 4565
2002-11-06 16:10:57 +00:00
Chris Lattner
5f827fa57b
Give passnames to the printer classes
...
llvm-svn: 4559
2002-11-06 06:16:08 +00:00
Chris Lattner
a416ad30df
No need to explicitly inclue ExportSymbols now
...
llvm-svn: 4543
2002-11-04 20:50:57 +00:00
Chris Lattner
2743db5934
Implement a new -print-callgraph analysis that turns a callgraph into a dot
...
graph
llvm-svn: 4524
2002-11-04 02:55:30 +00:00
Vikram S. Adve
a8ebc7af15
Disable correlated expressions pass until it is reliable.
...
llvm-svn: 4512
2002-11-03 12:41:50 +00:00
Chris Lattner
f1257594b5
Reassociate now works
...
llvm-svn: 4472
2002-10-31 17:13:11 +00:00
Misha Brukman
872dee1d94
Return 0 instead of 1 for correct execution. Makes automated testing happy.
...
llvm-svn: 4449
2002-10-30 02:18:29 +00:00
Chris Lattner
17116422e5
Jello now builds
...
llvm-svn: 4430
2002-10-29 23:41:11 +00:00
Chris Lattner
e72f06b575
* Privatize the TargetName
...
llvm-svn: 4418
2002-10-29 21:48:33 +00:00
Chris Lattner
5667f0eefd
Allow TargetMachine to refuse static code gen
...
llvm-svn: 4415
2002-10-29 21:12:46 +00:00
Chris Lattner
8fd87e5f4c
Convert jello to use PassManager
...
llvm-svn: 4414
2002-10-29 21:06:58 +00:00
Chris Lattner
a9d552b3a9
Rename Sparc.h TargetMachineImpls.h
...
llvm-svn: 4409
2002-10-29 20:48:09 +00:00
Chris Lattner
23930c582c
* Remove explicit strcmp calls
...
* Rename Sparc.h to TargetMachineImpls.h
llvm-svn: 4406
2002-10-29 20:45:04 +00:00
Chris Lattner
b68bcf081a
After removing stuff from TargetMachine, we now no longer have to include
...
it twice.
llvm-svn: 4311
2002-10-28 01:13:07 +00:00
Chris Lattner
57a10398a5
Add codegen library
...
llvm-svn: 4305
2002-10-28 00:54:59 +00:00
Chris Lattner
f11dd2092b
Initial checkin of LLVM JIT, codenamed jello. This tool is not built by
...
default, until it becomes stable. Even then it will only work for for X86
targets.
llvm-svn: 4285
2002-10-25 22:58:53 +00:00
Vikram S. Adve
793fce4ece
Added datastructure library to resolve link error.
...
llvm-svn: 4279
2002-10-25 21:17:34 +00:00
Chris Lattner
66507d887a
* Fix extract to work with constant pointer refs correctly
...
* Extract makes all global vars external, so they don't have initializers
llvm-svn: 4121
2002-10-12 20:50:16 +00:00
Chris Lattner
9126483558
- Implement a new -print-cfg option for analyze, that causes it to print the
...
CFG of each function in the module to 'dot' files.
llvm-svn: 4062
2002-10-07 18:38:01 +00:00
Chris Lattner
8e2c197c17
Avoid making external global variables internal
...
llvm-svn: 4059
2002-10-07 18:33:53 +00:00
Chris Lattner
ae4cf5237a
- The extract tool now is sure to extract the function implementation for
...
the specified name instead of extracting the prototype if both exist.
llvm-svn: 4045
2002-10-06 21:30:04 +00:00
Chris Lattner
e6e375e704
Temporary change to make datastructure stuff link in right
...
llvm-svn: 4005
2002-10-01 22:41:01 +00:00
Chris Lattner
79efacbb19
Change LowerAllocations pass to 'require' TargetData instead of it being
...
passed in.
llvm-svn: 3930
2002-09-25 23:47:49 +00:00
Chris Lattner
47c2e3e952
Make sure to close the file before deleting it
...
llvm-svn: 3905
2002-09-24 00:09:48 +00:00
Chris Lattner
387d76a983
* Remove the -stopraise option, which is no longer needed now that we have
...
the -debug-pass=Arguments option
* Run instcombining BEFORE mem2reg so that getelementptr X, long 0's are
cleaned up. This is also important because scalar replacement of aggr.
will want instcombine to run before it goes as well.
llvm-svn: 3879
2002-09-22 18:50:22 +00:00
Vikram S. Adve
3e1dc145bd
Renamed library preselect to preopts.
...
llvm-svn: 3841
2002-09-20 00:43:20 +00:00
Chris Lattner
9ae5cf5ca3
Minor non-functionality changing changes.
...
llvm-svn: 3833
2002-09-19 20:48:48 +00:00
Chris Lattner
51eb611986
Indent a comment right, add a new one
...
llvm-svn: 3819
2002-09-19 16:06:28 +00:00
Chris Lattner
437254f29e
Avoid deleting the ostream more than once.
...
llvm-svn: 3816
2002-09-18 23:30:05 +00:00
Vikram S. Adve
3517f30fd9
KEEP_SYMBOLS by default.
...
llvm-svn: 3813
2002-09-18 11:55:44 +00:00
Chris Lattner
18daee20f9
Compile sub-directories in parallel, because they don't have interdependencies
...
llvm-svn: 3808
2002-09-18 03:25:58 +00:00
Vikram S. Adve
9c485d2165
gcc3.1.1 seems much more selective about what it loads from archives, and
...
does not link in many passes that are loaded by gcc2.95.3. So use object
files instead of archives in many more cases.
llvm-svn: 3803
2002-09-18 02:20:58 +00:00
Chris Lattner
66037f55d3
Enable correct support for dynamic loading on Linux
...
llvm-svn: 3780
2002-09-17 20:40:24 +00:00
Chris Lattner
a73486f69c
Enable correct support for dynamic loading on Linux
...
llvm-svn: 3779
2002-09-17 20:40:22 +00:00
Vikram S. Adve
14a25a370b
Remove duplicate sparc entry.
...
llvm-svn: 3762
2002-09-16 18:28:27 +00:00
Vikram S. Adve
9a056ed4e0
Use .o files instead of .a files for several cases (that don't actually
...
need them) until other Makefiles can be updated to build archives.
llvm-svn: 3761
2002-09-16 18:13:12 +00:00
Vikram S. Adve
116783613a
Change several entries to use the .o instead of .a to expose pass options.
...
llvm-svn: 3754
2002-09-16 16:36:13 +00:00
Vikram S. Adve
eb8186985f
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.
llvm-svn: 3753
2002-09-16 16:35:34 +00:00
Vikram S. Adve
82491b79a1
Add support for optimization passes that use a TargetMachine object.
...
llvm-svn: 3752
2002-09-16 16:09:43 +00:00
Misha Brukman
2e8086f046
Function.h is unnecessary when Module.h is included.
...
llvm-svn: 3716
2002-09-14 03:04:02 +00:00
Chris Lattner
6ba47f6d5b
Export symbols for linux
...
llvm-svn: 3707
2002-09-13 22:20:19 +00:00
Chris Lattner
c70222dc15
* No longer need to run die after instcombine
...
* Run new correlated expressions pass
* Simplify the CFG (removing dead blocks, merging blocks, eliminating branches
on constant booleans, etc) after correlated exprs pass.
llvm-svn: 3598
2002-09-06 18:41:33 +00:00
Chris Lattner
874a9e4078
- Converted CWriter to be an LLVM pass.
...
- Convert dis to use a PassManager to do it's work.
llvm-svn: 3560
2002-08-31 00:30:15 +00:00
Chris Lattner
1ae0dec9b9
Get FindUsedTypes pass
...
llvm-svn: 3559
2002-08-31 00:29:36 +00:00
Chris Lattner
3f5b42697c
- Reformat comments
...
- 'gccas' puts verifier in logical place in pass procession to avoid
recomputing dominator information unneccesarily.
llvm-svn: 3553
2002-08-30 22:55:32 +00:00
Chris Lattner
4a84ad57a9
- 'analyze' and 'as' now explicitly verify input because AsmParser doesn't.
...
llvm-svn: 3552
2002-08-30 22:54:41 +00:00
Chris Lattner
2292e551ed
- 'analyze' and 'as' now explicitly verify input because AsmParser doesn't.
...
llvm-svn: 3551
2002-08-30 22:54:37 +00:00
Chris Lattner
ed39ccae8d
- Eliminate the last traces of the 'analysis' namespace
...
llvm-svn: 3550
2002-08-30 22:53:53 +00:00
Chris Lattner
447dd14bac
Link to analysis.o not analysis.a
...
llvm-svn: 3537
2002-08-30 20:25:41 +00:00
Chris Lattner
edd6704458
- GCCAS now uses load value #ing for GCSE
...
llvm-svn: 3536
2002-08-30 20:25:25 +00:00
Chris Lattner
6d33f2f338
New datastructure analysis correctly uses TargetData
...
llvm-svn: 3525
2002-08-29 20:10:29 +00:00
Anand Shukla
cbf89056d3
Added mapping lib in llc makefile
...
llvm-svn: 3514
2002-08-27 16:46:11 +00:00
Chris Lattner
00a43e1e7c
Fixed linking problems that wanted me to link to analyze.o instead of analyze.a
...
so now we can link to analyze.a again.
llvm-svn: 3433
2002-08-21 23:47:46 +00:00
Chris Lattner
24749c4d4e
Link in all analyses so that we get pointer analysis support built in
...
llvm-svn: 3427
2002-08-21 22:17:28 +00:00
Chris Lattner
dded107d64
Do not leak memory for passes when using -stopAfterNPasses or -stopraise
...
llvm-svn: 3371
2002-08-17 22:40:03 +00:00
Chris Lattner
325c1ce8f3
Run GlobalDCE before deadtypeelim so that we do not retain types for global
...
variables that are obviously dead. The most common case is %FILE
llvm-svn: 3370
2002-08-17 22:38:02 +00:00
Chris Lattner
f0ed55d1ee
- Cleaned up the interface to AnalysisUsage to take analysis class names
...
instead of ::ID's.
- Pass::getAnalysis<> now no longer takes an optional argument
llvm-svn: 3265
2002-08-08 19:01:30 +00:00
Chris Lattner
24c550cd2d
Only include the sparc.o file once!
...
llvm-svn: 3257
2002-08-07 19:42:34 +00:00
Chris Lattner
301b7e7733
Reorder tool building sequence to more closely match the reality of what
...
is being worked on the most.
llvm-svn: 3196
2002-08-01 00:01:33 +00:00
Chris Lattner
ad5a79527f
Changes to be GCC3.1 friendly
...
llvm-svn: 3187
2002-07-31 19:32:14 +00:00
Chris Lattner
b05cd8a88d
Change command line option message on -q to make it more accurate
...
llvm-svn: 3177
2002-07-31 16:52:49 +00:00
Chris Lattner
6f43f6d136
Print the tool name when an error comes from so that I can tell which
...
tool of a pipeline is having issues.
llvm-svn: 3168
2002-07-30 21:43:25 +00:00
Chris Lattner
da4c6cc151
Print the tool name when an error comes from so that I can tell which
...
tool of a pipeline is having issues.
llvm-svn: 3167
2002-07-30 21:43:22 +00:00
Chris Lattner
dcd3ec6010
Print the tool name when an error comes from so that I can tell which
...
tool of a pipeline is having issues.
llvm-svn: 3166
2002-07-30 19:52:14 +00:00
Chris Lattner
386ebdd66a
Remove extraneous #includes
...
llvm-svn: 3162
2002-07-30 19:33:19 +00:00
Chris Lattner
2511b6e296
Use a module analysis
...
llvm-svn: 3133
2002-07-29 23:02:25 +00:00
Chris Lattner
59aa81c78e
Seperate analysis wrapper stuff to AnalysisWrappers.cpp
...
llvm-svn: 3127
2002-07-29 21:24:10 +00:00
Chris Lattner
5768f01926
Make analyze use the Pass repository to populate it's command line argument list
...
llvm-svn: 3114
2002-07-27 01:08:50 +00:00
Chris Lattner
e79bf38f4a
Factor PassNamePArser out into llvm/Support/PassNameParser.h
...
llvm-svn: 3109
2002-07-26 21:09:32 +00:00
Chris Lattner
64eea749de
*** empty log message ***
...
llvm-svn: 3105
2002-07-26 18:40:14 +00:00
Chris Lattner
6d044b588b
Namespace correctness is good
...
llvm-svn: 3088
2002-07-25 16:39:56 +00:00
Chris Lattner
64a6727d02
*** empty log message ***
...
llvm-svn: 3087
2002-07-25 16:31:09 +00:00
Chris Lattner
42f1d37e75
Be more namespace correct
...
llvm-svn: 3086
2002-07-25 16:31:01 +00:00
Chris Lattner
ba614ba122
REmove extra blank lines
...
llvm-svn: 3084
2002-07-25 15:40:38 +00:00
Chris Lattner
880cfedadd
*** empty log message ***
...
llvm-svn: 3077
2002-07-25 15:00:45 +00:00
Chris Lattner
b3b021622f
*** empty log message ***
...
llvm-svn: 3044
2002-07-24 17:12:08 +00:00
Chris Lattner
35c4541bbe
*** empty log message ***
...
llvm-svn: 3040
2002-07-23 22:04:43 +00:00
Chris Lattner
da02d41e41
Minor changes due to code juggled around
...
llvm-svn: 3039
2002-07-23 22:04:40 +00:00
Chris Lattner
5a48a248bd
Use the pass registration mechanism to populate command line options for
...
opt, not huge explicit gross tables.
llvm-svn: 3021
2002-07-23 18:12:22 +00:00
Chris Lattner
8c7b31599b
Raise pass requires an explicit TargetData member now.
...
llvm-svn: 3020
2002-07-23 18:09:58 +00:00
Chris Lattner
a896b08b5c
*** empty log message ***
...
llvm-svn: 3002
2002-07-23 17:52:38 +00:00
Chris Lattner
0af07b48f2
Convert over to new style of Makefile, where there is a difference between .o and .a libraries.
...
llvm-svn: 3000
2002-07-23 17:50:41 +00:00
Chris Lattner
17570e182a
Fix synopsis
...
llvm-svn: 2988
2002-07-22 02:18:09 +00:00
Chris Lattner
de88ac4f45
Add description to Enum options.
...
llvm-svn: 2987
2002-07-22 02:18:00 +00:00
Chris Lattner
f5cad15a67
*** empty log message ***
...
llvm-svn: 2985
2002-07-22 02:10:13 +00:00
Chris Lattner
bf30a91f94
Convert command line option processing code over to use the syntax supported
...
by the CommandLine 2.0 library
llvm-svn: 2984
2002-07-22 02:10:07 +00:00
Chris Lattner
93dc95fc7d
Add support for bottom up closure of ds analysis
...
llvm-svn: 2963
2002-07-18 06:40:56 +00:00
Anand Shukla
4e25609b87
Removed emitfuncs: now its part of instrument library
...
llvm-svn: 2929
2002-07-16 18:59:55 +00:00
Anand Shukla
1a26e82bd5
added emitfuncs pass, and disabled reassociate pass (needs fixing)
...
llvm-svn: 2885
2002-07-12 20:14:27 +00:00
Anand Shukla
e9f685d397
Added emitfuncs pass
...
llvm-svn: 2884
2002-07-12 20:12:59 +00:00
Chris Lattner
4734a1cd00
Rename DataStructure to LocalDataStructures
...
llvm-svn: 2873
2002-07-10 22:42:53 +00:00
Vikram S. Adve
acceb1edff
Disabling reassociate pass until it is fixed.
...
llvm-svn: 2849
2002-07-09 19:53:09 +00:00
Chris Lattner
33422fedc2
*** empty log message ***
...
llvm-svn: 2813
2002-06-30 16:25:25 +00:00
Chris Lattner
a3a1ba1d6a
Clean up anands patch
...
llvm-svn: 2812
2002-06-30 16:25:21 +00:00
Chris Lattner
e3e86f7027
Strip the symbols out of the bytecode to inflate generated executables less.
...
llvm-svn: 2811
2002-06-30 16:25:07 +00:00
Chris Lattner
c19be16c7b
YEs, we really do want to sort.
...
llvm-svn: 2810
2002-06-30 16:20:02 +00:00
Chris Lattner
f119a2b1df
Yes, we REALLY DO want to run the reassociate pass.
...
llvm-svn: 2809
2002-06-30 16:19:14 +00:00
Anand Shukla
fef3241cc6
Changes for 64bit gcc
...
llvm-svn: 2799
2002-06-25 21:57:48 +00:00
Anand Shukla
dfe130c161
correcting makefile: incorrectly checked in wrong version earlier
...
llvm-svn: 2798
2002-06-25 21:44:44 +00:00
Anand Shukla
68c9977d7f
Changes for 64bit gcc
...
llvm-svn: 2797
2002-06-25 21:43:28 +00:00
Chris Lattner
113f4f4609
MEGAPATCH checkin.
...
For details, See: docs/2002-06-25-MegaPatchInfo.txt
llvm-svn: 2779
2002-06-25 16:13:24 +00:00
Chris Lattner
7076ff29ed
MEGAPATCH checkin.
...
For details, See: docs/2002-06-25-MegaPatchInfo.txt
llvm-svn: 2778
2002-06-25 16:13:21 +00:00
Chris Lattner
5aa3a0779e
Simplify the code that adds passes so compilation can stop after any step
...
llvm-svn: 2775
2002-06-25 15:57:43 +00:00
Chris Lattner
0df3511df9
Checkin descriptive note
...
llvm-svn: 2765
2002-06-24 16:49:55 +00:00
Chris Lattner
f08d7436ca
No need to run dce with adce right behind!
...
llvm-svn: 2738
2002-05-23 19:27:50 +00:00
Chris Lattner
c17c38f3cc
Make sure the extracted function has external linkage, so that it doesn't
...
get eliminated by globaldce!
llvm-svn: 2736
2002-05-23 18:36:25 +00:00
Chris Lattner
702eacab25
Add the ADCE pass to gccas finally!
...
llvm-svn: 2719
2002-05-22 21:30:24 +00:00
Chris Lattner
3df8d3e5d6
Build the extract utility
...
llvm-svn: 2717
2002-05-22 20:27:15 +00:00
Chris Lattner
055de1876a
Initial checkin of the "extract" utility
...
llvm-svn: 2716
2002-05-22 20:27:00 +00:00
Chris Lattner
5972e5cc5c
Expose cfg simplification pass
...
llvm-svn: 2699
2002-05-21 20:05:16 +00:00
Chris Lattner
8c1d9485cd
Simplify CFG after code generation is done
...
llvm-svn: 2698
2002-05-21 20:05:08 +00:00
Chris Lattner
4955d3e1c2
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.
llvm-svn: 2675
2002-05-20 21:20:08 +00:00
Chris Lattner
13e8979767
Remove tracing code hack
...
llvm-svn: 2673
2002-05-20 21:16:46 +00:00
Chris Lattner
2df953ba74
Use literal newline instead of endl
...
llvm-svn: 2668
2002-05-20 19:49:24 +00:00
Chris Lattner
6c1e5c4d3b
Drop something that link will never support, use gccld instead
...
llvm-svn: 2667
2002-05-20 19:48:55 +00:00
Vikram S. Adve
cf3c90d4c8
Add libsparc.a a second time to resolve link errors.
...
llvm-svn: 2661
2002-05-19 16:01:03 +00:00
Vikram S. Adve
b810407ddb
Link with test/Libraries/libinstr32.a for runtime routines
...
supporting tracing. That should be moved to a "runtime" directory.
llvm-svn: 2660
2002-05-19 16:00:28 +00:00
Chris Lattner
c914944a61
Run another local value numbering phase after redundancy elimination
...
llvm-svn: 2625
2002-05-14 16:23:14 +00:00
Chris Lattner
81525db280
expose LICM pass
...
llvm-svn: 2614
2002-05-10 22:44:37 +00:00
Chris Lattner
47d923c2e0
Add LICM pass to compiler
...
llvm-svn: 2613
2002-05-10 22:44:31 +00:00
Chris Lattner
6205c268e0
Expose the lowerallocs pass
...
llvm-svn: 2602
2002-05-10 15:43:07 +00:00
Chris Lattner
35cc0d2027
Expose the pi node insertion pass.
...
llvm-svn: 2594
2002-05-10 05:41:49 +00:00
Chris Lattner
e693f33937
Clean up dis so that it does not print out code in various traversal orders.
...
Now it only output llvm or C code.
llvm-svn: 2564
2002-05-09 01:25:55 +00:00
Chris Lattner
a2f3b65dec
Expose expression reassociation
...
llvm-svn: 2557
2002-05-08 22:18:34 +00:00
Chris Lattner
356ef11e5a
Run expression reassociation as part of gccas
...
llvm-svn: 2556
2002-05-08 22:18:20 +00:00
Sumant Kowshik
cf3afd9dc5
*** empty log message ***
...
llvm-svn: 2552
2002-05-08 18:09:58 +00:00
Chris Lattner
b4bf0c1422
Spell aggressive correctly
...
llvm-svn: 2551
2002-05-07 22:15:01 +00:00
Chris Lattner
89a20ef164
Merge all include/llvm/Transforms/Scalar/* into a single Scalar.h
...
llvm-svn: 2538
2002-05-07 20:03:27 +00:00
Chris Lattner
355cc5ab26
Fix makefiles after shuffling passes around the libraries
...
llvm-svn: 2532
2002-05-07 19:27:33 +00:00
Chris Lattner
15435fd550
Move UnifyFunctionExitNodes to Utils library: final resting place this time
...
llvm-svn: 2531
2002-05-07 19:18:48 +00:00
Chris Lattner
863c37e0bb
Oops, somehow lost a slash. Fixed
...
llvm-svn: 2524
2002-05-07 18:39:52 +00:00
Chris Lattner
7608a46cbe
Updates to move some header files out of include/llvm/Transforms into
...
the Scalar and Utils subdirectories
llvm-svn: 2523
2002-05-07 18:36:35 +00:00
Chris Lattner
56c3f22249
Straighten out makefiles after moving code to new Transform Utils library
...
llvm-svn: 2520
2002-05-07 18:18:26 +00:00
Chris Lattner
cfa675c142
GCSE is faster than SCCP, and it makes SCCP's job easier, so run it first.
...
llvm-svn: 2503
2002-05-06 18:54:12 +00:00
Chris Lattner
dcb7ff00b1
Instruction Combination can create a ton of trivially dead instructions. Remove
...
them with an DIE pass before more expensive optimizations are run.
llvm-svn: 2491
2002-05-06 16:52:15 +00:00
Chris Lattner
878bbb2f1c
Run DCE AFTER SCCP and GCSE!
...
llvm-svn: 2476
2002-05-06 03:04:17 +00:00
Chris Lattner
10120bdff0
Remove unneccesary pass.
...
llvm-svn: 2421
2002-04-30 20:53:05 +00:00
Chris Lattner
aa261937c0
These aren't tools
...
llvm-svn: 2412
2002-04-29 20:29:30 +00:00
Chris Lattner
0fb0022f68
Move constant merging pass earlier
...
Include the SCCP pass in gccas
llvm-svn: 2410
2002-04-29 20:11:38 +00:00
Chris Lattner
ce42e8ac31
Remove InstForest from analysis namespace
...
llvm-svn: 2401
2002-04-29 18:13:31 +00:00
Chris Lattner
d5a847057b
Eliminate duplicate or unneccesary #include's
...
llvm-svn: 2397
2002-04-29 17:42:12 +00:00
Chris Lattner
37104aace8
Add new optional getPassName() virtual function that a Pass can override
...
to make debugging output a lot nicer.
llvm-svn: 2395
2002-04-29 14:57:45 +00:00
Chris Lattner
450bda1a42
Rename functions to be more consistend with other pass constructors
...
llvm-svn: 2388
2002-04-28 21:45:36 +00:00
Chris Lattner
f12cc842b3
Tighten up the AnalysisUsage of lots of passes, primarily to correctly indicate whether or not they invalidate the CFGA
...
llvm-svn: 2386
2002-04-28 21:27:06 +00:00
Chris Lattner
42ec334ea3
Eliminate the cfg namespace
...
llvm-svn: 2371
2002-04-28 16:21:53 +00:00
Chris Lattner
b81da4b616
Expose the internalize pass.
...
llvm-svn: 2365
2002-04-28 05:49:53 +00:00
Chris Lattner
f0f014a182
Run the internalize pass to mark all functions except main internal when
...
linking the final program to allow smarter optimizations
llvm-svn: 2364
2002-04-28 05:49:45 +00:00
Chris Lattner
17a4573d21
Use operator << to print modules
...
llvm-svn: 2360
2002-04-28 05:13:45 +00:00
Chris Lattner
10aa1b64bb
Run GCSE as part of gccas.
...
llvm-svn: 2340
2002-04-28 01:00:15 +00:00
Chris Lattner
9f3b15b8fe
Expose new GCSE pass
...
llvm-svn: 2339
2002-04-28 00:48:17 +00:00
Chris Lattner
f998685cd9
s/Method/Function
...
llvm-svn: 2336
2002-04-27 07:27:19 +00:00
Chris Lattner
c8e665431b
* 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
llvm-svn: 2333
2002-04-27 06:56:12 +00:00
Chris Lattner
c065ad850c
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.
llvm-svn: 2303
2002-04-18 19:55:25 +00:00
Chris Lattner
fda0035ec9
* Add the printm pass to allow dumping the entire module after a transformation.
...
* s/Method/Function/
llvm-svn: 2234
2002-04-13 18:32:47 +00:00
Chris Lattner
b86b11a02e
Expose funcresolve pass through opt
...
llvm-svn: 2231
2002-04-12 18:21:13 +00:00
Chris Lattner
c34061fc54
* The cleangcc pass is broken into two parts, we only want to
...
FunctionResolvingPass one.
* We run it *after* the symbol stripping pass so that -strip can be
pipelined with the constant merging pass or something else if desired.
llvm-svn: 2226
2002-04-10 20:37:47 +00:00
Chris Lattner
c4414d4a10
The cleangcc pass is brokeninto two pieces, execute both of them.
...
llvm-svn: 2225
2002-04-10 20:33:32 +00:00
Chris Lattner
4a317367e9
Remove extranous #include
...
llvm-svn: 2183
2002-04-08 22:05:10 +00:00
Chris Lattner
6e39131e01
s/PrintMethodPass/PrintFunctionPass
...
llvm-svn: 2182
2002-04-08 22:05:01 +00:00
Chris Lattner
1e759cb144
Add #includes
...
s/PrintMethodPass/PrintFunctionPass
llvm-svn: 2181
2002-04-08 22:04:24 +00:00
Chris Lattner
2b33d75537
Add support for the gnu ld -s (strip) option
...
llvm-svn: 2157
2002-04-08 05:18:12 +00:00
Chris Lattner
3b08c2f46c
GCCLD actually does transformations to simplify the linked program now.
...
llvm-svn: 2155
2002-04-08 00:14:58 +00:00
Chris Lattner
cd739a66cf
Remove asmwriter library from link line, because the useful contents of it
...
have been incorporated into the vmcore library.
llvm-svn: 2153
2002-04-07 22:35:30 +00:00
Chris Lattner
ef164d438c
Perform debug outputs with ->dump() instead of <<
...
llvm-svn: 2152
2002-04-07 22:34:44 +00:00
Chris Lattner
3c707196ac
use dump method instead of Asm/Writer to do debug printing
...
Rename C to M because C used to be 'Class' and now we are 'Module'
llvm-svn: 2151
2002-04-07 22:34:19 +00:00
Chris Lattner
62b7fd136e
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.
llvm-svn: 2144
2002-04-07 20:49:59 +00:00
Chris Lattner
8c61bc0859
Move the PromoteMemoryToRegister pass to be run _after_ the raise pointer
...
references pass, so it is given the chance to do some good!
llvm-svn: 2089
2002-04-01 19:45:11 +00:00
Chris Lattner
97ca0eacb1
Makefile change for IPO's that use the Datastructure analysis stuff
...
llvm-svn: 2015
2002-03-28 18:10:31 +00:00
Chris Lattner
b9530575ef
Add hook for pool allocation pass
...
llvm-svn: 2013
2002-03-28 18:08:07 +00:00
Chris Lattner
92c3670048
Checking for Cameron
...
llvm-svn: 2011
2002-03-28 17:56:28 +00:00
Cameron Buschardt
9dcd905f71
Rename constructor function for mem2reg pass.
...
llvm-svn: 2008
2002-03-27 23:29:23 +00:00
Chris Lattner
bf03a52b3b
* Add support for DataStructure analysis
...
* Parameterize pass outputting with the printPass template, so analysis
output can optionally take more arguments than just a stream. The
default output mode is just to use operator<< on the analysis.
* Remove CurrentModule hack, in favor of using printPass
* Remove special operator<<'s defined for FindUsedTypes and
FindUnsafePointerTypes, in favor of printPass specializations
* Use std::cout instead of cout
llvm-svn: 1995
2002-03-26 22:43:12 +00:00
Vikram S. Adve
025fdf98b6
Rename pass to DecomposeMultiDimRefs.
...
llvm-svn: 1960
2002-03-24 03:19:54 +00:00
Chris Lattner
30c37c24e8
Add a debugging option to gccas to cause it to not do level raise or anything
...
after it.
llvm-svn: 1934
2002-03-21 21:21:50 +00:00
Chris Lattner
6ba1a5f7d9
Expose dead instruction elimination pass
...
llvm-svn: 1877
2002-03-14 22:36:15 +00:00
Chris Lattner
e697504611
Echo the right tool name on error
...
llvm-svn: 1865
2002-03-12 15:41:36 +00:00
Chris Lattner
0e66f3ec92
Remove runtime library in favor of users linking against real libraries.
...
llvm-svn: 1853
2002-03-11 17:57:13 +00:00
Chris Lattner
6f0d4531ef
* Implement linking to libraries
...
* Pass arguments to program through shell script
llvm-svn: 1851
2002-03-11 17:49:53 +00:00
Chris Lattner
46519418b0
Pull interprocedural analyses out of Analysis library into their own lib
...
llvm-svn: 1827
2002-03-06 18:44:29 +00:00
Chris Lattner
b5ccfe0e32
Don't forget to build gccld!
...
llvm-svn: 1826
2002-03-06 18:05:02 +00:00
Chris Lattner
2498a1763a
Since verifier and SlotCalculator are now in VMCore library, libanalysis is
...
no longer required
llvm-svn: 1823
2002-03-06 17:41:18 +00:00
Chris Lattner
2a0c0c46a2
Pull callgraph out of Cfg namespace
...
llvm-svn: 1822
2002-03-06 17:40:37 +00:00
Chris Lattner
8fdf51f9c0
Change to use new pass accessor functions
...
llvm-svn: 1817
2002-02-26 21:47:29 +00:00
Chris Lattner
04805fa29c
Change over to use new style pass mechanism, now passes only expose small
...
creation functions in their public header file, unless they can help it.
llvm-svn: 1816
2002-02-26 21:46:54 +00:00
Chris Lattner
fc2ab9e216
* 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
llvm-svn: 1813
2002-02-26 21:36:53 +00:00
Chris Lattner
d209550828
Move ProfilePaths class into ProfilePaths library, only expose a creation function
...
llvm-svn: 1812
2002-02-26 20:04:59 +00:00
Anand Shukla
d7291473cf
Includes -paths option to trace paths in the program
...
llvm-svn: 1811
2002-02-26 19:57:59 +00:00
Anand Shukla
4882708cc9
Link in the PathProfiles library
...
llvm-svn: 1800
2002-02-26 18:29:20 +00:00
Chris Lattner
5b46fa248f
Remove hack. This is better fixed in Makefile.common
...
llvm-svn: 1795
2002-02-24 23:25:46 +00:00
Chris Lattner
fcd31f7534
Cleanup to build with GCC 3.0.4
...
llvm-svn: 1794
2002-02-24 23:25:24 +00:00
Chris Lattner
5079e2ea56
Build with newer compiler, with same bug
...
llvm-svn: 1793
2002-02-24 23:11:05 +00:00
Chris Lattner
e48f0452fe
GCC3.0.4 crashes when compiling this. Comment it out for now
...
llvm-svn: 1792
2002-02-24 23:03:37 +00:00
Chris Lattner
c141abf8f2
Genericize the ReversePostOrderIterator.
...
llvm-svn: 1785
2002-02-24 21:48:59 +00:00
Chris Lattner
f608d7f4f4
* Expose the verifier pass as one that can be ran
...
* Force the verifier to run before bytecode is written
llvm-svn: 1783
2002-02-20 17:56:53 +00:00
Chris Lattner
60a6591d83
Method.h no longer includes BasicBlock.h
...
Method::inst_* is now in llvm/Support/InstIterator.h
GraphTraits specializations for BasicBlock and Methods are now in llvm/Support/CFG.h
llvm-svn: 1746
2002-02-12 21:07:25 +00:00
Chris Lattner
e5e23525ec
Enable register promotion pass
...
llvm-svn: 1740
2002-02-12 17:17:33 +00:00
Chris Lattner
a5e627852d
Trim down makefile, again.
...
llvm-svn: 1691
2002-02-04 17:37:25 +00:00
Chris Lattner
47b65a1025
Cut down number of times libraries are included to link a little bit faster
...
llvm-svn: 1678
2002-02-04 06:43:56 +00:00
Chris Lattner
f728637f2e
* Remove -noasm option. If we're not compiling, what's the point?
...
* convert over to pass based target backend. Much cleaner now
llvm-svn: 1665
2002-02-03 23:43:19 +00:00
Chris Lattner
74f0a5b35e
Switch over to a model where we compile each method, emit assembly, then free
...
machineinstr memory before starting on the next method.
llvm-svn: 1659
2002-02-03 07:54:10 +00:00
Chris Lattner
78f1087b01
Catch the parse exception if bad input is provided. Much better than an abort
...
llvm-svn: 1631
2002-02-01 05:09:35 +00:00
Chris Lattner
4db2f2cbce
Add mergereturn pass
...
llvm-svn: 1629
2002-02-01 04:54:11 +00:00
Chris Lattner
d9d0df0281
Add dependency
...
llvm-svn: 1620
2002-01-31 18:33:23 +00:00
Chris Lattner
5c29968725
Fix dependency problem
...
llvm-svn: 1619
2002-01-31 18:33:09 +00:00
Chris Lattner
0716e5f334
Resolve deps
...
llvm-svn: 1615
2002-01-31 15:52:41 +00:00
Chris Lattner
ecd3fae58d
Resolve dependencies
...
llvm-svn: 1614
2002-01-31 15:43:11 +00:00
Chris Lattner
c90d6ba9a2
Convert to use new Pass framework...
...
llvm-svn: 1610
2002-01-31 00:47:12 +00:00
Chris Lattner
7139f2859b
PassManager is now in its own header file
...
MethodPass's now cannot be run on external methods
llvm-svn: 1609
2002-01-31 00:46:45 +00:00
Chris Lattner
ad50ec2f37
PassManager is now in it's own header file
...
llvm-svn: 1608
2002-01-31 00:46:22 +00:00
Chris Lattner
3d61db42bb
Convert analyze over to use new pass framework for its analyses
...
llvm-svn: 1607
2002-01-31 00:46:09 +00:00
Chris Lattner
30b983ab47
Accept, but ignore -lfoo options.
...
llvm-svn: 1585
2002-01-25 03:59:39 +00:00
Chris Lattner
5ff2e0510f
Initial Checkin of gccld
...
llvm-svn: 1578
2002-01-24 19:12:12 +00:00
Chris Lattner
0e11e54d20
In an amazing fit of stupidity, I flipped the conditional and didn't test
...
it right. Sheesh :)
llvm-svn: 1550
2002-01-22 21:07:24 +00:00
Chris Lattner
044b5d90d8
Only run DeadInst elimination early, because it is quick and painless and
...
pipelines well
llvm-svn: 1549
2002-01-22 21:06:44 +00:00
Chris Lattner
3bb02e4797
Misc cleanups. Allocate ofstream statically, and use a pass to write out the bytecode
...
llvm-svn: 1529
2002-01-22 03:30:46 +00:00
Chris Lattner
cad856b6ed
Try again, now it works right
...
llvm-svn: 1526
2002-01-22 02:28:50 +00:00
Chris Lattner
3787ee6be6
Rename LowerAllocations.h to ChangeAllocations.h since it now contains the
...
RaiseAllocations pass as well.
llvm-svn: 1525
2002-01-22 01:04:08 +00:00
Chris Lattner
4267cedfa5
Fix ordering dependency problem
...
llvm-svn: 1524
2002-01-22 01:03:39 +00:00
Chris Lattner
4f0f09757d
Pull RaiseAllocations stuff out of the CleanGCC pass into it's own pass in
...
the ChangeAllocations.h header file.
llvm-svn: 1522
2002-01-22 00:13:51 +00:00
Chris Lattner
ee965abc36
Move stuff out of the Optimizations directories into the appropriate Transforms
...
directories. Eliminate the opt namespace.
llvm-svn: 1520
2002-01-21 23:17:48 +00:00
Chris Lattner
4f32cf118a
Chuck fixed the GCC problems so this hack is now unneccesary
...
llvm-svn: 1519
2002-01-21 23:17:07 +00:00
Chris Lattner
4a75c2b248
Eliminate opt library
...
llvm-svn: 1516
2002-01-21 23:13:46 +00:00
Chris Lattner
c940c536ab
Rename SwapStructureContents -> IPO/SimpleStructMutation
...
Move MutateStructTypes.(cpp|h) -> IPO/MutateStructTypes.(cpp|h)
llvm-svn: 1510
2002-01-21 07:52:35 +00:00
Chris Lattner
0686e435d1
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.
llvm-svn: 1507
2002-01-21 07:31:50 +00:00
Chris Lattner
7f74a56e24
Changes to build successfully with GCC 3.02
...
llvm-svn: 1503
2002-01-20 22:54:45 +00:00
Chris Lattner
4f106568d4
Add instruction combining pass
...
Rename -mergecons to -constmerge
llvm-svn: 1478
2001-12-14 16:50:35 +00:00
Chris Lattner
05377bbe3f
Add more passes to run after raising
...
llvm-svn: 1476
2001-12-14 16:48:30 +00:00
Chris Lattner
403ff802a3
Build runtime library with local GCCAS
...
llvm-svn: 1447
2001-12-13 00:44:23 +00:00
Chris Lattner
fbf1106e2c
Implement strlen strdup strcmp
...
llvm-svn: 1446
2001-12-13 00:44:09 +00:00
Chris Lattner
5053ba9749
Tell the user if a file is corrupt or not... not that the file cannot be
...
found.
llvm-svn: 1433
2001-12-08 20:31:32 +00:00
Chris Lattner
a57615faaa
Run DCE before cleanupGCCoutput which will cause some dead types (like FILE) to be removed
...
llvm-svn: 1429
2001-12-07 04:25:36 +00:00
Chris Lattner
28fef95650
Remove unnecesary namespace impot
...
llvm-svn: 1419
2001-12-05 06:35:30 +00:00
Chris Lattner
0f5a8d4749
Simplify induction variables before 'raising' the representation
...
llvm-svn: 1418
2001-12-05 06:34:58 +00:00
Chris Lattner
27ace6461f
Use new induction variable simplification code with -indvars option
...
llvm-svn: 1410
2001-12-04 04:32:04 +00:00
Chris Lattner
66d9ceaaba
Induction variables must be phi nodes
...
llvm-svn: 1402
2001-12-03 17:27:42 +00:00
Chris Lattner
5de2204fe8
Create a new #include "Support/..." directory structure to move things
...
from "llvm/Support/..." that are not llvm dependant.
Move files and fix #includes
llvm-svn: 1400
2001-11-27 00:03:19 +00:00
Chris Lattner
5af7da01b0
-raise includes constprop and dce
...
llvm-svn: 1397
2001-11-26 19:37:43 +00:00
Chris Lattner
ba5220d4c4
* Add hooks to globaldce
...
* Fix ugly hacks by implementing IPOs correctly
* Use an auto_ptr to manage the module lifecycle
llvm-svn: 1395
2001-11-26 19:22:39 +00:00
Chris Lattner
b9d5c0ebdd
Link to ipo library
...
llvm-svn: 1394
2001-11-26 19:21:02 +00:00
Chris Lattner
921875394f
Fix problem where lli < foo.bc would have argc = 0
...
llvm-svn: 1393
2001-11-26 19:20:38 +00:00