Chris Lattner [Sat, 7 Jul 2001 08:33:39 +0000 (08:33 +0000)]
Add note about nuking Instruction::neg
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 6 Jul 2001 22:00:42 +0000 (22:00 +0000)]
Initial checkin
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 6 Jul 2001 16:59:10 +0000 (16:59 +0000)]
Add better support for post dominator information.
Print method name for each analysis.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 6 Jul 2001 16:58:36 +0000 (16:58 +0000)]
Add method to unify all exit nodes of a method
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 6 Jul 2001 16:58:22 +0000 (16:58 +0000)]
Implement support for postdominators, except in dom frontiers
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 6 Jul 2001 16:57:52 +0000 (16:57 +0000)]
New file, includes method to merge exit nodes together
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 6 Jul 2001 16:57:21 +0000 (16:57 +0000)]
* Add a DominatorBase base class to maintain root of Dominator info
* Implement post dominator support
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@140
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 6 Jul 2001 16:56:17 +0000 (16:56 +0000)]
* Added comments
* Made iterators inherit from appropriate iterator base class
* Abstracted out graphs from depth first iterator
* Add "Inverse" traversal of CFG
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 6 Jul 2001 16:32:07 +0000 (16:32 +0000)]
Update to include right file
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 3 Jul 2001 15:30:38 +0000 (15:30 +0000)]
Initial checkin of analyze tool.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137
91177308-0d34-0410-b5e6-
96231b3b80d8
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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