oota-llvm.git
22 years agoBuild new analyze tool
Chris Lattner [Tue, 3 Jul 2001 15:30:21 +0000 (15:30 +0000)]
Build new analyze tool

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoAdded analyze to path for SetupOpt script
Chris Lattner [Tue, 3 Jul 2001 15:30:10 +0000 (15:30 +0000)]
Added analyze to path for SetupOpt script

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoAdd analyze tool to path for Setup script
Chris Lattner [Tue, 3 Jul 2001 15:29:48 +0000 (15:29 +0000)]
Add analyze tool to path for Setup script

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoIntervalPartition was changed to inherit from vector<Interval*> instead of
Chris Lattner [Tue, 3 Jul 2001 15:28:35 +0000 (15:28 +0000)]
IntervalPartition was changed to inherit from vector<Interval*> instead of
contain it so that it would have full iterator access without much work.

Writer includes code to print out IntervalPartition's now.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoIntervalPartition was changed to inherit from vector<Interval*> instead of
Chris Lattner [Tue, 3 Jul 2001 15:28:08 +0000 (15:28 +0000)]
IntervalPartition was changed to inherit from vector<Interval*> instead of
contain it so that it would have full iterator access without much work.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132 91177308-0d34-0410-b5e6-96231b3b80d8

22 years ago*** empty log message ***
Chris Lattner [Tue, 3 Jul 2001 15:27:41 +0000 (15:27 +0000)]
*** empty log message ***

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoCheckin of new Analysis result printing header
Chris Lattner [Tue, 3 Jul 2001 05:37:26 +0000 (05:37 +0000)]
Checkin of new Analysis result printing header

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoCode got moved from the lib/Assembly/Writer/IntervalWriter.cpp file to
Chris Lattner [Tue, 3 Jul 2001 05:36:34 +0000 (05:36 +0000)]
Code got moved from the lib/Assembly/Writer/IntervalWriter.cpp file to
here.  Updates to correct description n stuff.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoRemove code for printing out Analysis data structures. It got moved
Chris Lattner [Tue, 3 Jul 2001 05:35:52 +0000 (05:35 +0000)]
Remove code for printing out Analysis data structures.  It got moved

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoUpdate documentation a bit, correct #include guard
Chris Lattner [Tue, 3 Jul 2001 05:35:23 +0000 (05:35 +0000)]
Update documentation a bit, correct #include guard

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoAdd note about tool idea. Change command line of note to be more specific
Chris Lattner [Tue, 3 Jul 2001 05:35:04 +0000 (05:35 +0000)]
Add note about tool idea.  Change command line of note to be more specific

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoAdd printing code for dominator info
Chris Lattner [Mon, 2 Jul 2001 05:46:47 +0000 (05:46 +0000)]
Add printing code for dominator info

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@125 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoCheckin of new dominator calculation routines. These will be improved in
Chris Lattner [Mon, 2 Jul 2001 05:46:38 +0000 (05:46 +0000)]
Checkin of new dominator calculation routines.  These will be improved in
the future to do post dominators and stuff

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoEnable printing of dominator related information.
Chris Lattner [Mon, 2 Jul 2001 05:45:30 +0000 (05:45 +0000)]
Enable printing of dominator related information.

