Commit Graph

  • cbab0f7edd Add a new "addOperand" method to User. Chris Lattner 2001-07-08 18:38:18 +00:00
  • 3590830cef Fixed post dominator frontiers! Yaay! Chris Lattner 2001-07-08 05:54:09 +00:00
  • 0908309e3c Neg instruction removed. Cast instruction implemented. Chris Lattner 2001-07-08 04:57:15 +00:00
  • f22696f209 Neg instruction removed. TODO item fulfilled. Chris Lattner 2001-07-08 04:56:59 +00:00
  • 6bcc03143b Removing unnecesary file Chris Lattner 2001-07-07 20:54:19 +00:00
  • 9f3d27654a Convert BinaryOperand and UnaryOperator to only take instruction types of the appropriate enum Chris Lattner 2001-07-07 20:17:23 +00:00
  • a41f50dea8 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 Chris Lattner 2001-07-07 19:24:15 +00:00
  • 30f24a402c Devirtualize User::dropAllReferences Chris Lattner 2001-07-07 19:00:36 +00:00
  • f229ed5248 Remove dtor's that simply call dropAllReferences Chris Lattner 2001-07-07 18:42:52 +00:00
  • c8b25d40cb 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. Chris Lattner 2001-07-07 08:36:50 +00:00
  • f0d0e9c262 Changed memory reference instructions to store the result as the implicit type of the instruction. Chris Lattner 2001-07-07 08:36:30 +00:00
  • 3fa0bc4408 Fixed some error messages to be nicer Chris Lattner 2001-07-07 08:36:05 +00:00
  • 0aa1d5e02f Add note about nuking Instruction::neg Chris Lattner 2001-07-07 08:33:39 +00:00
  • 6475bdfc71 Initial checkin Chris Lattner 2001-07-06 22:00:42 +00:00
  • c13aff657e Add better support for post dominator information. Print method name for each analysis. Chris Lattner 2001-07-06 16:59:10 +00:00
  • 63a0b2a9b4 Add method to unify all exit nodes of a method Chris Lattner 2001-07-06 16:58:36 +00:00
  • 94108ab8a3 Implement support for postdominators, except in dom frontiers Chris Lattner 2001-07-06 16:58:22 +00:00
  • 87d0461d5b New file, includes method to merge exit nodes together Chris Lattner 2001-07-06 16:57:52 +00:00
  • c348d21bf6 * Add a DominatorBase base class to maintain root of Dominator info * Implement post dominator support Chris Lattner 2001-07-06 16:57:21 +00:00
  • 18c9f915f2 * Added comments * Made iterators inherit from appropriate iterator base class * Abstracted out graphs from depth first iterator * Add "Inverse" traversal of CFG Chris Lattner 2001-07-06 16:56:17 +00:00
  • d818312d09 Update to include right file Chris Lattner 2001-07-06 16:32:07 +00:00
  • f3dc2c9a07 Initial checkin of analyze tool. Chris Lattner 2001-07-03 15:30:38 +00:00
  • 9aa97849a0 Build new analyze tool Chris Lattner 2001-07-03 15:30:21 +00:00
  • acd257efee Added analyze to path for SetupOpt script Chris Lattner 2001-07-03 15:30:10 +00:00
  • ad1bb04eec Add analyze tool to path for Setup script Chris Lattner 2001-07-03 15:29:48 +00:00
  • e6850235f5 IntervalPartition was changed to inherit from vector<Interval*> instead of contain it so that it would have full iterator access without much work. Chris Lattner 2001-07-03 15:28:35 +00:00
  • a49e015180 IntervalPartition was changed to inherit from vector<Interval*> instead of contain it so that it would have full iterator access without much work. Chris Lattner 2001-07-03 15:28:08 +00:00
  • 3ea734986e *** empty log message *** Chris Lattner 2001-07-03 15:27:41 +00:00
  • 1a46243e7f Checkin of new Analysis result printing header Chris Lattner 2001-07-03 05:37:26 +00:00
  • 3d98049e38 Code got moved from the lib/Assembly/Writer/IntervalWriter.cpp file to here. Updates to correct description n stuff. Chris Lattner 2001-07-03 05:36:34 +00:00
  • d1ee90f1a5 Remove code for printing out Analysis data structures. It got moved Chris Lattner 2001-07-03 05:35:52 +00:00
  • 953932d779 Update documentation a bit, correct #include guard Chris Lattner 2001-07-03 05:35:23 +00:00
  • 100efcbce9 Add note about tool idea. Change command line of note to be more specific Chris Lattner 2001-07-03 05:35:04 +00:00
  • 347bfdad7f Add printing code for dominator info Chris Lattner 2001-07-02 05:46:47 +00:00
  • 1715229db9 Checkin of new dominator calculation routines. These will be improved in the future to do post dominators and stuff Chris Lattner 2001-07-02 05:46:38 +00:00
  • f50b952b93 Enable printing of dominator related information. Chris Lattner 2001-07-02 05:45:30 +00:00
  • 70b6337d68 Add new anaysis routines for building dominator related information Chris Lattner 2001-07-02 05:45:17 +00:00
  • 577b15f70e Addition of 'deleter' function. Chris Lattner 2001-07-02 01:09:41 +00:00
  • bd4996ad68 Moved deleter to include/llvm/Tools/STLExtras.h Chris Lattner 2001-07-02 01:08:08 +00:00
  • 02e90d59c8 Initial checkin. Should print dead instructions, except it doesn't do control dependencies. :( Chris Lattner 2001-06-30 06:39:11 +00:00
  • 95781b6ca9 Include ADCE pass, rename include/Opt directory to llvm/Optimizations Optimizations now in opt namespace. Rename SCCP pass to DoSCCP Chris Lattner 2001-06-30 06:38:31 +00:00
  • 49c8f64747 Rename DoSparseConditionalConstantProp -> DoSCCP Chris Lattner 2001-06-30 06:37:43 +00:00
  • 05b9a7f7b8 Add note Chris Lattner 2001-06-30 06:37:33 +00:00
  • 8ea0755f98 Add prototypes for ADCE pass Chris Lattner 2001-06-30 06:37:16 +00:00
  • d8d8c836e7 Rename DoSparseConditionalConstantProp to DoSCCP Chris Lattner 2001-06-30 06:37:01 +00:00
  • 7e02b7e600 Optimizations got their own header files Optimizations now live in the 'opt' namespace include/llvm/Opt was renamed include/llvm/Optimizations Chris Lattner 2001-06-30 04:36:40 +00:00
  • 28bf86ac00 Implement reduceApply method Chris Lattner 2001-06-30 04:35:40 +00:00
  • a7e26118a2 Add a new pop_back() method Chris Lattner 2001-06-30 04:35:21 +00:00
  • b9b8959091 The ConstRules class got moved to the opt namespace Chris Lattner 2001-06-30 04:35:01 +00:00
  • d180e0fda7 Add a reduceApply method Chris Lattner 2001-06-30 04:34:42 +00:00
  • 50d0b7ec3f Split AllOpts.h into lots of little .h files. Chris Lattner 2001-06-30 04:34:07 +00:00
  • 2b05880476 Export ConstantFoldTerminator, allow it to fold conditional branches to the same label. Chris Lattner 2001-06-29 23:56:58 +00:00
  • cb056de508 Added documentation. Constant fold terminators. Chris Lattner 2001-06-29 23:56:23 +00:00
  • 4b52471bed Added prototype for ConstantFoldTerminator Chris Lattner 2001-06-29 23:56:00 +00:00
  • 7b8ec2d752 Add a check to avoid allowing V->replaceAllUsesWith(V) Chris Lattner 2001-06-29 05:25:51 +00:00
  • b47af25099 Add implementation of BasicBlock::removePredecessor code that was factored out of DCE.cpp Chris Lattner 2001-06-29 05:25:23 +00:00
  • 25d17a5001 * Factored RemovePredecessorFromBlock into BasicBlock::removePredecessor * Avoid messing around with this case: br label %A %A: br label %A * Enable optimizations that are correct now. Chris Lattner 2001-06-29 05:24:28 +00:00
  • bca26a4c6b We need to make sure to remove PHI nodes in the successor that cannot be executed when removing branch dest. Chris Lattner 2001-06-29 05:23:10 +00:00
  • 1be1d79a1d Added a note about a new verification the verifier should do Removed a redundant check Chris Lattner 2001-06-29 05:22:12 +00:00
  • 7b6f5a3ee9 Added new removePredecessor method prototype Chris Lattner 2001-06-29 05:21:42 +00:00
  • 3f7fe711fb Added note, moved note Chris Lattner 2001-06-29 05:21:05 +00:00
  • b19e59cb8d Fixed the obnoxious problem that caused an entire directory to rebuild even if you only change one .cpp file. Yaay Chris Lattner 2001-06-29 05:20:16 +00:00
  • 7fc9fe3439 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 Chris Lattner 2001-06-27 23:41:11 +00:00
  • 138a124f09 Add a new Sparse Conditional Constant Propogation pass Chris Lattner 2001-06-27 23:38:11 +00:00
  • 241b064267 Add command line arguments for Constant Pool Merging & Sparse Conditional Constant Prop Chris Lattner 2001-06-27 23:37:58 +00:00
  • b351ab8c1b Put in test of SCCP. Watch out though, because we need to sort the constant pool for the final check to work. :( Chris Lattner 2001-06-27 23:37:22 +00:00
  • 8a36b31e1a Change to use the new GenericBinaryInst class. Support lots more operators. Chris Lattner 2001-06-27 23:36:49 +00:00
  • 3b34c59dcb Misc cleanup Chris Lattner 2001-06-27 23:36:09 +00:00
  • 531450d8a6 * Expose DoConstantPoolMerging * Cleanups (post->pre increment, new cleaner API, etc) * Moved stuff into ConstantHandling.h Chris Lattner 2001-06-27 23:35:26 +00:00
  • 079df31921 Convert ugly postincrement to efficient preincrement Chris Lattner 2001-06-27 23:34:01 +00:00
  • 42e018c805 * Move stuff around a bit. * Add reduce_apply_bool Chris Lattner 2001-06-27 23:32:12 +00:00
  • 6bb09d96a0 Add instructions to fold unary and binary instructions. Chris Lattner 2001-06-27 23:31:34 +00:00
  • 3596366bed * Use the new reduce_apply_bool template * Expose Constant Pool Merging from ConstantProp.cpp * Include definitions for SCCP pass * InstListType is not neccesary anymore Chris Lattner 2001-06-27 23:31:14 +00:00
  • 776885f34d getBasicBlocks() is not needed anymore for reading Method data Chris Lattner 2001-06-27 23:30:11 +00:00
  • a576e17ced Added methods to make dealing with switches and branch instructions more tolerable. Chris Lattner 2001-06-27 23:29:41 +00:00
  • eef4d787f0 Minor formating changes Chris Lattner 2001-06-27 23:29:21 +00:00
  • 9af81a685e Make a new GenericBinaryInst class, instead of providing lots of silly little classes. Chris Lattner 2001-06-27 23:28:50 +00:00
  • 17262f7784 Convert postincrements to more efficient preincrements Chris Lattner 2001-06-27 23:28:02 +00:00
  • e02cb164b1 Add a new slew of functions to allow dynamic_cast<> like operation for upcasting Value's to their subclasses. Chris Lattner 2001-06-27 23:27:42 +00:00
  • 1020b3982c 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. Chris Lattner 2001-06-27 23:26:41 +00:00
  • 0305cfd3cc Add more notes Chris Lattner 2001-06-27 23:24:50 +00:00
  • cfce6c0686 Filter out some more stuff Chris Lattner 2001-06-27 23:24:22 +00:00
  • 20554f11d0 Moved UnaryOperator::create to InstrTypes.cpp until there is an iUnaryOps.cpp Moved BinaryOperator::create to iBinaryOperators.cpp Add getUniqueName to SymbolTable Chris Lattner 2001-06-25 07:33:13 +00:00
  • d473a0acc4 Implement induction variable injection! Chris Lattner 2001-06-25 07:32:19 +00:00
  • bebd60dc9d Renamed get.*Operator to create seeing that it would have to be qualified with the classname anyways. Chris Lattner 2001-06-25 07:31:31 +00:00
  • 3bcd6394ec * 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 Chris Lattner 2001-06-25 07:31:05 +00:00
  • 53b1c0161d A silly stupid test of the loop depth calculator was added. REMOVE in the future. Chris Lattner 2001-06-25 03:55:37 +00:00
  • 23e36625a2 IntervalPartition: recode to use IntervalIterator to do all the work Chris Lattner 2001-06-25 03:55:04 +00:00
  • 3704c8cfff Add a helper function bind_obj Chris Lattner 2001-06-25 03:54:32 +00:00
  • 4dd88f6fbf 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. Chris Lattner 2001-06-25 03:54:14 +00:00
  • d6a7b7552f CFG.h: change the iterator tag Method.h: Add an iterator type. Chris Lattner 2001-06-25 03:52:19 +00:00
  • 5289d52a55 ValueHolder's aren't interseting to me anymore Chris Lattner 2001-06-25 03:51:53 +00:00
  • 2d676c961e New file due to the Intervals.h splitup Chris Lattner 2001-06-24 04:07:44 +00:00
  • a9a96efba4 New files due to the Intervals.h splitup Chris Lattner 2001-06-24 04:07:37 +00:00
  • 4ea55136c1 Add a useless phi for testing with InductionVariables stuff Chris Lattner 2001-06-24 04:06:23 +00:00
  • c9f39b26c0 #include a different header due to Intervals.h splitting up Chris Lattner 2001-06-24 04:05:45 +00:00
  • 107109c2cd IntervalPartition & IntervalIterator classes have been split out into their own .h files & .cpp file Chris Lattner 2001-06-24 04:05:21 +00:00
  • 75517097e7 IntervalPartition & IntervalIterator classes have been split out into their own .h files Chris Lattner 2001-06-24 04:05:09 +00:00
  • a0eb461263 Prepare for split between Interval, IntervalIterator, and IntervalIPartition Chris Lattner 2001-06-24 03:25:01 +00:00
  • cf1760aff0 Addition of IntervalIterator. Preparing for rename of Intervals.h to Interval.h, IntervalPartition.h, and IntervalIterator.h Chris Lattner 2001-06-24 03:22:59 +00:00