oota-llvm.git
22 years agoThe ConstRules class got moved to the opt namespace
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

22 years agoAdd a reduceApply method
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

22 years agoSplit AllOpts.h into lots of little .h files.
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

22 years agoExport ConstantFoldTerminator, allow it to fold conditional branches to
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

22 years agoAdded documentation. Constant fold terminators.
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

22 years agoAdded prototype for ConstantFoldTerminator
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

22 years agoAdd a check to avoid allowing V->replaceAllUsesWith(V)
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

22 years agoAdd implementation of BasicBlock::removePredecessor code that was factored
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

22 years ago* Factored RemovePredecessorFromBlock into BasicBlock::removePredecessor
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

22 years agoWe need to make sure to remove PHI nodes in the successor that cannot be
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

22 years agoAdded a note about a new verification the verifier should do
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

22 years agoAdded new removePredecessor method prototype
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

22 years agoAdded note, moved note
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

22 years agoFixed the obnoxious problem that caused an entire directory to rebuild
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

23 years agoMiscellaneous cleanups:
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

23 years agoAdd a new Sparse Conditional Constant Propogation pass
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

23 years agoAdd command line arguments for Constant Pool Merging & Sparse Conditional Constant...
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

23 years agoPut in test of SCCP. Watch out though, because we need to sort the
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

23 years agoChange to use the new GenericBinaryInst class. Support lots more operators.
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

23 years agoMisc cleanup
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

23 years ago* Expose DoConstantPoolMerging
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

23 years agoConvert ugly postincrement to efficient preincrement
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

23 years ago* Move stuff around a bit.
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

23 years agoAdd instructions to fold unary and binary instructions.
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

23 years ago* Use the new reduce_apply_bool template
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

23 years agogetBasicBlocks() is not needed anymore for reading Method data
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

23 years agoAdded methods to make dealing with switches and branch instructions
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

23 years agoMinor formating changes
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

23 years agoMake a new GenericBinaryInst class, instead of providing lots of silly
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

23 years agoConvert postincrements to more efficient preincrements
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

23 years agoAdd a new slew of functions to allow dynamic_cast<> like operation for
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

23 years agoAdd extra forwarding accessor methods so that getMethodList(), getBasicBlocks()
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

23 years agoAdd more notes
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

23 years agoFilter out some more stuff
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

23 years agoMoved UnaryOperator::create to InstrTypes.cpp until there is an iUnaryOps.cpp
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

23 years agoImplement induction variable injection!
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

23 years agoRenamed get.*Operator to create seeing that it would have to be qualified
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

23 years ago* Rename get.*Operator to create seeing that it would have to be qualified
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

23 years agoA silly stupid test of the loop depth calculator was added. REMOVE in the
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

23 years agoIntervalPartition: recode to use IntervalIterator to do all the work
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

23 years agoAdd a helper function bind_obj
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

23 years agoBig changes. Interval*.h is now more or less finalized. IntervalPartition
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

23 years agoCFG.h: change the iterator tag
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

23 years agoValueHolder's aren't interseting to me anymore
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

23 years agoNew file due to the Intervals.h splitup
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

23 years agoNew files due to the Intervals.h splitup
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

23 years agoAdd a useless phi for testing with InductionVariables stuff
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

23 years ago#include a different header due to Intervals.h splitting up
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

23 years agoIntervalPartition & IntervalIterator classes have been split out into
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

23 years agoIntervalPartition & IntervalIterator classes have been split out into
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

23 years agoPrepare for split between Interval, IntervalIterator, and IntervalIPartition
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

23 years agoAddition of IntervalIterator. Preparing for rename of Intervals.h to
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

23 years agoAdded notes
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

23 years agoImplement a lot more functionality. Now loop invariant and linear
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

23 years agoInterval::HeaderNode is now accessed thorugh an accessor function
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

23 years agoAdd comments
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

23 years agoAdd accessor methods to binary/unary operators
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

