Chris Lattner [Sat, 14 Jul 2001 06:07:58 +0000 (06:07 +0000)]
Made the following changes:
* ValueHolder became a 3 argument template. This allows for BasicBlock to
use the value holder arg as a typesafe parent pointer.
* SymTabValue no longer inherits from Value
* Method does not inherit from only SymTabValue. Now it inherits from both
STV & Value.
* Module does not inherit from only SymTabValue. Now it inherits from both
STV & Value.
* Updated the SymTabValue.h file to reference SymTabValue instead of STDef
in several places
* Added isArraySelector & isStructSelector to GetElementPtr instruction
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@177
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 14 Jul 2001 06:04:27 +0000 (06:04 +0000)]
Added more todo's. Don't I ever accomplish anything?
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@176
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 12 Jul 2001 23:35:26 +0000 (23:35 +0000)]
Add DebugValue member.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 12 Jul 2001 23:35:11 +0000 (23:35 +0000)]
Made it not inline
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 12 Jul 2001 23:33:53 +0000 (23:33 +0000)]
Add DebugValue global function
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 9 Jul 2001 19:38:52 +0000 (19:38 +0000)]
Don't clean out the type plane of the constant pool... this is a hack. FIXME
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 9 Jul 2001 19:38:36 +0000 (19:38 +0000)]
Make sure that types go in the constant pool if they are used.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 9 Jul 2001 19:38:26 +0000 (19:38 +0000)]
hasSideEffects should be marked virtual
stores and free's have sideeffects
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@170
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 9 Jul 2001 19:38:08 +0000 (19:38 +0000)]
Modify notes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 9 Jul 2001 16:54:29 +0000 (16:54 +0000)]
Fix stupid typo
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 9 Jul 2001 03:27:08 +0000 (03:27 +0000)]
Initial checkin of coding standards
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@167
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 9 Jul 2001 00:26:23 +0000 (00:26 +0000)]
Updated documentation for load, store & getelementptr
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@166
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 8 Jul 2001 23:23:30 +0000 (23:23 +0000)]
add coverage of newly implemented instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 8 Jul 2001 23:22:50 +0000 (23:22 +0000)]
Implementation of Store & GetElementPtr
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@164
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 8 Jul 2001 21:18:49 +0000 (21:18 +0000)]
Implement checking for new instructions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 8 Jul 2001 21:18:41 +0000 (21:18 +0000)]
Add note
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@162
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 8 Jul 2001 21:10:27 +0000 (21:10 +0000)]
Implemented shl, shl, & load instructions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@161
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 8 Jul 2001 19:03:27 +0000 (19:03 +0000)]
Moved Cast from being a Unary instruction to being an "Other" instruction
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@160
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 8 Jul 2001 18:38:36 +0000 (18:38 +0000)]
Use the CDG to mark branches alive on demand.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@159
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 8 Jul 2001 18:38:18 +0000 (18:38 +0000)]
Add a new "addOperand" method to User.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 8 Jul 2001 05:54:09 +0000 (05:54 +0000)]
Fixed post dominator frontiers! Yaay!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 8 Jul 2001 04:57:15 +0000 (04:57 +0000)]
Neg instruction removed. Cast instruction implemented.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 8 Jul 2001 04:56:59 +0000 (04:56 +0000)]
Neg instruction removed. TODO item fulfilled.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@155
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 7 Jul 2001 20:54:19 +0000 (20:54 +0000)]
Removing unnecesary file
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 7 Jul 2001 20:17:23 +0000 (20:17 +0000)]
Convert BinaryOperand and UnaryOperator to only take instruction types of
the appropriate enum
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 7 Jul 2001 19:24:15 +0000 (19:24 +0000)]
Broad superficial changes:
* Renamed getOpcode to getOpcodeName
* Changed getOpcodeName to return a const char * instead of string
* Added a getOpcode method to replace getInstType
* Changed code to use getOpcode instead of getInstType
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@152
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 7 Jul 2001 19:00:36 +0000 (19:00 +0000)]
Devirtualize User::dropAllReferences
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 7 Jul 2001 18:42:52 +0000 (18:42 +0000)]
Remove dtor's that simply call dropAllReferences
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@150
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 7 Jul 2001 08:36:50 +0000 (08:36 +0000)]
Changed the fundemental architecture of Operands for Instructions. Now
Operands are maintained as a vector<Use> in the User class, and operator
iterators are provided as before. Getting an operand no longer requires
a virtual function call.
WARNING: getOperand(x) where x >= getNumOperands() will now assert instead
of returning null!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 7 Jul 2001 08:36:30 +0000 (08:36 +0000)]
Changed memory reference instructions to store the result as the implicit
type of the instruction.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 7 Jul 2001 08:36:05 +0000 (08:36 +0000)]
Fixed some error messages to be nicer
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@147
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 7 Jul 2001 08:33:39 +0000 (08:33 +0000)]
Add note about nuking Instruction::neg
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 6 Jul 2001 22:00:42 +0000 (22:00 +0000)]
Initial checkin
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 6 Jul 2001 16:59:10 +0000 (16:59 +0000)]
Add better support for post dominator information.
Print method name for each analysis.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 6 Jul 2001 16:58:36 +0000 (16:58 +0000)]
Add method to unify all exit nodes of a method
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 6 Jul 2001 16:58:22 +0000 (16:58 +0000)]
Implement support for postdominators, except in dom frontiers
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 6 Jul 2001 16:57:52 +0000 (16:57 +0000)]
New file, includes method to merge exit nodes together
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 6 Jul 2001 16:57:21 +0000 (16:57 +0000)]
* Add a DominatorBase base class to maintain root of Dominator info
* Implement post dominator support
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@140
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 6 Jul 2001 16:56:17 +0000 (16:56 +0000)]
* Added comments
* Made iterators inherit from appropriate iterator base class
* Abstracted out graphs from depth first iterator
* Add "Inverse" traversal of CFG
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 6 Jul 2001 16:32:07 +0000 (16:32 +0000)]
Update to include right file
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 3 Jul 2001 15:30:38 +0000 (15:30 +0000)]
Initial checkin of analyze tool.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 3 Jul 2001 15:30:21 +0000 (15:30 +0000)]
Build new analyze tool
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 3 Jul 2001 15:30:10 +0000 (15:30 +0000)]
Added analyze to path for SetupOpt script
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 3 Jul 2001 15:29:48 +0000 (15:29 +0000)]
Add analyze tool to path for Setup script
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 3 Jul 2001 15:28:35 +0000 (15:28 +0000)]
IntervalPartition was changed to inherit from vector<Interval*> instead of
contain it so that it would have full iterator access without much work.
Writer includes code to print out IntervalPartition's now.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 3 Jul 2001 15:28:08 +0000 (15:28 +0000)]
IntervalPartition was changed to inherit from vector<Interval*> instead of
contain it so that it would have full iterator access without much work.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 3 Jul 2001 15:27:41 +0000 (15:27 +0000)]
*** empty log message ***
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 3 Jul 2001 05:37:26 +0000 (05:37 +0000)]
Checkin of new Analysis result printing header
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 3 Jul 2001 05:36:34 +0000 (05:36 +0000)]
Code got moved from the lib/Assembly/Writer/IntervalWriter.cpp file to
here. Updates to correct description n stuff.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 3 Jul 2001 05:35:52 +0000 (05:35 +0000)]
Remove code for printing out Analysis data structures. It got moved
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 3 Jul 2001 05:35:23 +0000 (05:35 +0000)]
Update documentation a bit, correct #include guard
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 3 Jul 2001 05:35:04 +0000 (05:35 +0000)]
Add note about tool idea. Change command line of note to be more specific
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 2 Jul 2001 05:46:47 +0000 (05:46 +0000)]
Add printing code for dominator info
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@125
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 2 Jul 2001 05:46:38 +0000 (05:46 +0000)]
Checkin of new dominator calculation routines. These will be improved in
the future to do post dominators and stuff
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 2 Jul 2001 05:45:30 +0000 (05:45 +0000)]
Enable printing of dominator related information.
Theis will eventually be moved!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 2 Jul 2001 05:45:17 +0000 (05:45 +0000)]
Add new anaysis routines for building dominator related information
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 2 Jul 2001 01:09:41 +0000 (01:09 +0000)]
Addition of 'deleter' function.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 2 Jul 2001 01:08:08 +0000 (01:08 +0000)]
Moved deleter to include/llvm/Tools/STLExtras.h
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 30 Jun 2001 06:39:11 +0000 (06:39 +0000)]
Initial checkin. Should print dead instructions, except it doesn't do
control dependencies. :(
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 30 Jun 2001 06:38:31 +0000 (06:38 +0000)]
Include ADCE pass, rename include/Opt directory to llvm/Optimizations
Optimizations now in opt namespace.
Rename SCCP pass to DoSCCP
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 30 Jun 2001 06:37:43 +0000 (06:37 +0000)]
Rename DoSparseConditionalConstantProp -> DoSCCP
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 30 Jun 2001 06:37:33 +0000 (06:37 +0000)]
Add note
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 30 Jun 2001 06:37:16 +0000 (06:37 +0000)]
Add prototypes for ADCE pass
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 30 Jun 2001 06:37:01 +0000 (06:37 +0000)]
Rename DoSparseConditionalConstantProp to DoSCCP
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 30 Jun 2001 04:36:40 +0000 (04:36 +0000)]
Optimizations got their own header files
Optimizations now live in the 'opt' namespace
include/llvm/Opt was renamed include/llvm/Optimizations
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 30 Jun 2001 04:35:40 +0000 (04:35 +0000)]
Implement reduceApply method
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 30 Jun 2001 04:35:21 +0000 (04:35 +0000)]
Add a new pop_back() method
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111
91177308-0d34-0410-b5e6-
96231b3b80d8
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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