Commit Graph

34226 Commits

Author SHA1 Message Date
Chris Lattner 3fe4504c28 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.

llvm-svn: 69
2001-06-25 03:54:14 +00:00
Chris Lattner c17f93528b CFG.h: change the iterator tag
Method.h: Add an iterator type.

llvm-svn: 68
2001-06-25 03:52:19 +00:00
Chris Lattner db1d8bdf34 New files due to the Intervals.h splitup
llvm-svn: 65
2001-06-24 04:07:37 +00:00
Chris Lattner 658a50fe1b IntervalPartition & IntervalIterator classes have been split out into
their own .h files

llvm-svn: 61
2001-06-24 04:05:09 +00:00
Chris Lattner 2e2e27a1af Addition of IntervalIterator. Preparing for rename of Intervals.h to
Interval.h, IntervalPartition.h, and IntervalIterator.h

llvm-svn: 59
2001-06-24 03:22:59 +00:00
Chris Lattner 97c3480075 Add comments
Interval::HeaderNode is now accessed thorugh an accessor function

llvm-svn: 55
2001-06-22 02:23:27 +00:00
Chris Lattner dc36e44adc Add accessor methods to binary/unary operators
Add extra helper methods to PHI class

llvm-svn: 54
2001-06-22 02:21:42 +00:00
Chris Lattner d52706daa8 New header file defined with neeto utilities put in one place
llvm-svn: 50
2001-06-21 05:25:51 +00:00
Chris Lattner e3b1bacb6e Modified to use the new reduce_apply algorithm
llvm-svn: 49
2001-06-21 05:25:33 +00:00
Chris Lattner 570f10ad47 * Added capability to print out an interval
llvm-svn: 48
2001-06-21 05:25:09 +00:00
Chris Lattner d893c3300a * Added comments
* Added prototype for new Interval::isLoop method
* Added destructor to free memory
* Added IntervalPartition::isDegeneratePartition method
* Added IntervalPartition::size() method

llvm-svn: 47
2001-06-21 05:24:46 +00:00
Chris Lattner 5035efaeda Add capability to build a derived interval graph
llvm-svn: 41
2001-06-20 22:44:32 +00:00
Chris Lattner 778702f26c 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.

llvm-svn: 40
2001-06-20 22:44:16 +00:00
Chris Lattner acbaaf7bf2 Add an optimization stub
llvm-svn: 35
2001-06-20 19:26:21 +00:00
Chris Lattner 6cc066490b New file: Interval analysis support
llvm-svn: 34
2001-06-20 19:26:12 +00:00
Chris Lattner 62b7632c3c Implement support for writing VCG format output
llvm-svn: 28
2001-06-13 19:55:13 +00:00
Chris Lattner 78f524c613 Move contents to the cfg namespace.
Implement post order and reverse post order iterators

llvm-svn: 27
2001-06-13 19:55:02 +00:00
Chris Lattner a653daaac2 Updates to support
* Changes in PHI node structure
* Fix to Predecessor iterator

llvm-svn: 23
2001-06-11 15:04:06 +00:00
Chris Lattner 5f46e8c9da Moved getBinaryOperator to the BinaryOperator class and the getUnaryOperator
to the UnaryOperator class (from the Instruction class).

llvm-svn: 21
2001-06-08 21:30:13 +00:00
Chris Lattner f5d87f9e56 Beautify the source a bit.
llvm-svn: 19
2001-06-08 21:07:26 +00:00
Chris Lattner f2ff0eac5b Include support for reverse iteration.
llvm-svn: 18
2001-06-08 20:52:54 +00:00
Chris Lattner 33455b2a23 Added reverse depth first capability, fixed depth first capability
llvm-svn: 16
2001-06-08 00:35:14 +00:00
Chris Lattner fe59ab9828 Moved iterators to the new CFG.h file.
llvm-svn: 14
2001-06-07 21:18:35 +00:00
Chris Lattner b151cb40ac New file
llvm-svn: 13
2001-06-07 21:18:08 +00:00
Chris Lattner e358b22776 Fixes for BB iterators, additional methods added for DCE pass
llvm-svn: 8
2001-06-07 16:58:36 +00:00
Chris Lattner 2f7c963559 Initial revision
llvm-svn: 2
2001-06-06 20:29:01 +00:00