23 years agoAdd a space to the PHI node output code to make it look nicer
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

23 years agoMoved printing code to the Assembly/Writer library.
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

23 years agoImplement the new Interval::isLoop method
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

23 years agoNew header file defined with neeto utilities put in one place
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

23 years agoModified to use the new reduce_apply algorithm
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

23 years ago* Added capability to print out an interval
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

23 years ago* Added comments
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

23 years agoAdd a test case: an irreducible flow graph.
Chris Lattner [Thu, 21 Jun 2001 03:00:25 +0000 (03:00 +0000)]
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

23 years agoGet rid of a silly printout that isn't needed right now
Chris Lattner [Wed, 20 Jun 2001 23:09:39 +0000 (23:09 +0000)]
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

23 years agoAdd note
Chris Lattner [Wed, 20 Jun 2001 23:09:27 +0000 (23:09 +0000)]
Add note

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44 91177308-0d34-0410-b5e6-96231b3b80d8

23 years agoNew test case
Chris Lattner [Wed, 20 Jun 2001 23:05:53 +0000 (23:05 +0000)]
New test case

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43 91177308-0d34-0410-b5e6-96231b3b80d8

23 years agoAdd capability to print a derived interval graph
Chris Lattner [Wed, 20 Jun 2001 22:44:38 +0000 (22:44 +0000)]
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

23 years agoAdd capability to build a derived interval graph
Chris Lattner [Wed, 20 Jun 2001 22:44:32 +0000 (22:44 +0000)]
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

23 years agoFactor the predeclarations of the CFG.h functionality into a seperate, new header
Chris Lattner [Wed, 20 Jun 2001 22:44:16 +0000 (22:44 +0000)]
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

23 years agoInitial Checking of Interval handling code
Chris Lattner [Wed, 20 Jun 2001 20:09:55 +0000 (20:09 +0000)]
Initial Checking of Interval handling code

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@39 91177308-0d34-0410-b5e6-96231b3b80d8

23 years agoAdd stub for induction variable code
Chris Lattner [Wed, 20 Jun 2001 19:27:34 +0000 (19:27 +0000)]
Add stub for induction variable code

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@38 91177308-0d34-0410-b5e6-96231b3b80d8

23 years agoAdd a more complex test case
Chris Lattner [Wed, 20 Jun 2001 19:27:18 +0000 (19:27 +0000)]
Add a more complex test case

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37 91177308-0d34-0410-b5e6-96231b3b80d8

23 years agoAdd a test case for interval code
Chris Lattner [Wed, 20 Jun 2001 19:27:11 +0000 (19:27 +0000)]
Add a test case for interval code

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36 91177308-0d34-0410-b5e6-96231b3b80d8

23 years agoAdd an optimization stub
Chris Lattner [Wed, 20 Jun 2001 19:26:21 +0000 (19:26 +0000)]
Add an optimization stub

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35 91177308-0d34-0410-b5e6-96231b3b80d8

23 years agoNew file: Interval analysis support
Chris Lattner [Wed, 20 Jun 2001 19:26:12 +0000 (19:26 +0000)]
New file: Interval analysis support

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34 91177308-0d34-0410-b5e6-96231b3b80d8

23 years agoAdd a note
Chris Lattner [Wed, 20 Jun 2001 19:26:00 +0000 (19:26 +0000)]
Add a note

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33 91177308-0d34-0410-b5e6-96231b3b80d8

23 years agoFilter out more stuff I don't want all the time
Chris Lattner [Wed, 20 Jun 2001 19:25:53 +0000 (19:25 +0000)]
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

23 years agoRemoved silly test code
Chris Lattner [Wed, 13 Jun 2001 19:55:50 +0000 (19:55 +0000)]
Removed silly test code

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31 91177308-0d34-0410-b5e6-96231b3b80d8

