Commit Graph

90798 Commits

Author SHA1 Message Date
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
Chris Lattner
753bfecb77 Extra comments
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7 91177308-0d34-0410-b5e6-96231b3b80d8
2001-06-07 16:58:13 +00:00
Chris Lattner
79218d08fd Now does not include instruction files...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6 91177308-0d34-0410-b5e6-96231b3b80d8
2001-06-06 20:41:51 +00:00
Chris Lattner
009505452b Initial revision
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2 91177308-0d34-0410-b5e6-96231b3b80d8
2001-06-06 20:29:01 +00:00
CVS to SVN Conversion
8d0afd3d32 New repository initialized by cvs2svn.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1 91177308-0d34-0410-b5e6-96231b3b80d8
2001-06-06 20:29:01 +00:00