Chris Lattner
1020b3982c
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
2001-06-27 23:26:41 +00:00
Chris Lattner
0305cfd3cc
Add more notes
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78 91177308-0d34-0410-b5e6-96231b3b80d8
2001-06-27 23:24:50 +00:00
Chris Lattner
cfce6c0686
Filter out some more stuff
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77 91177308-0d34-0410-b5e6-96231b3b80d8
2001-06-27 23:24:22 +00:00
Chris Lattner
20554f11d0
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
2001-06-25 07:33:13 +00:00
Chris Lattner
d473a0acc4
Implement induction variable injection!
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75 91177308-0d34-0410-b5e6-96231b3b80d8
2001-06-25 07:32:19 +00:00
Chris Lattner
bebd60dc9d
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
2001-06-25 07:31:31 +00:00
Chris Lattner
3bcd6394ec
* 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
2001-06-25 07:31:05 +00:00
Chris Lattner
53b1c0161d
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
2001-06-25 03:55:37 +00:00
Chris Lattner
23e36625a2
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
2001-06-25 03:55:04 +00:00
Chris Lattner
3704c8cfff
Add a helper function bind_obj
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70 91177308-0d34-0410-b5e6-96231b3b80d8
2001-06-25 03:54:32 +00:00
Chris Lattner
4dd88f6fbf
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
2001-06-25 03:54:14 +00:00
Chris Lattner
d6a7b7552f
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
2001-06-25 03:52:19 +00:00
Chris Lattner
5289d52a55
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
2001-06-25 03:51:53 +00:00
Chris Lattner
2d676c961e
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
2001-06-24 04:07:44 +00:00
Chris Lattner
a9a96efba4
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
2001-06-24 04:07:37 +00:00
Chris Lattner
4ea55136c1
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
2001-06-24 04:06:23 +00:00
Chris Lattner
c9f39b26c0
#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
2001-06-24 04:05:45 +00:00
Chris Lattner
107109c2cd
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
2001-06-24 04:05:21 +00:00
Chris Lattner
75517097e7
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
2001-06-24 04:05:09 +00:00
Chris Lattner
a0eb461263
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
2001-06-24 03:25:01 +00:00
Chris Lattner
cf1760aff0
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
2001-06-24 03:22:59 +00:00
Chris Lattner
d6be43ecdd
Added notes
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58 91177308-0d34-0410-b5e6-96231b3b80d8
2001-06-24 02:01:31 +00:00
Chris Lattner
364b147a0f
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
2001-06-22 02:24:38 +00:00
Chris Lattner
a4ef933a04
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
2001-06-22 02:23:39 +00:00
Chris Lattner
1a750e1d40
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
2001-06-22 02:23:27 +00:00
Chris Lattner
fe0a67c74e
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
2001-06-22 02:21:42 +00:00
Chris Lattner
28d480b316
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
2001-06-21 05:29:56 +00:00
Chris Lattner
da956802bd
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
2001-06-21 05:27:22 +00:00
Chris Lattner
1c54f1da79
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
2001-06-21 05:26:15 +00:00
Chris Lattner
18d64ede9a
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
2001-06-21 05:25:51 +00:00
Chris Lattner
681cf74ab5
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
2001-06-21 05:25:33 +00:00
Chris Lattner
be0b11c611
* Added capability to print out an interval
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48 91177308-0d34-0410-b5e6-96231b3b80d8
2001-06-21 05:25:09 +00:00
Chris Lattner
2100f8cced
* 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
2001-06-21 05:24:46 +00:00
Chris Lattner
90c8194425
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
2001-06-21 03:00:25 +00:00
Chris Lattner
5ef7afb011
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
2001-06-20 23:09:39 +00:00
Chris Lattner
a4fbb1ae11
Add note
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44 91177308-0d34-0410-b5e6-96231b3b80d8
2001-06-20 23:09:27 +00:00
Chris Lattner
f7d11a93cb
New test case
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43 91177308-0d34-0410-b5e6-96231b3b80d8
2001-06-20 23:05:53 +00:00
Chris Lattner
568320595c
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
2001-06-20 22:44:38 +00:00
Chris Lattner
ed465bc265
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
2001-06-20 22:44:32 +00:00
Chris Lattner
bb76d9d080
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
2001-06-20 22:44:16 +00:00
Chris Lattner
2275c1d55d
Initial Checking of Interval handling code
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@39 91177308-0d34-0410-b5e6-96231b3b80d8
2001-06-20 20:09:55 +00:00
Chris Lattner
b12063919f
Add stub for induction variable code
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@38 91177308-0d34-0410-b5e6-96231b3b80d8
2001-06-20 19:27:34 +00:00
Chris Lattner
bd3df527ed
Add a more complex test case
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37 91177308-0d34-0410-b5e6-96231b3b80d8
2001-06-20 19:27:18 +00:00
Chris Lattner
d213f0f3a1
Add a test case for interval code
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36 91177308-0d34-0410-b5e6-96231b3b80d8
2001-06-20 19:27:11 +00:00
Chris Lattner
113b2ffd35
Add an optimization stub
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35 91177308-0d34-0410-b5e6-96231b3b80d8
2001-06-20 19:26:21 +00:00
Chris Lattner
564de7d79b
New file: Interval analysis support
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34 91177308-0d34-0410-b5e6-96231b3b80d8
2001-06-20 19:26:12 +00:00
Chris Lattner
1ffbbf4fc9
Add a note
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33 91177308-0d34-0410-b5e6-96231b3b80d8
2001-06-20 19:26:00 +00:00
Chris Lattner
9ca00017ef
Filter out more stuff I don't want all the time
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32 91177308-0d34-0410-b5e6-96231b3b80d8
2001-06-20 19:25:53 +00:00
Chris Lattner
526f97e7a3
Removed silly test code
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31 91177308-0d34-0410-b5e6-96231b3b80d8
2001-06-13 19:55:50 +00:00
Chris Lattner
9bff2e9522
Added options to print out basic blocks in a variety of different orderings
...
as a testcase for cfg iterators.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30 91177308-0d34-0410-b5e6-96231b3b80d8
2001-06-13 19:55:41 +00:00