Chris Lattner
1bb5148632
X86 target machine is now parameterizable
...
llvm-svn: 5124
2002-12-23 23:55:01 +00:00
Chris Lattner
2af84f79e3
New files for miscompilation detection
...
llvm-svn: 5120
2002-12-23 23:50:16 +00:00
Chris Lattner
6788e95757
Implement the start of the miscompilation detection stuff
...
llvm-svn: 5119
2002-12-23 23:49:59 +00:00
Brian Gaeke
8f7c7a40c5
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
9a6368cb87
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
3aecb5fcd6
Pass command line arguments to main
...
llvm-svn: 5027
2002-12-13 16:48:57 +00:00
Chris Lattner
ab38002b81
Add statistic
...
llvm-svn: 5026
2002-12-13 15:28:42 +00:00
Misha Brukman
0550d7ead0
Made status output debug-only (for testing diffs against lli).
...
llvm-svn: 5022
2002-12-13 13:15:36 +00:00
Brian Gaeke
641c6fa60a
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
73433b07b9
Implement branches
...
llvm-svn: 4988
2002-12-13 05:40:28 +00:00
Brian Gaeke
9b38597288
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
46aa1be828
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
03e6fa5804
Fix link errors due to new IPModRef pass.
...
llvm-svn: 4960
2002-12-09 05:53:11 +00:00
Vikram S. Adve
4c20f7764d
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
f525e2f95e
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
2c4687b0ed
Only build jello when compiling on X86
...
llvm-svn: 4938
2002-12-06 03:53:40 +00:00
Chris Lattner
a87c79a3fe
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
728e4fbd59
Add support for global value references
...
llvm-svn: 4908
2002-12-04 06:45:40 +00:00
Chris Lattner
9080df6970
Initial checkin of global var support code
...
llvm-svn: 4904
2002-12-04 06:09:04 +00:00
Chris Lattner
b7256f170e
Implement simple global variable support
...
llvm-svn: 4903
2002-12-04 06:04:17 +00:00
Chris Lattner
7a95d4ead1
Implement external function support
...
llvm-svn: 4902
2002-12-04 06:04:07 +00:00
Chris Lattner
34e164bb30
Initial checkin of Unresolved function fault handler
...
llvm-svn: 4900
2002-12-04 05:05:26 +00:00
Chris Lattner
913c44f05d
Implement lazy resolution of function calls
...
llvm-svn: 4899
2002-12-04 04:47:34 +00:00
Chris Lattner
b2fe33ac89
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
e7f81463a5
Disable timing of bytecode loader
...
llvm-svn: 4887
2002-12-03 19:42:26 +00:00
Chris Lattner
3f94a45ff8
Final tweak to printer
...
llvm-svn: 4881
2002-12-03 06:33:30 +00:00
Chris Lattner
d412654b95
Implement trivially simple debugger for MachineCodeEmitter interface
...
llvm-svn: 4880
2002-12-03 06:09:26 +00:00
Chris Lattner
d29ab7a539
Add initial support for machine code emission
...
llvm-svn: 4865
2002-12-02 21:22:04 +00:00
Chris Lattner
85ffbadcce
Build bugpoint
...
llvm-svn: 4790
2002-11-20 22:28:18 +00:00
Chris Lattner
ceba1ddf2f
Initial checkin of bugpoint
...
llvm-svn: 4789
2002-11-20 22:28:10 +00:00
Chris Lattner
adea9960ab
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
0ff016c9e2
Remove extra target.a entry
...
llvm-svn: 4756
2002-11-19 16:59:41 +00:00
Chris Lattner
a91cf7f41b
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
cf72aec30d
Don't build llc symbols by default.
...
llvm-svn: 4565
2002-11-06 16:10:57 +00:00
Chris Lattner
b49552a328
Give passnames to the printer classes
...
llvm-svn: 4559
2002-11-06 06:16:08 +00:00
Chris Lattner
c23b57a60d
No need to explicitly inclue ExportSymbols now
...
llvm-svn: 4543
2002-11-04 20:50:57 +00:00
Chris Lattner
ea5b4334be
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
dd2ab407a6
Disable correlated expressions pass until it is reliable.
...
llvm-svn: 4512
2002-11-03 12:41:50 +00:00
Chris Lattner
517a31e940
Reassociate now works
...
llvm-svn: 4472
2002-10-31 17:13:11 +00:00
Misha Brukman
422964104e
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
52200beb8d
Jello now builds
...
llvm-svn: 4430
2002-10-29 23:41:11 +00:00
Chris Lattner
fcf89885a1
* Privatize the TargetName
...
llvm-svn: 4418
2002-10-29 21:48:33 +00:00
Chris Lattner
eec571dce8
Allow TargetMachine to refuse static code gen
...
llvm-svn: 4415
2002-10-29 21:12:46 +00:00
Chris Lattner
52b4de4ae9
Convert jello to use PassManager
...
llvm-svn: 4414
2002-10-29 21:06:58 +00:00
Chris Lattner
c2a605c3a8
Rename Sparc.h TargetMachineImpls.h
...
llvm-svn: 4409
2002-10-29 20:48:09 +00:00
Chris Lattner
7bfce07f26
* Remove explicit strcmp calls
...
* Rename Sparc.h to TargetMachineImpls.h
llvm-svn: 4406
2002-10-29 20:45:04 +00:00
Chris Lattner
949958a00b
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
82c040cbef
Add codegen library
...
llvm-svn: 4305
2002-10-28 00:54:59 +00:00
Chris Lattner
1f66b56dc7
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
3c20672e56
Added datastructure library to resolve link error.
...
llvm-svn: 4279
2002-10-25 21:17:34 +00:00
Chris Lattner
7c270463f1
* 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
3a13076188
- 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
1a1a1002c4
Avoid making external global variables internal
...
llvm-svn: 4059
2002-10-07 18:33:53 +00:00
Chris Lattner
6eae53f5b1
- 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
b6ec3ac95d
Temporary change to make datastructure stuff link in right
...
llvm-svn: 4005
2002-10-01 22:41:01 +00:00
Chris Lattner
4b838cd6b5
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
2ccb52142f
Make sure to close the file before deleting it
...
llvm-svn: 3905
2002-09-24 00:09:48 +00:00
Chris Lattner
d01dffe97f
* 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
40f70117b4
Renamed library preselect to preopts.
...
llvm-svn: 3841
2002-09-20 00:43:20 +00:00
Chris Lattner
2d1235521b
Minor non-functionality changing changes.
...
llvm-svn: 3833
2002-09-19 20:48:48 +00:00
Chris Lattner
1740f763c0
Indent a comment right, add a new one
...
llvm-svn: 3819
2002-09-19 16:06:28 +00:00
Chris Lattner
3bedbd7335
Avoid deleting the ostream more than once.
...
llvm-svn: 3816
2002-09-18 23:30:05 +00:00
Vikram S. Adve
9fb62d3829
KEEP_SYMBOLS by default.
...
llvm-svn: 3813
2002-09-18 11:55:44 +00:00
Chris Lattner
ee9b6ce5c7
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
c3d678fff5
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
7e0b697190
Enable correct support for dynamic loading on Linux
...
llvm-svn: 3780
2002-09-17 20:40:24 +00:00
Chris Lattner
407bb6721a
Enable correct support for dynamic loading on Linux
...
llvm-svn: 3779
2002-09-17 20:40:22 +00:00
Vikram S. Adve
b676027e03
Remove duplicate sparc entry.
...
llvm-svn: 3762
2002-09-16 18:28:27 +00:00
Vikram S. Adve
e37bea3d64
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
d2ba65e35d
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
c1a58ef078
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
07923983c9
Add support for optimization passes that use a TargetMachine object.
...
llvm-svn: 3752
2002-09-16 16:09:43 +00:00
Misha Brukman
2e598f0092
Function.h is unnecessary when Module.h is included.
...
llvm-svn: 3716
2002-09-14 03:04:02 +00:00
Chris Lattner
7fa7135b32
Export symbols for linux
...
llvm-svn: 3707
2002-09-13 22:20:19 +00:00
Chris Lattner
29714643f9
* 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
b144f8996b
- 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
d8455b6f58
Get FindUsedTypes pass
...
llvm-svn: 3559
2002-08-31 00:29:36 +00:00
Chris Lattner
f647b9b608
- 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
2fb4346706
- 'analyze' and 'as' now explicitly verify input because AsmParser doesn't.
...
llvm-svn: 3552
2002-08-30 22:54:41 +00:00
Chris Lattner
f68ff7f172
- 'analyze' and 'as' now explicitly verify input because AsmParser doesn't.
...
llvm-svn: 3551
2002-08-30 22:54:37 +00:00
Chris Lattner
838248b35a
- Eliminate the last traces of the 'analysis' namespace
...
llvm-svn: 3550
2002-08-30 22:53:53 +00:00
Chris Lattner
1ee5d270ec
Link to analysis.o not analysis.a
...
llvm-svn: 3537
2002-08-30 20:25:41 +00:00
Chris Lattner
68ccf7d7ea
- GCCAS now uses load value #ing for GCSE
...
llvm-svn: 3536
2002-08-30 20:25:25 +00:00
Chris Lattner
dd03802354
New datastructure analysis correctly uses TargetData
...
llvm-svn: 3525
2002-08-29 20:10:29 +00:00
Anand Shukla
a0cc5490b9
Added mapping lib in llc makefile
...
llvm-svn: 3514
2002-08-27 16:46:11 +00:00
Chris Lattner
2c263e2ec7
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
74b04d95d7
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
38e64fffd9
Do not leak memory for passes when using -stopAfterNPasses or -stopraise
...
llvm-svn: 3371
2002-08-17 22:40:03 +00:00
Chris Lattner
f91e0dc64d
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
a21e315db4
- 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
7a0e7379bb
Only include the sparc.o file once!
...
llvm-svn: 3257
2002-08-07 19:42:34 +00:00
Chris Lattner
f0389c0e0b
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
15ef3929ae
Changes to be GCC3.1 friendly
...
llvm-svn: 3187
2002-07-31 19:32:14 +00:00
Chris Lattner
0e8dd86318
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
a693390c2e
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
ea9f0c3c4e
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
2223ccb697
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
c952f6070f
Remove extraneous #includes
...
llvm-svn: 3162
2002-07-30 19:33:19 +00:00
Chris Lattner
1c49ae55b9
Use a module analysis
...
llvm-svn: 3133
2002-07-29 23:02:25 +00:00
Chris Lattner
4ff6f3bf84
Seperate analysis wrapper stuff to AnalysisWrappers.cpp
...
llvm-svn: 3127
2002-07-29 21:24:10 +00:00
Chris Lattner
2a4b8f337a
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
7eae7a24e5
Factor PassNamePArser out into llvm/Support/PassNameParser.h
...
llvm-svn: 3109
2002-07-26 21:09:32 +00:00
Chris Lattner
ec1a192b16
*** empty log message ***
...
llvm-svn: 3105
2002-07-26 18:40:14 +00:00
Chris Lattner
cd9bd16847
Namespace correctness is good
...
llvm-svn: 3088
2002-07-25 16:39:56 +00:00
Chris Lattner
9099afeef5
*** empty log message ***
...
llvm-svn: 3087
2002-07-25 16:31:09 +00:00
Chris Lattner
aa37e1ed8c
Be more namespace correct
...
llvm-svn: 3086
2002-07-25 16:31:01 +00:00
Chris Lattner
2d7eb28490
REmove extra blank lines
...
llvm-svn: 3084
2002-07-25 15:40:38 +00:00
Chris Lattner
0ccf5689e3
*** empty log message ***
...
llvm-svn: 3077
2002-07-25 15:00:45 +00:00
Chris Lattner
b67e0533b7
*** empty log message ***
...
llvm-svn: 3044
2002-07-24 17:12:08 +00:00
Chris Lattner
5b4d1e6d6c
*** empty log message ***
...
llvm-svn: 3040
2002-07-23 22:04:43 +00:00
Chris Lattner
147eb0032c
Minor changes due to code juggled around
...
llvm-svn: 3039
2002-07-23 22:04:40 +00:00
Chris Lattner
5bd9f0689a
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
4c4f02c2f1
Raise pass requires an explicit TargetData member now.
...
llvm-svn: 3020
2002-07-23 18:09:58 +00:00
Chris Lattner
24bcbdd155
*** empty log message ***
...
llvm-svn: 3002
2002-07-23 17:52:38 +00:00
Chris Lattner
a1ecec3732
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
8e5f24eaef
Fix synopsis
...
llvm-svn: 2988
2002-07-22 02:18:09 +00:00
Chris Lattner
181438746b
Add description to Enum options.
...
llvm-svn: 2987
2002-07-22 02:18:00 +00:00
Chris Lattner
99ad379582
*** empty log message ***
...
llvm-svn: 2985
2002-07-22 02:10:13 +00:00
Chris Lattner
d296fe8b1c
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
5315c60ec7
Add support for bottom up closure of ds analysis
...
llvm-svn: 2963
2002-07-18 06:40:56 +00:00
Anand Shukla
c599f5fc93
Removed emitfuncs: now its part of instrument library
...
llvm-svn: 2929
2002-07-16 18:59:55 +00:00
Anand Shukla
65c5ac077e
added emitfuncs pass, and disabled reassociate pass (needs fixing)
...
llvm-svn: 2885
2002-07-12 20:14:27 +00:00
Anand Shukla
627b2be36a
Added emitfuncs pass
...
llvm-svn: 2884
2002-07-12 20:12:59 +00:00
Chris Lattner
58fce6cc00
Rename DataStructure to LocalDataStructures
...
llvm-svn: 2873
2002-07-10 22:42:53 +00:00
Vikram S. Adve
391040c398
Disabling reassociate pass until it is fixed.
...
llvm-svn: 2849
2002-07-09 19:53:09 +00:00
Chris Lattner
a590093513
*** empty log message ***
...
llvm-svn: 2813
2002-06-30 16:25:25 +00:00
Chris Lattner
63f4011a0c
Clean up anands patch
...
llvm-svn: 2812
2002-06-30 16:25:21 +00:00
Chris Lattner
858f3734a1
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
a5eae315e5
YEs, we really do want to sort.
...
llvm-svn: 2810
2002-06-30 16:20:02 +00:00
Chris Lattner
5e960b5301
Yes, we REALLY DO want to run the reassociate pass.
...
llvm-svn: 2809
2002-06-30 16:19:14 +00:00
Anand Shukla
c28bf298bb
Changes for 64bit gcc
...
llvm-svn: 2799
2002-06-25 21:57:48 +00:00
Anand Shukla
e367d62058
correcting makefile: incorrectly checked in wrong version earlier
...
llvm-svn: 2798
2002-06-25 21:44:44 +00:00
Anand Shukla
fedef1a043
Changes for 64bit gcc
...
llvm-svn: 2797
2002-06-25 21:43:28 +00:00
Chris Lattner
dfd421a7df
MEGAPATCH checkin.
...
For details, See: docs/2002-06-25-MegaPatchInfo.txt
llvm-svn: 2779
2002-06-25 16:13:24 +00:00
Chris Lattner
d7cbd7d5d2
MEGAPATCH checkin.
...
For details, See: docs/2002-06-25-MegaPatchInfo.txt
llvm-svn: 2778
2002-06-25 16:13:21 +00:00
Chris Lattner
801f0d73ed
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
18b62a13b3
Checkin descriptive note
...
llvm-svn: 2765
2002-06-24 16:49:55 +00:00
Chris Lattner
6011ff85b4
No need to run dce with adce right behind!
...
llvm-svn: 2738
2002-05-23 19:27:50 +00:00
Chris Lattner
8fab67dc39
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
28ff22021a
Add the ADCE pass to gccas finally!
...
llvm-svn: 2719
2002-05-22 21:30:24 +00:00
Chris Lattner
d7932ecdd3
Build the extract utility
...
llvm-svn: 2717
2002-05-22 20:27:15 +00:00
Chris Lattner
62a228fcb7
Initial checkin of the "extract" utility
...
llvm-svn: 2716
2002-05-22 20:27:00 +00:00
Chris Lattner
35c3842eb5
Expose cfg simplification pass
...
llvm-svn: 2699
2002-05-21 20:05:16 +00:00
Chris Lattner
d5eb6515a1
Simplify CFG after code generation is done
...
llvm-svn: 2698
2002-05-21 20:05:08 +00:00
Chris Lattner
6b2ba36c18
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
7563f3d1fb
Remove tracing code hack
...
llvm-svn: 2673
2002-05-20 21:16:46 +00:00
Chris Lattner
58c7d2372e
Use literal newline instead of endl
...
llvm-svn: 2668
2002-05-20 19:49:24 +00:00
Chris Lattner
397f44cf06
Drop something that link will never support, use gccld instead
...
llvm-svn: 2667
2002-05-20 19:48:55 +00:00
Vikram S. Adve
4a1f943958
Add libsparc.a a second time to resolve link errors.
...
llvm-svn: 2661
2002-05-19 16:01:03 +00:00
Vikram S. Adve
db5bc3b4a2
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
e8c237b1ce
Run another local value numbering phase after redundancy elimination
...
llvm-svn: 2625
2002-05-14 16:23:14 +00:00
Chris Lattner
b04d5ecc11
expose LICM pass
...
llvm-svn: 2614
2002-05-10 22:44:37 +00:00
Chris Lattner
97b501879c
Add LICM pass to compiler
...
llvm-svn: 2613
2002-05-10 22:44:31 +00:00
Chris Lattner
24656ee8e4
Expose the lowerallocs pass
...
llvm-svn: 2602
2002-05-10 15:43:07 +00:00
Chris Lattner
25ae3ddf64
Expose the pi node insertion pass.
...
llvm-svn: 2594
2002-05-10 05:41:49 +00:00
Chris Lattner
c95479a283
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
0c171e22a8
Expose expression reassociation
...
llvm-svn: 2557
2002-05-08 22:18:34 +00:00
Chris Lattner
fd2ecfc2a5
Run expression reassociation as part of gccas
...
llvm-svn: 2556
2002-05-08 22:18:20 +00:00
Sumant Kowshik
64cf4b95c9
*** empty log message ***
...
llvm-svn: 2552
2002-05-08 18:09:58 +00:00
Chris Lattner
07a6a20a96
Spell aggressive correctly
...
llvm-svn: 2551
2002-05-07 22:15:01 +00:00
Chris Lattner
466c66f47a
Merge all include/llvm/Transforms/Scalar/* into a single Scalar.h
...
llvm-svn: 2538
2002-05-07 20:03:27 +00:00
Chris Lattner
5cae7abf34
Fix makefiles after shuffling passes around the libraries
...
llvm-svn: 2532
2002-05-07 19:27:33 +00:00
Chris Lattner
f7806b0212
Move UnifyFunctionExitNodes to Utils library: final resting place this time
...
llvm-svn: 2531
2002-05-07 19:18:48 +00:00
Chris Lattner
e17a86e8a2
Oops, somehow lost a slash. Fixed
...
llvm-svn: 2524
2002-05-07 18:39:52 +00:00
Chris Lattner
9e1c79995e
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
cb8c2d31c2
Straighten out makefiles after moving code to new Transform Utils library
...
llvm-svn: 2520
2002-05-07 18:18:26 +00:00
Chris Lattner
ee7b1b29a9
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
6ba1c2d113
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
0ba1f2e45f
Run DCE AFTER SCCP and GCSE!
...
llvm-svn: 2476
2002-05-06 03:04:17 +00:00
Chris Lattner
453a66845a
Remove unneccesary pass.
...
llvm-svn: 2421
2002-04-30 20:53:05 +00:00
Chris Lattner
3b2084a357
These aren't tools
...
llvm-svn: 2412
2002-04-29 20:29:30 +00:00
Chris Lattner
9cbf621bb5
Move constant merging pass earlier
...
Include the SCCP pass in gccas
llvm-svn: 2410
2002-04-29 20:11:38 +00:00
Chris Lattner
9689364fee
Remove InstForest from analysis namespace
...
llvm-svn: 2401
2002-04-29 18:13:31 +00:00
Chris Lattner
96e0c48175
Eliminate duplicate or unneccesary #include's
...
llvm-svn: 2397
2002-04-29 17:42:12 +00:00
Chris Lattner
589debc4ba
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
119fd9172e
Rename functions to be more consistend with other pass constructors
...
llvm-svn: 2388
2002-04-28 21:45:36 +00:00
Chris Lattner
ec70d92221
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
d17fdd5494
Eliminate the cfg namespace
...
llvm-svn: 2371
2002-04-28 16:21:53 +00:00
Chris Lattner
d5c0eb722e
Expose the internalize pass.
...
llvm-svn: 2365
2002-04-28 05:49:53 +00:00
Chris Lattner
55a350ffa8
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
7c02462361
Use operator << to print modules
...
llvm-svn: 2360
2002-04-28 05:13:45 +00:00
Chris Lattner
f5cc80a3cb
Run GCSE as part of gccas.
...
llvm-svn: 2340
2002-04-28 01:00:15 +00:00
Chris Lattner
c8022bc84b
Expose new GCSE pass
...
llvm-svn: 2339
2002-04-28 00:48:17 +00:00
Chris Lattner
2f0ee1833d
s/Method/Function
...
llvm-svn: 2336
2002-04-27 07:27:19 +00:00
Chris Lattner
536cf1b13f
* 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
ded2679ed0
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
04c7eda945
* 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
7b28f092cb
Expose funcresolve pass through opt
...
llvm-svn: 2231
2002-04-12 18:21:13 +00:00
Chris Lattner
b78ee9705b
* 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
d69c7543b9
The cleangcc pass is brokeninto two pieces, execute both of them.
...
llvm-svn: 2225
2002-04-10 20:33:32 +00:00
Chris Lattner
ba71c8f7e1
Remove extranous #include
...
llvm-svn: 2183
2002-04-08 22:05:10 +00:00
Chris Lattner
53b18fe247
s/PrintMethodPass/PrintFunctionPass
...
llvm-svn: 2182
2002-04-08 22:05:01 +00:00
Chris Lattner
71b2140b94
Add #includes
...
s/PrintMethodPass/PrintFunctionPass
llvm-svn: 2181
2002-04-08 22:04:24 +00:00
Chris Lattner
4522bc2f02
Add support for the gnu ld -s (strip) option
...
llvm-svn: 2157
2002-04-08 05:18:12 +00:00
Chris Lattner
0c23bfd2d8
GCCLD actually does transformations to simplify the linked program now.
...
llvm-svn: 2155
2002-04-08 00:14:58 +00:00
Chris Lattner
8b16900b1b
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
471c717f9e
Perform debug outputs with ->dump() instead of <<
...
llvm-svn: 2152
2002-04-07 22:34:44 +00:00
Chris Lattner
d61440d34f
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
bc15ae64dd
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
dc6c89b725
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
362aa65cca
Makefile change for IPO's that use the Datastructure analysis stuff
...
llvm-svn: 2015
2002-03-28 18:10:31 +00:00
Chris Lattner
73edb721e8
Add hook for pool allocation pass
...
llvm-svn: 2013
2002-03-28 18:08:07 +00:00
Chris Lattner
6e01190339
Checking for Cameron
...
llvm-svn: 2011
2002-03-28 17:56:28 +00:00
Cameron Buschardt
788a1aaab0
Rename constructor function for mem2reg pass.
...
llvm-svn: 2008
2002-03-27 23:29:23 +00:00
Chris Lattner
d425cc5987
* 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
1231c34e04
Rename pass to DecomposeMultiDimRefs.
...
llvm-svn: 1960
2002-03-24 03:19:54 +00:00
Chris Lattner
42439b8827
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
9036b8c899
Expose dead instruction elimination pass
...
llvm-svn: 1877
2002-03-14 22:36:15 +00:00
Chris Lattner
6a2a2e40f3
Echo the right tool name on error
...
llvm-svn: 1865
2002-03-12 15:41:36 +00:00
Chris Lattner
558efd4bf0
Remove runtime library in favor of users linking against real libraries.
...
llvm-svn: 1853
2002-03-11 17:57:13 +00:00
Chris Lattner
4489946ab0
* Implement linking to libraries
...
* Pass arguments to program through shell script
llvm-svn: 1851
2002-03-11 17:49:53 +00:00
Chris Lattner
cc1fa55c61
Pull interprocedural analyses out of Analysis library into their own lib
...
llvm-svn: 1827
2002-03-06 18:44:29 +00:00
Chris Lattner
06711c728d
Don't forget to build gccld!
...
llvm-svn: 1826
2002-03-06 18:05:02 +00:00
Chris Lattner
319dec9cea
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
0c342ec032
Pull callgraph out of Cfg namespace
...
llvm-svn: 1822
2002-03-06 17:40:37 +00:00
Chris Lattner
9287e88e26
Change to use new pass accessor functions
...
llvm-svn: 1817
2002-02-26 21:47:29 +00:00
Chris Lattner
e2383e8592
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
5e721a352c
* 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
1b9b843452
Move ProfilePaths class into ProfilePaths library, only expose a creation function
...
llvm-svn: 1812
2002-02-26 20:04:59 +00:00
Anand Shukla
19d77241bc
Includes -paths option to trace paths in the program
...
llvm-svn: 1811
2002-02-26 19:57:59 +00:00
Anand Shukla
209b88c6fc
Link in the PathProfiles library
...
llvm-svn: 1800
2002-02-26 18:29:20 +00:00
Chris Lattner
44d96e69f4
Remove hack. This is better fixed in Makefile.common
...
llvm-svn: 1795
2002-02-24 23:25:46 +00:00
Chris Lattner
98aa08c950
Cleanup to build with GCC 3.0.4
...
llvm-svn: 1794
2002-02-24 23:25:24 +00:00
Chris Lattner
dcdf0532ff
Build with newer compiler, with same bug
...
llvm-svn: 1793
2002-02-24 23:11:05 +00:00
Chris Lattner
a3ec3f6fd0
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
5ece03aed8
Genericize the ReversePostOrderIterator.
...
llvm-svn: 1785
2002-02-24 21:48:59 +00:00
Chris Lattner
3b17492321
* 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
b0a2c5546b
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
589decaa98
Enable register promotion pass
...
llvm-svn: 1740
2002-02-12 17:17:33 +00:00
Chris Lattner
fbe7890cc4
Trim down makefile, again.
...
llvm-svn: 1691
2002-02-04 17:37:25 +00:00
Chris Lattner
32703676f4
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
4e02006161
* 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
ed11b34f8d
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
bfdc4a546a
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
d4cdf2337a
Add mergereturn pass
...
llvm-svn: 1629
2002-02-01 04:54:11 +00:00
Chris Lattner
5786d62ec7
Add dependency
...
llvm-svn: 1620
2002-01-31 18:33:23 +00:00
Chris Lattner
c03f994e04
Fix dependency problem
...
llvm-svn: 1619
2002-01-31 18:33:09 +00:00
Chris Lattner
15709802b8
Resolve deps
...
llvm-svn: 1615
2002-01-31 15:52:41 +00:00
Chris Lattner
f03244d976
Resolve dependencies
...
llvm-svn: 1614
2002-01-31 15:43:11 +00:00
Chris Lattner
88bd8acf90
Convert to use new Pass framework...
...
llvm-svn: 1610
2002-01-31 00:47:12 +00:00
Chris Lattner
70f03681e8
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
5e70addcea
PassManager is now in it's own header file
...
llvm-svn: 1608
2002-01-31 00:46:22 +00:00
Chris Lattner
525a04cef7
Convert analyze over to use new pass framework for its analyses
...
llvm-svn: 1607
2002-01-31 00:46:09 +00:00
Chris Lattner
eb93690918
Accept, but ignore -lfoo options.
...
llvm-svn: 1585
2002-01-25 03:59:39 +00:00
Chris Lattner
51e409d5ce
Initial Checkin of gccld
...
llvm-svn: 1578
2002-01-24 19:12:12 +00:00
Chris Lattner
d4ebfa46da
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
bf0c3377fd
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
fd5a4f7123
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
819df41a64
Try again, now it works right
...
llvm-svn: 1526
2002-01-22 02:28:50 +00:00
Chris Lattner
4cecd63a42
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
d3a94cc67a
Fix ordering dependency problem
...
llvm-svn: 1524
2002-01-22 01:03:39 +00:00
Chris Lattner
83056c99ec
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
4454cdc5c0
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
071f08916e
Chuck fixed the GCC problems so this hack is now unneccesary
...
llvm-svn: 1519
2002-01-21 23:17:07 +00:00
Chris Lattner
10a9b7627d
Eliminate opt library
...
llvm-svn: 1516
2002-01-21 23:13:46 +00:00
Chris Lattner
bbb4dcdcd1
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
2521ae1011
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
3dc9a2a61f
Changes to build successfully with GCC 3.02
...
llvm-svn: 1503
2002-01-20 22:54:45 +00:00
Chris Lattner
085560caa2
Add instruction combining pass
...
Rename -mergecons to -constmerge
llvm-svn: 1478
2001-12-14 16:50:35 +00:00
Chris Lattner
e6523ce62b
Add more passes to run after raising
...
llvm-svn: 1476
2001-12-14 16:48:30 +00:00
Chris Lattner
eed30bc7da
Build runtime library with local GCCAS
...
llvm-svn: 1447
2001-12-13 00:44:23 +00:00
Chris Lattner
c513c2ef29
Implement strlen strdup strcmp
...
llvm-svn: 1446
2001-12-13 00:44:09 +00:00
Chris Lattner
b0b2af33c7
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
6d97b3a7be
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
447d8fd004
Remove unnecesary namespace impot
...
llvm-svn: 1419
2001-12-05 06:35:30 +00:00
Chris Lattner
b1aa7e795d
Simplify induction variables before 'raising' the representation
...
llvm-svn: 1418
2001-12-05 06:34:58 +00:00
Chris Lattner
f2e6a6be44
Use new induction variable simplification code with -indvars option
...
llvm-svn: 1410
2001-12-04 04:32:04 +00:00
Chris Lattner
a302c202ab
Induction variables must be phi nodes
...
llvm-svn: 1402
2001-12-03 17:27:42 +00:00
Chris Lattner
463cc31132
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
9da08d6abf
-raise includes constprop and dce
...
llvm-svn: 1397
2001-11-26 19:37:43 +00:00
Chris Lattner
cc821cf542
* 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
a148c8ca93
Link to ipo library
...
llvm-svn: 1394
2001-11-26 19:21:02 +00:00
Chris Lattner
2b12cae948
Fix problem where lli < foo.bc would have argc = 0
...
llvm-svn: 1393
2001-11-26 19:20:38 +00:00
Chris Lattner
9588b188db
Add support to enable -lfoo to be processed correctly
...
llvm-svn: 1390
2001-11-26 19:18:30 +00:00
Chris Lattner
b0bd512e44
Add hooks to print natural loop information and induction variables
...
llvm-svn: 1389
2001-11-26 19:18:11 +00:00
Chris Lattner
195bbf88ba
Change swapstructs itf
...
Add nasty hack to be removed later
llvm-svn: 1356
2001-11-26 18:18:53 +00:00
Chris Lattner
e0ca60fc70
Run constprop before -raise
...
llvm-svn: 1354
2001-11-26 18:16:07 +00:00
Chris Lattner
5908013cfc
Fix link prob
...
llvm-svn: 1297
2001-11-14 11:03:17 +00:00
Chris Lattner
6f00b04246
Add hooks to call the new swap structcontents pass
...
llvm-svn: 1243
2001-11-10 07:16:10 +00:00
Chris Lattner
c9486bac28
add Yet Another Instance of a Static Library
...
llvm-svn: 1242
2001-11-10 07:15:53 +00:00
Chris Lattner
3659e104ec
Add hooks for the FindUsedTypes pass
...
llvm-svn: 1233
2001-11-09 05:27:34 +00:00
Chris Lattner
821d1b8d30
Add analysis pass.
...
llvm-svn: 1182
2001-11-07 21:16:29 +00:00
Chris Lattner
943810898d
Move the Raise xform from opt to transforms
...
llvm-svn: 1072
2001-11-01 02:41:09 +00:00
Chris Lattner
81a5b6edbf
crunch the output of GCC a bit to make it nicer
...
llvm-svn: 1068
2001-10-31 06:36:48 +00:00
Chris Lattner
0db277e65e
Fix dumb copy and paste typos
...
llvm-svn: 1063
2001-10-31 04:33:33 +00:00
Chris Lattner
882675498b
Add hook for GCC cleanup pass
...
llvm-svn: 1060
2001-10-31 04:29:44 +00:00
Chris Lattner
a2ae364718
Build new gccas tool
...
llvm-svn: 1059
2001-10-31 04:29:30 +00:00
Chris Lattner
4506f72080
Initial checkin of GCCAS
...
llvm-svn: 1058
2001-10-31 04:28:11 +00:00
Chris Lattner
396a23cffb
Implement memset memcpy, calloc
...
llvm-svn: 1055
2001-10-30 22:37:01 +00:00
Chris Lattner
b02a9d8ce4
Initialize map for purify
...
llvm-svn: 1049
2001-10-30 20:28:46 +00:00
Chris Lattner
fbbdca242a
I screwed up the macros, so of course strtol didn't work. *sigh*
...
llvm-svn: 1035
2001-10-29 17:47:10 +00:00
Chris Lattner
067667b61e
Oops, accidentally broke reading from stdin when doing command line arguments
...
llvm-svn: 1026
2001-10-29 14:00:48 +00:00
Chris Lattner
52736dc8e3
Implement a -trace command line option and a trace option in the interpreter.
...
llvm-svn: 989
2001-10-27 08:43:52 +00:00
Chris Lattner
9def26ab6b
* Make pointer values work better by treating them uniformly as 64 bit values.
...
This causes code that is generated by gcc to work better.
* Implement mul & div
* Export malloc, free, and pow
* add strtol, atoi, and atol to the runtime library
llvm-svn: 988
2001-10-27 08:28:11 +00:00
Chris Lattner
de2726ed00
Provide argv for commands
...
llvm-svn: 987
2001-10-27 05:54:31 +00:00
Chris Lattner
e04a4efa13
* Implement exit() builtin function
...
* Implement linked in runtime library with puts(char*) in it
* implement builtin putchar(int) function
llvm-svn: 985
2001-10-27 04:15:57 +00:00
Chris Lattner
fc68c300ce
Add support for building a runtime library for LLI
...
llvm-svn: 983
2001-10-24 19:52:41 +00:00
Chris Lattner
b75ed5de9d
Implement a -L command line argument to specify a search path. Implement minimal ar compatibility stuff
...
llvm-svn: 975
2001-10-24 06:23:00 +00:00
Chris Lattner
7ec504f5dc
Changes to get some meaningful feedback from the bytecode reader. At some point this stuff should all be exception driven, but for now it is not.
...
llvm-svn: 970
2001-10-24 01:15:12 +00:00
Chris Lattner
aa8d1c9987
Add '-v' option to enable verbose output from the linker
...
llvm-svn: 966
2001-10-23 20:44:55 +00:00
Chris Lattner
1c682e89db
Fix to reference the right header
...
llvm-svn: 915
2001-10-19 15:39:14 +00:00
Chris Lattner
127fa2e39d
Enhancements to pass argc & argv to main if required
...
llvm-svn: 909
2001-10-18 21:55:32 +00:00
Chris Lattner
3b77672a36
Remove unneccesary retcode var
...
llvm-svn: 905
2001-10-18 20:33:21 +00:00
Chris Lattner
80630ae4ed
Refactor Assembly/Bytecode writer code into Assembly & bytecode libraries
...
llvm-svn: 904
2001-10-18 20:32:07 +00:00
Chris Lattner
8195375b7d
Expose more xforms to the opt utility
...
llvm-svn: 900
2001-10-18 20:06:45 +00:00
Chris Lattner
a5d14f7a24
Bytecode writer is yanked out of Module printer
...
llvm-svn: 899
2001-10-18 20:06:31 +00:00
Vikram S. Adve
a70aaaf07a
Move malloc/free lowering after tracing until lli supports
...
calls to external malloc/free functions.
llvm-svn: 893
2001-10-18 18:20:20 +00:00
Chris Lattner
236f063966
Only output code if file open is successful
...
llvm-svn: 890
2001-10-18 17:07:22 +00:00
Vikram S. Adve
6c1fee9a85
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.
llvm-svn: 889
2001-10-18 13:51:20 +00:00
Chris Lattner
3b8499c02a
Use the standard header not the old one
...
llvm-svn: 886
2001-10-18 06:13:08 +00:00
Chris Lattner
b3e1e7eae0
Add support to insert trace code as an "optimization"
...
llvm-svn: 884
2001-10-18 06:05:15 +00:00
Chris Lattner
0a383effcc
Convert to new simpler, more powerful pass structure
...
llvm-svn: 882
2001-10-18 05:28:44 +00:00
Chris Lattner
8081f23a2d
* Passes return true if they change something, not if they fail
...
* Convert opt to use Pass's and convert optimizations to pass structure
llvm-svn: 870
2001-10-18 01:31:43 +00:00
Chris Lattner
2322c8bab6
Passes return true if they change something, not if they fail
...
llvm-svn: 869
2001-10-18 01:31:22 +00:00
Chris Lattner
463b90cb78
ConcretePass should not be a templated class!
...
llvm-svn: 838
2001-10-15 17:47:13 +00:00
Chris Lattner
902a7235a7
Minor cleanups
...
llvm-svn: 837
2001-10-15 17:41:24 +00:00
Chris Lattner
c8af2adc9f
Use the new Pass infrastructure to clean up llc
...
llvm-svn: 835
2001-10-15 17:30:47 +00:00
Chris Lattner
971a585f77
Add library
...
llvm-svn: 827
2001-10-15 15:55:15 +00:00
Chris Lattner
a68fff6614
Minor code cleanups
...
llvm-svn: 825
2001-10-15 13:47:13 +00:00
Chris Lattner
af1d77e07c
Implement global variables. Struct and Pointer initializers are not implemented yet though
...
llvm-svn: 818
2001-10-15 05:51:48 +00:00
Vikram S. Adve
dc3f0d62c7
*** empty log message ***
...
llvm-svn: 811
2001-10-14 23:29:28 +00:00
Chris Lattner
ff0aa0fb39
Add a new -d argument to dump the internal rep as assembly.
...
llvm-svn: 804
2001-10-14 23:23:33 +00:00
Chris Lattner
96e32057bc
MethodTypes take an explicit isVarArg argument
...
llvm-svn: 782
2001-10-13 07:07:28 +00:00
Chris Lattner
98615da75e
Fix comment flyer
...
llvm-svn: 781
2001-10-13 07:06:57 +00:00
Chris Lattner
9ceec4152d
Add new linker
...
llvm-svn: 780
2001-10-13 07:06:23 +00:00
Chris Lattner
38eaf883e9
Build the new linker
...
llvm-svn: 779
2001-10-13 07:06:06 +00:00
Vikram S. Adve
7449b96c4c
Repeat some libs due to circular dependences between Sparc and other
...
code gen libraries.
llvm-svn: 722
2001-10-10 20:58:57 +00:00
Chris Lattner
7a83259579
Add hack to get rid of malloc & free instructions for code generation
...
llvm-svn: 713
2001-10-04 01:40:53 +00:00
Chris Lattner
9b45b18404
Pull iterators out of CFG.h and CFGdecls and put them in Support directory
...
llvm-svn: 664
2001-09-28 22:56:31 +00:00
Chris Lattner
58938f465f
Add support to print a call graph, and also add support for module level interprocedural analyses
...
llvm-svn: 659
2001-09-28 00:07:36 +00:00
Chris Lattner
43647563f5
Add proper support to send output to the right place
...
llvm-svn: 649
2001-09-19 16:52:09 +00:00
Chris Lattner
d5ca24e73e
Emit assembly language from the target...
...
llvm-svn: 640
2001-09-19 13:56:47 +00:00
Chris Lattner
b28fb4bcf5
C++ gives us auto_ptr's, so we might as well use them. :)
...
llvm-svn: 629
2001-09-18 17:04:18 +00:00
Vikram S. Adve
ee361e80bc
Minor changes.
...
llvm-svn: 622
2001-09-18 13:10:45 +00:00
Ruchira Sasanka
474b31bae5
Added regalloc
...
llvm-svn: 584
2001-09-15 00:28:37 +00:00
Chris Lattner
fa4a5998cd
Oops, accidentally checked my debugging makefile
...
llvm-svn: 583
2001-09-14 23:21:08 +00:00
Chris Lattner
a0a3946882
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
llvm-svn: 566
2001-09-14 05:34:53 +00:00
Chris Lattner
7e70cdb641
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.
llvm-svn: 565
2001-09-14 04:32:55 +00:00
Chris Lattner
3e2a85a0e3
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.
llvm-svn: 559
2001-09-14 03:37:52 +00:00
Chris Lattner
90029607e5
Export the instruction forest support from the analysis library
...
llvm-svn: 556
2001-09-14 01:42:42 +00:00
Chris Lattner
34c9e1a6fb
Genericize support for calling functions a bit
...
Add external method support
llvm-svn: 528
2001-09-10 04:49:44 +00:00
Chris Lattner
9707ae0cac
iFix dependence order
...
llvm-svn: 517
2001-09-09 21:03:12 +00:00
Chris Lattner
82cfdefa2e
Remove extraneous space
...
llvm-svn: 509
2001-09-09 19:35:33 +00:00
Chris Lattner
5e9c4e67c2
Make use of the new TOOLNAME/USEDLIBS options provided in Makefile.common
...
llvm-svn: 501
2001-09-07 22:59:25 +00:00
Chris Lattner
6e3c622650
Remove old old file
...
llvm-svn: 497
2001-09-07 22:52:07 +00:00
Chris Lattner
f87b8ba9e3
Convert llc driver to standard tool format
...
llvm-svn: 496
2001-09-07 22:20:50 +00:00
Chris Lattner
bd7fcd6163
Uhm... that was really bad
...
llvm-svn: 493
2001-09-07 21:26:51 +00:00
Chris Lattner
df5b2e934f
Clean up driver
...
llvm-svn: 492
2001-09-07 21:26:31 +00:00
Chris Lattner
aaf1b240ff
Remove support for const pool merging, which is obsolete now.
...
llvm-svn: 471
2001-09-07 16:59:35 +00:00
Chris Lattner
79edfb1e82
Build lli first
...
llvm-svn: 469
2001-09-07 16:58:57 +00:00
Vikram S. Adve
c90d21f261
Makefile for tools/tests/
...
llvm-svn: 409
2001-08-28 23:28:25 +00:00
Vikram S. Adve
b61f869552
Driver to test IsPowerOf2. Could be extended for other library routines.
...
llvm-svn: 408
2001-08-28 23:28:10 +00:00
Vikram S. Adve
9a19bf6cc8
Changed link line.
...
llvm-svn: 405
2001-08-28 23:23:35 +00:00
Vikram S. Adve
35eed0ce61
Add calls to NormalizeMethod() and to ScheduleInstructionsWithSSA().
...
llvm-svn: 404
2001-08-28 23:23:14 +00:00
Chris Lattner
0a85e4845d
Lots of new functionality
...
llvm-svn: 372
2001-08-27 05:16:50 +00:00
Vikram S. Adve
8c449a314b
Add dependence to libvmcore.
...
llvm-svn: 370
2001-08-25 12:43:25 +00:00
Chris Lattner
e29ed4849f
Compile LLI
...
llvm-svn: 368
2001-08-23 17:09:06 +00:00
Chris Lattner
8e225d7a21
Initial checkin of interpreter
...
llvm-svn: 361
2001-08-23 17:05:04 +00:00
Chris Lattner
e61088e761
Add library dep
...
llvm-svn: 300
2001-07-25 22:48:43 +00:00
Chris Lattner
1a94273fc3
Parenthesize output for expranalyze so that pointer stuff being multiplied isn't confusing
...
llvm-svn: 299
2001-07-25 22:48:37 +00:00
Chris Lattner
0acf605cd9
Build as before dis
...
llvm-svn: 298
2001-07-25 22:48:09 +00:00
Chris Lattner
aad0f6afd0
Change option name slightly
...
llvm-svn: 287
2001-07-23 23:02:51 +00:00
Chris Lattner
d058d93a30
Use the new Alias command line option
...
llvm-svn: 284
2001-07-23 20:22:30 +00:00
Chris Lattner
3e365b974b
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
llvm-svn: 283
2001-07-23 19:27:24 +00:00
Chris Lattner
f94c44bc70
-help is verbose enough that we don't need this anymore
...
llvm-svn: 281
2001-07-23 18:31:02 +00:00
Chris Lattner
ff6c44f04f
Moved inline/llvm/Tools/* to include/llvm/Support/*
...
llvm-svn: 279
2001-07-23 17:46:59 +00:00
Chris Lattner
d73669f4c6
Removal of the redundant CompileContext wrapper
...
llvm-svn: 274
2001-07-23 03:09:03 +00:00
Chris Lattner
90f8ecfda4
Verbosify descriptions
...
llvm-svn: 273
2001-07-23 02:54:25 +00:00
Chris Lattner
f42a7804c8
Large scale changes to implement new command line argument facility
...
llvm-svn: 272
2001-07-23 02:35:57 +00:00
Chris Lattner
c5758cb574
Privatize LLCOptions. It had no business being visible to the entire
...
program.
llvm-svn: 267
2001-07-22 04:40:02 +00:00
Chris Lattner
833a705036
Convert from using C style char*'s to strings.
...
Look ma, no strdups
llvm-svn: 265
2001-07-22 03:57:31 +00:00
Chris Lattner
3688fb97e2
Instructions for use
...
llvm-svn: 255
2001-07-21 21:05:39 +00:00
Chris Lattner
95de507872
Make sure we build all of the code!
...
llvm-svn: 254
2001-07-21 21:04:03 +00:00
Chris Lattner
f1a2e3b6bb
Renamed include/llvm/Codegen to include/llvm/CodeGen
...
llvm-svn: 253
2001-07-21 20:58:30 +00:00
Chris Lattner
303c1214a0
Make the makefile work
...
llvm-svn: 247
2001-07-21 19:31:40 +00:00
Chris Lattner
9416784407
Support changed expression api
...
llvm-svn: 242
2001-07-21 19:08:44 +00:00
Chris Lattner
d57dde0964
Autodep functionality broken. Remove so we get successful builds
...
llvm-svn: 239
2001-07-21 18:59:13 +00:00
Vikram S. Adve
b7ca711494
Driver and options for the llc compiler.
...
llvm-svn: 234
2001-07-21 12:42:29 +00:00
Chris Lattner
997db49baf
Add support to call LevelRaise
...
llvm-svn: 217
2001-07-20 19:16:47 +00:00
Chris Lattner
02097a9700
Update makefile for more accurate deps
...
Include support to print out Expression types
llvm-svn: 216
2001-07-20 19:16:29 +00:00
Chris Lattner
7069a38446
Fix clean target
...
llvm-svn: 203
2001-07-18 23:43:53 +00:00
Vikram S. Adve
deddb40e91
Reordered link line for correct static linking.
...
llvm-svn: 198
2001-07-15 21:13:29 +00:00
Chris Lattner
a1f8bdb501
Add better support for post dominator information.
...
Print method name for each analysis.
llvm-svn: 144
2001-07-06 16:59:10 +00:00
Chris Lattner
ed83549672
Initial checkin of analyze tool.
...
llvm-svn: 137
2001-07-03 15:30:38 +00:00
Chris Lattner
69e4c98a21
Build new analyze tool
...
llvm-svn: 136
2001-07-03 15:30:21 +00:00
Chris Lattner
6b0779699c
Include ADCE pass, rename include/Opt directory to llvm/Optimizations
...
Optimizations now in opt namespace.
Rename SCCP pass to DoSCCP
llvm-svn: 118
2001-06-30 06:38:31 +00:00
Chris Lattner
d616582a7a
Miscellaneous cleanups:
...
* Convert post to pre-increment for for loops
* Use generic programming more
* Use new Value::cast* instructions
* Use new Module, Method, & BasicBlock forwarding methods
* Use new facilities in STLExtras.h
* Use new Instruction::isPHINode() method
llvm-svn: 96
2001-06-27 23:41:11 +00:00
Chris Lattner
9e4c6fe810
Add command line arguments for Constant Pool Merging & Sparse Conditional Constant Prop
...
llvm-svn: 94
2001-06-27 23:37:58 +00:00
Chris Lattner
3223c77455
Add stub for induction variable code
...
llvm-svn: 38
2001-06-20 19:27:34 +00:00
Chris Lattner
6158b2b9f9
Removed silly test code
...
llvm-svn: 31
2001-06-13 19:55:50 +00:00
Chris Lattner
b22f404e1b
Added options to print out basic blocks in a variety of different orderings
...
as a testcase for cfg iterators.
llvm-svn: 30
2001-06-13 19:55:41 +00:00
Chris Lattner
f6f820bfac
Added a stupid testcase for iterators.
...
llvm-svn: 17
2001-06-08 00:35:25 +00:00
Chris Lattner
e6b9b382e2
Initial revision
...
llvm-svn: 2
2001-06-06 20:29:01 +00:00