23 years agoAdded options to print out basic blocks in a variety of different orderings
Chris Lattner [Wed, 13 Jun 2001 19:55:41 +0000 (19:55 +0000)]
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

23 years agoUpdates to work with new cfg namespace
Chris Lattner [Wed, 13 Jun 2001 19:55:22 +0000 (19:55 +0000)]
Updates to work with new cfg namespace

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29 91177308-0d34-0410-b5e6-96231b3b80d8

23 years agoImplement support for writing VCG format output
Chris Lattner [Wed, 13 Jun 2001 19:55:13 +0000 (19:55 +0000)]
Implement support for writing VCG format output

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28 91177308-0d34-0410-b5e6-96231b3b80d8

23 years agoMove contents to the cfg namespace.
Chris Lattner [Wed, 13 Jun 2001 19:55:02 +0000 (19:55 +0000)]
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

23 years agoUpdates to support
Chris Lattner [Mon, 11 Jun 2001 15:05:02 +0000 (15:05 +0000)]
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

23 years agoUpdates to support
Chris Lattner [Mon, 11 Jun 2001 15:04:40 +0000 (15:04 +0000)]
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

23 years agoUpdates to support
Chris Lattner [Mon, 11 Jun 2001 15:04:20 +0000 (15:04 +0000)]
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

23 years agoUpdates to support
Chris Lattner [Mon, 11 Jun 2001 15:04:06 +0000 (15:04 +0000)]
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

23 years agoUpdate documentation to reflect:
Chris Lattner [Mon, 11 Jun 2001 15:03:43 +0000 (15:03 +0000)]
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

23 years agoMoved getBinaryOperator to the BinaryOperator class and the getUnaryOperator
Chris Lattner [Fri, 8 Jun 2001 21:30:13 +0000 (21:30 +0000)]
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

23 years agoI actually got something done
Chris Lattner [Fri, 8 Jun 2001 21:29:35 +0000 (21:29 +0000)]
I actually got something done

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20 91177308-0d34-0410-b5e6-96231b3b80d8

23 years agoBeautify the source a bit.
Chris Lattner [Fri, 8 Jun 2001 21:07:26 +0000 (21:07 +0000)]
Beautify the source a bit.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19 91177308-0d34-0410-b5e6-96231b3b80d8

23 years agoInclude support for reverse iteration.
Chris Lattner [Fri, 8 Jun 2001 20:52:54 +0000 (20:52 +0000)]
Include support for reverse iteration.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18 91177308-0d34-0410-b5e6-96231b3b80d8

23 years agoAdded a stupid testcase for iterators.
Chris Lattner [Fri, 8 Jun 2001 00:35:25 +0000 (00:35 +0000)]
Added a stupid testcase for iterators.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17 91177308-0d34-0410-b5e6-96231b3b80d8

23 years agoAdded reverse depth first capability, fixed depth first capability
Chris Lattner [Fri, 8 Jun 2001 00:35:14 +0000 (00:35 +0000)]
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

23 years agoUpdated to work with new CFG.h file.
Chris Lattner [Thu, 7 Jun 2001 21:18:45 +0000 (21:18 +0000)]
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

23 years agoMoved iterators to the new CFG.h file.
Chris Lattner [Thu, 7 Jun 2001 21:18:35 +0000 (21:18 +0000)]
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

23 years agoNew file
Chris Lattner [Thu, 7 Jun 2001 21:18:08 +0000 (21:18 +0000)]
New file

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13 91177308-0d34-0410-b5e6-96231b3b80d8

23 years agoinlining can change methods a second time, so don't rerun inliner when testing for
Chris Lattner [Thu, 7 Jun 2001 17:00:00 +0000 (17:00 +0000)]
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

23 years agoAdd extra method to PHI node class
Chris Lattner [Thu, 7 Jun 2001 16:59:37 +0000 (16:59 +0000)]
Add extra method to PHI node class

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11 91177308-0d34-0410-b5e6-96231b3b80d8