Theis will eventually be moved!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoAdd new anaysis routines for building dominator related information
Chris Lattner [Mon, 2 Jul 2001 05:45:17 +0000 (05:45 +0000)]
Add new anaysis routines for building dominator related information

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoAddition of 'deleter' function.
Chris Lattner [Mon, 2 Jul 2001 01:09:41 +0000 (01:09 +0000)]
Addition of 'deleter' function.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoMoved deleter to include/llvm/Tools/STLExtras.h
Chris Lattner [Mon, 2 Jul 2001 01:08:08 +0000 (01:08 +0000)]
Moved deleter to include/llvm/Tools/STLExtras.h

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoInitial checkin. Should print dead instructions, except it doesn't do
Chris Lattner [Sat, 30 Jun 2001 06:39:11 +0000 (06:39 +0000)]
Initial checkin.  Should print dead instructions, except it doesn't do
control dependencies.  :(

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoInclude ADCE pass, rename include/Opt directory to llvm/Optimizations
Chris Lattner [Sat, 30 Jun 2001 06:38:31 +0000 (06:38 +0000)]
Include ADCE pass, rename include/Opt directory to llvm/Optimizations
Optimizations now in opt namespace.
Rename SCCP pass to DoSCCP

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoRename DoSparseConditionalConstantProp -> DoSCCP
Chris Lattner [Sat, 30 Jun 2001 06:37:43 +0000 (06:37 +0000)]
Rename DoSparseConditionalConstantProp -> DoSCCP

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoAdd note
Chris Lattner [Sat, 30 Jun 2001 06:37:33 +0000 (06:37 +0000)]
Add note

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoAdd prototypes for ADCE pass
Chris Lattner [Sat, 30 Jun 2001 06:37:16 +0000 (06:37 +0000)]
Add prototypes for ADCE pass

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoRename DoSparseConditionalConstantProp to DoSCCP
Chris Lattner [Sat, 30 Jun 2001 06:37:01 +0000 (06:37 +0000)]
Rename DoSparseConditionalConstantProp to DoSCCP

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoOptimizations got their own header files
Chris Lattner [Sat, 30 Jun 2001 04:36:40 +0000 (04:36 +0000)]
Optimizations got their own header files
Optimizations now live in the 'opt' namespace
include/llvm/Opt was renamed include/llvm/Optimizations

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoImplement reduceApply method
Chris Lattner [Sat, 30 Jun 2001 04:35:40 +0000 (04:35 +0000)]
Implement reduceApply method

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoAdd a new pop_back() method
Chris Lattner [Sat, 30 Jun 2001 04:35:21 +0000 (04:35 +0000)]
Add a new pop_back() method

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoThe ConstRules class got moved to the opt namespace
Chris Lattner [Sat, 30 Jun 2001 04:35:01 +0000 (04:35 +0000)]
The ConstRules class got moved to the opt namespace

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoAdd a reduceApply method
Chris Lattner [Sat, 30 Jun 2001 04:34:42 +0000 (04:34 +0000)]
Add a reduceApply method

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoSplit AllOpts.h into lots of little .h files.
Chris Lattner [Sat, 30 Jun 2001 04:34:07 +0000 (04:34 +0000)]
Split AllOpts.h into lots of little .h files.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoExport ConstantFoldTerminator, allow it to fold conditional branches to
Chris Lattner [Fri, 29 Jun 2001 23:56:58 +0000 (23:56 +0000)]
Export ConstantFoldTerminator, allow it to fold conditional branches to
the same label.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoAdded documentation. Constant fold terminators.
Chris Lattner [Fri, 29 Jun 2001 23:56:23 +0000 (23:56 +0000)]
Added documentation.  Constant fold terminators.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoAdded prototype for ConstantFoldTerminator
Chris Lattner [Fri, 29 Jun 2001 23:56:00 +0000 (23:56 +0000)]
Added prototype for ConstantFoldTerminator

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoAdd a check to avoid allowing V->replaceAllUsesWith(V)
Chris Lattner [Fri, 29 Jun 2001 05:25:51 +0000 (05:25 +0000)]
Add a check to avoid allowing V->replaceAllUsesWith(V)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoAdd implementation of BasicBlock::removePredecessor code that was factored
Chris Lattner [Fri, 29 Jun 2001 05:25:23 +0000 (05:25 +0000)]
Add implementation of BasicBlock::removePredecessor code that was factored
out of DCE.cpp

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103 91177308-0d34-0410-b5e6-96231b3b80d8

22 years ago* Factored RemovePredecessorFromBlock into BasicBlock::removePredecessor
Chris Lattner [Fri, 29 Jun 2001 05:24:28 +0000 (05:24 +0000)]
* Factored RemovePredecessorFromBlock into BasicBlock::removePredecessor
* Avoid messing around with this case:
  br label %A
%A:  br label %A
* Enable optimizations that are correct now.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoWe need to make sure to remove PHI nodes in the successor that cannot be
Chris Lattner [Fri, 29 Jun 2001 05:23:10 +0000 (05:23 +0000)]
We need to make sure to remove PHI nodes in the successor that cannot be
executed when removing branch dest.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoAdded a note about a new verification the verifier should do
Chris Lattner [Fri, 29 Jun 2001 05:22:12 +0000 (05:22 +0000)]
Added a note about a new verification the verifier should do
Removed a redundant check

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoAdded new removePredecessor method prototype
Chris Lattner [Fri, 29 Jun 2001 05:21:42 +0000 (05:21 +0000)]
Added new removePredecessor method prototype

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoAdded note, moved note
Chris Lattner [Fri, 29 Jun 2001 05:21:05 +0000 (05:21 +0000)]
Added note, moved note

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoFixed the obnoxious problem that caused an entire directory to rebuild
Chris Lattner [Fri, 29 Jun 2001 05:20:16 +0000 (05:20 +0000)]
Fixed the obnoxious problem that caused an entire directory to rebuild
even if you only change one .cpp file. Yaay

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoMiscellaneous cleanups:
Chris Lattner [Wed, 27 Jun 2001 23:41:11 +0000 (23:41 +0000)]
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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoAdd a new Sparse Conditional Constant Propogation pass
Chris Lattner [Wed, 27 Jun 2001 23:38:11 +0000 (23:38 +0000)]
Add a new Sparse Conditional Constant Propogation pass

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoAdd command line arguments for Constant Pool Merging & Sparse Conditional Constant...
Chris Lattner [Wed, 27 Jun 2001 23:37:58 +0000 (23:37 +0000)]
Add command line arguments for Constant Pool Merging & Sparse Conditional Constant Prop

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoPut in test of SCCP. Watch out though, because we need to sort the
Chris Lattner [Wed, 27 Jun 2001 23:37:22 +0000 (23:37 +0000)]
Put in test of SCCP.  Watch out though, because we need to sort the
constant pool for the final check to work.  :(

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoChange to use the new GenericBinaryInst class. Support lots more operators.
Chris Lattner [Wed, 27 Jun 2001 23:36:49 +0000 (23:36 +0000)]
Change to use the new GenericBinaryInst class.  Support lots more operators.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoMisc cleanup
Chris Lattner [Wed, 27 Jun 2001 23:36:09 +0000 (23:36 +0000)]
Misc cleanup

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91 91177308-0d34-0410-b5e6-96231b3b80d8

22 years ago* Expose DoConstantPoolMerging
Chris Lattner [Wed, 27 Jun 2001 23:35:26 +0000 (23:35 +0000)]
* Expose DoConstantPoolMerging
* Cleanups (post->pre increment, new cleaner API, etc)
* Moved stuff into ConstantHandling.h

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoConvert ugly postincrement to efficient preincrement
Chris Lattner [Wed, 27 Jun 2001 23:34:01 +0000 (23:34 +0000)]
Convert ugly postincrement to efficient preincrement

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89 91177308-0d34-0410-b5e6-96231b3b80d8

22 years ago* Move stuff around a bit.
Chris Lattner [Wed, 27 Jun 2001 23:32:12 +0000 (23:32 +0000)]
* Move stuff around a bit.
* Add reduce_apply_bool

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoAdd instructions to fold unary and binary instructions.
Chris Lattner [Wed, 27 Jun 2001 23:31:34 +0000 (23:31 +0000)]
Add instructions to fold unary and binary instructions.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@87 91177308-0d34-0410-b5e6-96231b3b80d8

22 years ago* Use the new reduce_apply_bool template
Chris Lattner [Wed, 27 Jun 2001 23:31:14 +0000 (23:31 +0000)]
* Use the new reduce_apply_bool template
* Expose Constant Pool Merging from ConstantProp.cpp
* Include definitions for SCCP pass
* InstListType is not neccesary anymore

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agogetBasicBlocks() is not needed anymore for reading Method data
Chris Lattner [Wed, 27 Jun 2001 23:30:11 +0000 (23:30 +0000)]
getBasicBlocks() is not needed anymore for reading Method data

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoAdded methods to make dealing with switches and branch instructions
Chris Lattner [Wed, 27 Jun 2001 23:29:41 +0000 (23:29 +0000)]
Added methods to make dealing with switches and branch instructions
more tolerable.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoMinor formating changes
Chris Lattner [Wed, 27 Jun 2001 23:29:21 +0000 (23:29 +0000)]
Minor formating changes

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoMake a new GenericBinaryInst class, instead of providing lots of silly
Chris Lattner [Wed, 27 Jun 2001 23:28:50 +0000 (23:28 +0000)]
Make a new GenericBinaryInst class, instead of providing lots of silly
little classes.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoConvert postincrements to more efficient preincrements
Chris Lattner [Wed, 27 Jun 2001 23:28:02 +0000 (23:28 +0000)]
Convert postincrements to more efficient preincrements

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoAdd a new slew of functions to allow dynamic_cast<> like operation for
Chris Lattner [Wed, 27 Jun 2001 23:27:42 +0000 (23:27 +0000)]
Add a new slew of functions to allow dynamic_cast<> like operation for
upcasting Value's to their subclasses.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoAdd extra forwarding accessor methods so that getMethodList(), getBasicBlocks()
Chris Lattner [Wed, 27 Jun 2001 23:26:41 +0000 (23:26 +0000)]
Add extra forwarding accessor methods so that getMethodList(), getBasicBlocks()
and getInstList() are obsolete... except for when modifying those lists.  This
makes code much more succinct and to the point.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoAdd more notes
Chris Lattner [Wed, 27 Jun 2001 23:24:50 +0000 (23:24 +0000)]
Add more notes

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoFilter out some more stuff
Chris Lattner [Wed, 27 Jun 2001 23:24:22 +0000 (23:24 +0000)]
Filter out some more stuff

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoMoved UnaryOperator::create to InstrTypes.cpp until there is an iUnaryOps.cpp
Chris Lattner [Mon, 25 Jun 2001 07:33:13 +0000 (07:33 +0000)]
Moved UnaryOperator::create to InstrTypes.cpp until there is an iUnaryOps.cpp
Moved BinaryOperator::create to iBinaryOperators.cpp
Add getUniqueName to SymbolTable

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoImplement induction variable injection!
Chris Lattner [Mon, 25 Jun 2001 07:32:19 +0000 (07:32 +0000)]
Implement induction variable injection!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoRenamed get.*Operator to create seeing that it would have to be qualified
Chris Lattner [Mon, 25 Jun 2001 07:31:31 +0000 (07:31 +0000)]
Renamed get.*Operator to create seeing that it would have to be qualified
with the classname anyways.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74 91177308-0d34-0410-b5e6-96231b3b80d8

22 years ago* Rename get.*Operator to create seeing that it would have to be qualified
Chris Lattner [Mon, 25 Jun 2001 07:31:05 +0000 (07:31 +0000)]
* Rename get.*Operator to create seeing that it would have to be qualified
  with the classname anyways.
* Add an isPHINode() method to Instruction
* Add getUniqueName() to SymbolTable class
* Add an insert method to ValueHolder

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoA silly stupid test of the loop depth calculator was added. REMOVE in the
Chris Lattner [Mon, 25 Jun 2001 03:55:37 +0000 (03:55 +0000)]
A silly stupid test of the loop depth calculator was added.  REMOVE in the
future.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoIntervalPartition: recode to use IntervalIterator to do all the work
Chris Lattner [Mon, 25 Jun 2001 03:55:04 +0000 (03:55 +0000)]
IntervalPartition: recode to use IntervalIterator to do all the work

LoopDepth.cpp: new file that calculates the depth of a loop, using
IntervalPartitions.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@71 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoAdd a helper function bind_obj
Chris Lattner [Mon, 25 Jun 2001 03:54:32 +0000 (03:54 +0000)]
Add a helper function bind_obj

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoBig changes. Interval*.h is now more or less finalized. IntervalPartition
Chris Lattner [Mon, 25 Jun 2001 03:54:14 +0000 (03:54 +0000)]
Big changes.  Interval*.h is now more or less finalized.  IntervalPartition
is recoded to use IntervalIterators.  IntervalIterators can now maintain
their own memory or let an external entity do it.

Loop depth is a new user of IntervalPartition for calculating the loop
nesting depth of a basic block

TODO: add IntervalPartition capability to split intervals between the looping
portion and the "tail" portion.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoCFG.h: change the iterator tag
Chris Lattner [Mon, 25 Jun 2001 03:52:19 +0000 (03:52 +0000)]
CFG.h: change the iterator tag
Method.h: Add an iterator type.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@68 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoValueHolder's aren't interseting to me anymore
Chris Lattner [Mon, 25 Jun 2001 03:51:53 +0000 (03:51 +0000)]
ValueHolder's aren't interseting to me anymore

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@67 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoNew file due to the Intervals.h splitup
Chris Lattner [Sun, 24 Jun 2001 04:07:44 +0000 (04:07 +0000)]
New file due to the Intervals.h splitup

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoNew files due to the Intervals.h splitup
Chris Lattner [Sun, 24 Jun 2001 04:07:37 +0000 (04:07 +0000)]
New files due to the Intervals.h splitup

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoAdd a useless phi for testing with InductionVariables stuff
Chris Lattner [Sun, 24 Jun 2001 04:06:23 +0000 (04:06 +0000)]
Add a useless phi for testing with InductionVariables stuff

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@64 91177308-0d34-0410-b5e6-96231b3b80d8

22 years ago#include a different header due to Intervals.h splitting up
Chris Lattner [Sun, 24 Jun 2001 04:05:45 +0000 (04:05 +0000)]
#include a different header due to Intervals.h splitting up

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoIntervalPartition & IntervalIterator classes have been split out into
Chris Lattner [Sun, 24 Jun 2001 04:05:21 +0000 (04:05 +0000)]
IntervalPartition & IntervalIterator classes have been split out into
their own .h files & .cpp file

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoIntervalPartition & IntervalIterator classes have been split out into
Chris Lattner [Sun, 24 Jun 2001 04:05:09 +0000 (04:05 +0000)]
IntervalPartition & IntervalIterator classes have been split out into
their own .h files

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoPrepare for split between Interval, IntervalIterator, and IntervalIPartition
Chris Lattner [Sun, 24 Jun 2001 03:25:01 +0000 (03:25 +0000)]
Prepare for split between Interval, IntervalIterator, and IntervalIPartition

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoAddition of IntervalIterator. Preparing for rename of Intervals.h to
Chris Lattner [Sun, 24 Jun 2001 03:22:59 +0000 (03:22 +0000)]
Addition of IntervalIterator.  Preparing for rename of Intervals.h to
Interval.h, IntervalPartition.h, and IntervalIterator.h

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoAdded notes
Chris Lattner [Sun, 24 Jun 2001 02:01:31 +0000 (02:01 +0000)]
Added notes

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoImplement a lot more functionality. Now loop invariant and linear
Chris Lattner [Fri, 22 Jun 2001 02:24:38 +0000 (02:24 +0000)]
Implement a lot more functionality.  Now loop invariant and linear
induction variables are correctly identified.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoInterval::HeaderNode is now accessed thorugh an accessor function
Chris Lattner [Fri, 22 Jun 2001 02:23:39 +0000 (02:23 +0000)]
Interval::HeaderNode is now accessed thorugh an accessor function

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoAdd comments
Chris Lattner [Fri, 22 Jun 2001 02:23:27 +0000 (02:23 +0000)]
Add comments
Interval::HeaderNode is now accessed thorugh an accessor function

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoAdd accessor methods to binary/unary operators
Chris Lattner [Fri, 22 Jun 2001 02:21:42 +0000 (02:21 +0000)]
Add accessor methods to binary/unary operators
Add extra helper methods to PHI class

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoAdd a space to the PHI node output code to make it look nicer
Chris Lattner [Thu, 21 Jun 2001 05:29:56 +0000 (05:29 +0000)]
Add a space to the PHI node output code to make it look nicer

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoMoved printing code to the Assembly/Writer library.
Chris Lattner [Thu, 21 Jun 2001 05:27:22 +0000 (05:27 +0000)]
Moved printing code to the Assembly/Writer library.
Code now detects looping intervals

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoImplement the new Interval::isLoop method
Chris Lattner [Thu, 21 Jun 2001 05:26:15 +0000 (05:26 +0000)]
Implement the new Interval::isLoop method
Implement destructor to free memory

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoNew header file defined with neeto utilities put in one place
Chris Lattner [Thu, 21 Jun 2001 05:25:51 +0000 (05:25 +0000)]
New header file defined with neeto utilities put in one place

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoModified to use the new reduce_apply algorithm
Chris Lattner [Thu, 21 Jun 2001 05:25:33 +0000 (05:25 +0000)]
Modified to use the new reduce_apply algorithm

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49 91177308-0d34-0410-b5e6-96231b3b80d8

22 years ago* Added capability to print out an interval
Chris Lattner [Thu, 21 Jun 2001 05:25:09 +0000 (05:25 +0000)]
* Added capability to print out an interval

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48 91177308-0d34-0410-b5e6-96231b3b80d8

22 years ago* Added comments
Chris Lattner [Thu, 21 Jun 2001 05:24:46 +0000 (05:24 +0000)]
* Added comments
* Added prototype for new Interval::isLoop method
* Added destructor to free memory
* Added IntervalPartition::isDegeneratePartition method
* Added IntervalPartition::size() method

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoAdd a test case: an irreducible flow graph.
Chris Lattner [Thu, 21 Jun 2001 03:00:25 +0000 (03:00 +0000)]
Add a test case: an irreducible flow graph.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoGet rid of a silly printout that isn't needed right now
Chris Lattner [Wed, 20 Jun 2001 23:09:39 +0000 (23:09 +0000)]
Get rid of a silly printout that isn't needed right now

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoAdd note
Chris Lattner [Wed, 20 Jun 2001 23:09:27 +0000 (23:09 +0000)]
Add note

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoNew test case
Chris Lattner [Wed, 20 Jun 2001 23:05:53 +0000 (23:05 +0000)]
New test case

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoAdd capability to print a derived interval graph
Chris Lattner [Wed, 20 Jun 2001 22:44:38 +0000 (22:44 +0000)]
Add capability to print a derived interval graph

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoAdd capability to build a derived interval graph
Chris Lattner [Wed, 20 Jun 2001 22:44:32 +0000 (22:44 +0000)]
Add capability to build a derived interval graph

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoFactor the predeclarations of the CFG.h functionality into a seperate, new header
Chris Lattner [Wed, 20 Jun 2001 22:44:16 +0000 (22:44 +0000)]
Factor the predeclarations of the CFG.h functionality into a seperate, new header
file: CFGdecls.h

This allows the addition of BasicBlock::(pred|succ)_iterator typedefs.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoInitial Checking of Interval handling code
Chris Lattner [Wed, 20 Jun 2001 20:09:55 +0000 (20:09 +0000)]
Initial Checking of Interval handling code

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@39 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoAdd stub for induction variable code
Chris Lattner [Wed, 20 Jun 2001 19:27:34 +0000 (19:27 +0000)]
Add stub for induction variable code

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@38 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoAdd a more complex test case
Chris Lattner [Wed, 20 Jun 2001 19:27:18 +0000 (19:27 +0000)]
Add a more complex test case

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37 91177308-0d34-0410-b5e6-96231b3b80d8