Commit Graph

568 Commits

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