aboutsummaryrefslogtreecommitdiffstats
path: root/include
Commit message (Collapse)AuthorAgeFilesLines
* Add a function to convert a double to a stringChris Lattner2001-07-151-0/+7
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187 91177308-0d34-0410-b5e6-96231b3b80d8
* Add support to write and read a fixed amount of raw dataChris Lattner2001-07-151-0/+31
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186 91177308-0d34-0410-b5e6-96231b3b80d8
* * The parent of a constant pool is a SymTabValue, not a value.Chris Lattner2001-07-142-0/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178 91177308-0d34-0410-b5e6-96231b3b80d8
* Made the following changes:Chris Lattner2001-07-1411-36/+54
| | | | | | | | | | | | | | | | * 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
* Made it not inlineChris Lattner2001-07-121-3/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174 91177308-0d34-0410-b5e6-96231b3b80d8
* Add DebugValue global functionChris Lattner2001-07-121-0/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173 91177308-0d34-0410-b5e6-96231b3b80d8
* hasSideEffects should be marked virtualChris Lattner2001-07-092-1/+5
| | | | | | | stores and free's have sideeffects git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@170 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix stupid typoChris Lattner2001-07-091-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168 91177308-0d34-0410-b5e6-96231b3b80d8
* Implementation of Store & GetElementPtrChris Lattner2001-07-082-12/+86
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@164 91177308-0d34-0410-b5e6-96231b3b80d8
* Implemented shl, shl, & load instructionsChris Lattner2001-07-082-31/+82
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@161 91177308-0d34-0410-b5e6-96231b3b80d8
* Moved Cast from being a Unary instruction to being an "Other" instructionChris Lattner2001-07-084-9/+30
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@160 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a new "addOperand" method to User.Chris Lattner2001-07-081-0/+10
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158 91177308-0d34-0410-b5e6-96231b3b80d8
* Neg instruction removed. Cast instruction implemented.Chris Lattner2001-07-084-17/+21
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156 91177308-0d34-0410-b5e6-96231b3b80d8
* Convert BinaryOperand and UnaryOperator to only take instruction types ofChris Lattner2001-07-072-5/+13
| | | | | | | the appropriate enum git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153 91177308-0d34-0410-b5e6-96231b3b80d8
* Broad superficial changes:Chris Lattner2001-07-076-19/+20
| | | | | | | | | | * 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
* Devirtualize User::dropAllReferencesChris Lattner2001-07-071-3/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove dtor's that simply call dropAllReferencesChris Lattner2001-07-074-23/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@150 91177308-0d34-0410-b5e6-96231b3b80d8
* Changed the fundemental architecture of Operands for Instructions. NowChris Lattner2001-07-079-361/+156
| | | | | | | | | | | | 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
* New file, includes method to merge exit nodes togetherChris Lattner2001-07-061-0/+27
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141 91177308-0d34-0410-b5e6-96231b3b80d8
* * Add a DominatorBase base class to maintain root of Dominator infoChris Lattner2001-07-061-24/+46
| | | | | | | * Implement post dominator support git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@140 91177308-0d34-0410-b5e6-96231b3b80d8
* * Added commentsChris Lattner2001-07-062-65/+133
| | | | | | | | | * 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
* IntervalPartition was changed to inherit from vector<Interval*> instead ofChris Lattner2001-07-032-10/+8
| | | | | | | 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
* Checkin of new Analysis result printing headerChris Lattner2001-07-031-0/+49
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove code for printing out Analysis data structures. It got movedChris Lattner2001-07-031-38/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128 91177308-0d34-0410-b5e6-96231b3b80d8
* Update documentation a bit, correct #include guardChris Lattner2001-07-031-4/+12
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127 91177308-0d34-0410-b5e6-96231b3b80d8
* Enable printing of dominator related information.Chris Lattner2001-07-021-2/+27
| | | | | | | Theis will eventually be moved! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123 91177308-0d34-0410-b5e6-96231b3b80d8
* Add new anaysis routines for building dominator related informationChris Lattner2001-07-021-0/+190
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122 91177308-0d34-0410-b5e6-96231b3b80d8
* Addition of 'deleter' function.Chris Lattner2001-07-021-0/+12
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121 91177308-0d34-0410-b5e6-96231b3b80d8
* Add prototypes for ADCE passChris Lattner2001-06-301-3/+9
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115 91177308-0d34-0410-b5e6-96231b3b80d8
* Rename DoSparseConditionalConstantProp to DoSCCPChris Lattner2001-06-301-9/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a new pop_back() methodChris Lattner2001-06-301-0/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111 91177308-0d34-0410-b5e6-96231b3b80d8
* The ConstRules class got moved to the opt namespaceChris Lattner2001-06-301-4/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a reduceApply methodChris Lattner2001-06-301-0/+7
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109 91177308-0d34-0410-b5e6-96231b3b80d8
* Split AllOpts.h into lots of little .h files.Chris Lattner2001-06-307-111/+208
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108 91177308-0d34-0410-b5e6-96231b3b80d8
* Added prototype for ConstantFoldTerminatorChris Lattner2001-06-291-0/+11
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105 91177308-0d34-0410-b5e6-96231b3b80d8
* Added new removePredecessor method prototypeChris Lattner2001-06-291-0/+8
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99 91177308-0d34-0410-b5e6-96231b3b80d8
* Miscellaneous cleanups:Chris Lattner2001-06-271-8/+13
| | | | | | | | | | | | * 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
* * Move stuff around a bit.Chris Lattner2001-06-271-36/+55
| | | | | | | * Add reduce_apply_bool git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88 91177308-0d34-0410-b5e6-96231b3b80d8
* Add instructions to fold unary and binary instructions.Chris Lattner2001-06-271-0/+32
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@87 91177308-0d34-0410-b5e6-96231b3b80d8
* * Use the new reduce_apply_bool templateChris Lattner2001-06-271-3/+32
| | | | | | | | | * 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
* getBasicBlocks() is not needed anymore for reading Method dataChris Lattner2001-06-271-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85 91177308-0d34-0410-b5e6-96231b3b80d8
* Added methods to make dealing with switches and branch instructionsChris Lattner2001-06-271-1/+22
| | | | | | | more tolerable. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84 91177308-0d34-0410-b5e6-96231b3b80d8
* Minor formating changesChris Lattner2001-06-271-2/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83 91177308-0d34-0410-b5e6-96231b3b80d8
* Make a new GenericBinaryInst class, instead of providing lots of sillyChris Lattner2001-06-271-15/+7
| | | | | | | little classes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a new slew of functions to allow dynamic_cast<> like operation forChris Lattner2001-06-271-1/+59
| | | | | | | upcasting Value's to their subclasses. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80 91177308-0d34-0410-b5e6-96231b3b80d8
* Add extra forwarding accessor methods so that getMethodList(), getBasicBlocks()Chris Lattner2001-06-273-17/+101
| | | | | | | | 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
* * Rename get.*Operator to create seeing that it would have to be qualifiedChris Lattner2001-06-254-12/+28
| | | | | | | | | | 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
* Add a helper function bind_objChris Lattner2001-06-251-0/+16
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70 91177308-0d34-0410-b5e6-96231b3b80d8
* Big changes. Interval*.h is now more or less finalized. IntervalPartitionChris Lattner2001-06-254-64/+106
| | | | | | | | | | | | | | 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
* CFG.h: change the iterator tagChris Lattner2001-06-252-1/+3
| | | | | | | Method.h: Add an iterator type. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@68 91177308-0d34-0410-b5e6-96231b3b80d8