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
Chris Lattner
d36c91c9c6
Updates to work with new cfg namespace
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29 91177308-0d34-0410-b5e6-96231b3b80d8
2001-06-13 19:55:22 +00:00
Chris Lattner
966644628d
Implement support for writing VCG format output
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28 91177308-0d34-0410-b5e6-96231b3b80d8
2001-06-13 19:55:13 +00:00
Chris Lattner
a5a83b4fa5
Move contents to the cfg namespace.
...
Implement post order and reverse post order iterators
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27 91177308-0d34-0410-b5e6-96231b3b80d8
2001-06-13 19:55:02 +00:00
Chris Lattner
a6b1f53451
Updates to support
...
* Changes in PHI node structure
* We now run DCE after inlining because it helps clean up LOTS of inlining
gunk.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26 91177308-0d34-0410-b5e6-96231b3b80d8
2001-06-11 15:05:02 +00:00
Chris Lattner
ee976f3371
Updates to support
...
* Changes in PHI node structure
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25 91177308-0d34-0410-b5e6-96231b3b80d8
2001-06-11 15:04:40 +00:00
Chris Lattner
c24d2088dc
Updates to support
...
* Changes in PHI node structure
* Change to PHI syntax
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24 91177308-0d34-0410-b5e6-96231b3b80d8
2001-06-11 15:04:20 +00:00
Chris Lattner
143da691f0
Updates to support
...
* Changes in PHI node structure
* Fix to Predecessor iterator
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23 91177308-0d34-0410-b5e6-96231b3b80d8
2001-06-11 15:04:06 +00:00
Chris Lattner
db0926260d
Update documentation to reflect:
...
* Changes in PHI node structure
* Intentions for load instruction to work with structures
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22 91177308-0d34-0410-b5e6-96231b3b80d8
2001-06-11 15:03:43 +00:00
Chris Lattner
477c2ec3e0
Moved getBinaryOperator to the BinaryOperator class and the getUnaryOperator
...
to the UnaryOperator class (from the Instruction class).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21 91177308-0d34-0410-b5e6-96231b3b80d8
2001-06-08 21:30:13 +00:00
Chris Lattner
daa6ae31c1
I actually got something done
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20 91177308-0d34-0410-b5e6-96231b3b80d8
2001-06-08 21:29:35 +00:00
Chris Lattner
760dfe6596
Beautify the source a bit.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19 91177308-0d34-0410-b5e6-96231b3b80d8
2001-06-08 21:07:26 +00:00
Chris Lattner
586bd03dc1
Include support for reverse iteration.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18 91177308-0d34-0410-b5e6-96231b3b80d8
2001-06-08 20:52:54 +00:00
Chris Lattner
84608e43b2
Added a stupid testcase for iterators.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17 91177308-0d34-0410-b5e6-96231b3b80d8
2001-06-08 00:35:25 +00:00
Chris Lattner
d842e77ca9
Added reverse depth first capability, fixed depth first capability
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16 91177308-0d34-0410-b5e6-96231b3b80d8
2001-06-08 00:35:14 +00:00
Chris Lattner
dac6dda315
Updated to work with new CFG.h file.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15 91177308-0d34-0410-b5e6-96231b3b80d8
2001-06-07 21:18:45 +00:00
Chris Lattner
1f0d48113c
Moved iterators to the new CFG.h file.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14 91177308-0d34-0410-b5e6-96231b3b80d8
2001-06-07 21:18:35 +00:00
Chris Lattner
7170838f84
New file
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13 91177308-0d34-0410-b5e6-96231b3b80d8
2001-06-07 21:18:08 +00:00
Chris Lattner
c42266a870
inlining can change methods a second time, so don't rerun inliner when testing for
...
differences in optimizations
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12 91177308-0d34-0410-b5e6-96231b3b80d8
2001-06-07 17:00:00 +00:00
Chris Lattner
b0b0aa3849
Add extra method to PHI node class
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11 91177308-0d34-0410-b5e6-96231b3b80d8
2001-06-07 16:59:37 +00:00
Chris Lattner
f155e13092
Significant rework. DCE is still not done (see #ifdef'd out parts)
...
but at least the stuff that is checked in, now works.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10 91177308-0d34-0410-b5e6-96231b3b80d8
2001-06-07 16:59:26 +00:00
Chris Lattner
b9a4578df5
Fixed to print slightly differently. Added use counts for labels
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9 91177308-0d34-0410-b5e6-96231b3b80d8
2001-06-07 16:58:55 +00:00
Chris Lattner
bbcfc51f3b
Fixes for BB iterators, additional methods added for DCE pass
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8 91177308-0d34-0410-b5e6-96231b3b80d8
2001-06-07 16:58:36 +00:00