Commit Graph

482 Commits

Author SHA1 Message Date
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