Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | Compute total number of nodes and # call nodes | Chris Lattner | 2002-11-07 | 1 | -0/+6 | |
| | | | | llvm-svn: 4592 | |||||
* | Move printouts to be wrapped in DEBUG() macros | Chris Lattner | 2002-11-07 | 1 | -7/+7 | |
| | | | | llvm-svn: 4588 | |||||
* | When the -only-print-main-ds option is specified, still print out graph size | Chris Lattner | 2002-11-07 | 1 | -2/+9 | |
| | | | | | | statistics for skipped functions llvm-svn: 4587 | |||||
* | Change Steens class to build with Vikram's changes | Chris Lattner | 2002-11-06 | 1 | -4/+4 | |
| | | | | llvm-svn: 4572 | |||||
* | Make PointerSize & Shift be enums | Chris Lattner | 2002-11-06 | 1 | -6/+1 | |
| | | | | | | Fix problem with recursive merging llvm-svn: 4570 | |||||
* | Dramatically simplify internal DSNode representation, get implementation | Chris Lattner | 2002-11-06 | 3 | -304/+270 | |
| | | | | | | | *FULLY OPERATIONAL* and safe. We are now capable of completely analyzing at LEAST the Olden benchmarks + 181.mcf llvm-svn: 4562 | |||||
* | Delete "StripScalars" argument to cloneInto method | Chris Lattner | 2002-11-06 | 2 | -2/+0 | |
| | | | | llvm-svn: 4560 | |||||
* | Attempted fixes to the mergemap to make it work better. | Chris Lattner | 2002-11-05 | 1 | -15/+28 | |
| | | | | | | Ended up disabling merge map merging completely. It shall be removed. llvm-svn: 4550 | |||||
* | Change the "Cannot merge two portions of the same node yet" from an assertion | Chris Lattner | 2002-11-04 | 1 | -6/+13 | |
| | | | | | | into a "oh crap, lets collapse" case llvm-svn: 4530 | |||||
* | Give a better error message in an unhandled case | Chris Lattner | 2002-11-04 | 1 | -1/+8 | |
| | | | | llvm-svn: 4521 | |||||
* | Rename ValueMap to ScalarMap | Chris Lattner | 2002-11-03 | 5 | -44/+45 | |
| | | | | llvm-svn: 4516 | |||||
* | Rename NewNode flag to HeapNode | Chris Lattner | 2002-11-03 | 3 | -4/+5 | |
| | | | | llvm-svn: 4515 | |||||
* | Change the letters used to represent stack and heap allocations to "S" and "H" | Chris Lattner | 2002-11-03 | 1 | -2/+2 | |
| | | | | | | respectively. This is to make presentation easier in the paper. llvm-svn: 4514 | |||||
* | Implement the "unknown flag" which mainly consists of aligning printing code | Chris Lattner | 2002-11-02 | 2 | -11/+17 | |
| | | | | llvm-svn: 4490 | |||||
* | Oops, this was not meant to be checked in | Chris Lattner | 2002-11-02 | 1 | -2/+1 | |
| | | | | llvm-svn: 4489 | |||||
* | Stop representing scalars as explicit nodes in the graph. Now the only | Chris Lattner | 2002-11-02 | 4 | -170/+133 | |
| | | | | | | | | | nodes in the graph are memory objects, which is very nice. This also greatly reduces the size and memory footprint for DSGraphs. For example, the local DSGraph for llu went from 65 to 13 nodes with this change. As a side bonus, dot seems to lay out the graphs slightly better too. :) llvm-svn: 4488 | |||||
* | Fix comments, steens is context sensitive, we just haven't implemented | Chris Lattner | 2002-11-01 | 1 | -3/+3 | |
| | | | | | | mod/ref apis yet llvm-svn: 4485 | |||||
* | Add a fixme | Chris Lattner | 2002-10-31 | 1 | -0/+2 | |
| | | | | llvm-svn: 4479 | |||||
* | * Minor optimization: when merging nodes, merge the smaller one into the | Chris Lattner | 2002-10-31 | 1 | -3/+13 | |
| | | | | | | | larger one. * Handle the case where we are merging two nodes of different size better. llvm-svn: 4476 | |||||
* | Remove dead code | Chris Lattner | 2002-10-31 | 1 | -31/+12 | |
| | | | | llvm-svn: 4467 | |||||
* | This fixes all kinds of problems with array handling. There are still bugs to | Chris Lattner | 2002-10-31 | 2 | -83/+244 | |
| | | | | | | | | | | | | | | | | be fixed, but we are getting much closer now. * Make DSNode::TypeRec a full fledged DSTypeRec type. * Add methods used to update and access the typerecords elements * Add methods to query if and to cause a node to be completely folded * DSGraph construction doesn't use the allocation type for anything at all, now nodes get their type information based on how they are used. * Fixed a bug with global value handling introduced in the last checkin * GEP support is now much better, arrays are handled correctly. The array flag is now updated in type records. There are still cases that are not handled yet (we do not detect pessimizations), but getting much closer. llvm-svn: 4465 | |||||
* | - Make sure to only keep track of mappings that the TD pass may need in the | Chris Lattner | 2002-10-22 | 1 | -4/+46 | |
| | | | | | | | | future. This prevents having spurious map entries to nodes that we really don't care about. This allows us to reenable the DeadNodeElim, which was disabled. llvm-svn: 4260 | |||||
* | The callee is not correct, and confuses the TD pass. Null it out. | Chris Lattner | 2002-10-22 | 1 | -0/+1 | |
| | | | | llvm-svn: 4259 | |||||
* | Delete unused arguments to DSGraph::cloneInto method | Chris Lattner | 2002-10-21 | 3 | -8/+3 | |
| | | | | llvm-svn: 4253 | |||||
* | - Add "ResolvingCaller" to the CallSite record. This keeps track of which | Chris Lattner | 2002-10-21 | 2 | -12/+27 | |
| | | | | | | | | function was finally able to resolve the function call. Adding this allows the TD pass to actually work right! - Temporarily disable dead node pruning. This will be reenabled soon. llvm-svn: 4252 | |||||
* | Add another copy ctor form | Chris Lattner | 2002-10-21 | 1 | -0/+5 | |
| | | | | llvm-svn: 4251 | |||||
* | As it turns out, we don't need a fully generic mapping copy ctor, we just need | Chris Lattner | 2002-10-21 | 2 | -36/+8 | |
| | | | | | | | something that maps through a std::map. Since this simplified the client and implementation code, do so now. llvm-svn: 4250 | |||||
* | Don't create a new node for every reference to a global. This caused a huge | Chris Lattner | 2002-10-21 | 1 | -5/+2 | |
| | | | | | | | node explosion that doesn't help anything at all. In previous versions of the representation this DID help, but not anymore. llvm-svn: 4249 | |||||
* | Fix a confusing bug that caused return value and callee pointers to not | Chris Lattner | 2002-10-21 | 1 | -0/+10 | |
| | | | | | | be printed! llvm-svn: 4248 | |||||
* | Remove some unneccesary 'using' directives | Chris Lattner | 2002-10-21 | 2 | -6/+4 | |
| | | | | llvm-svn: 4246 | |||||
* | Fix bug with prior checkin | Chris Lattner | 2002-10-21 | 1 | -2/+2 | |
| | | | | llvm-svn: 4242 | |||||
* | - Make DSCallSite not inherit from std::vector. Renamed methods slightly. | Chris Lattner | 2002-10-21 | 6 | -64/+95 | |
| | | | | | | | | Make copy ctor have two versions to avoid dealing with conditional template argument. DSCallSite ctor now takes all arguments instead of taking one and being populated later. llvm-svn: 4240 | |||||
* | Avoid extra copy | Chris Lattner | 2002-10-20 | 1 | -2/+1 | |
| | | | | llvm-svn: 4239 | |||||
* | Simplify code a bit, add comment flyer | Chris Lattner | 2002-10-20 | 1 | -10/+11 | |
| | | | | llvm-svn: 4238 | |||||
* | Split some long lines | Chris Lattner | 2002-10-20 | 1 | -3/+4 | |
| | | | | llvm-svn: 4237 | |||||
* | Remove spurious caller pointer in DSCallSite. | Vikram S. Adve | 2002-10-20 | 5 | -23/+32 | |
| | | | | | | Also add functions to access pointer argument nodes cleanly. llvm-svn: 4235 | |||||
* | This function can be static | Chris Lattner | 2002-10-20 | 1 | -2/+2 | |
| | | | | llvm-svn: 4234 | |||||
* | Fix previous checkin :( | Chris Lattner | 2002-10-20 | 1 | -1/+1 | |
| | | | | llvm-svn: 4233 | |||||
* | Avoid extra callSite copy | Chris Lattner | 2002-10-20 | 1 | -1/+1 | |
| | | | | llvm-svn: 4232 | |||||
* | Print the array flag | Chris Lattner | 2002-10-20 | 1 | -0/+2 | |
| | | | | llvm-svn: 4231 | |||||
* | Added a first-class representation for each call site that can be | Vikram S. Adve | 2002-10-20 | 6 | -60/+76 | |
| | | | | | | | | | used in the DS graphs. Essentially, what was vector<DSNodeHandle> before is now a DSCallSite with the same vector, plus pointers to the CallInst and the caller Function. The special-purpose class BUDataStructure::CallSite is no longer needed. llvm-svn: 4228 | |||||
* | Convert typerec to be a structure instead of a pair | Chris Lattner | 2002-10-18 | 3 | -8/+7 | |
| | | | | llvm-svn: 4226 | |||||
* | Print Mod/ref info | Chris Lattner | 2002-10-17 | 1 | -0/+2 | |
| | | | | llvm-svn: 4224 | |||||
* | Calculate mod/ref info | Chris Lattner | 2002-10-17 | 1 | -0/+3 | |
| | | | | llvm-svn: 4223 | |||||
* | Remove more obsolete code | Chris Lattner | 2002-10-17 | 1 | -31/+0 | |
| | | | | llvm-svn: 4221 | |||||
* | * Make the DSGraph cloner automatically merge global nodes | Chris Lattner | 2002-10-17 | 3 | -47/+15 | |
| | | | | | | | | * BUClosure doesn't have to worry about global nodes * TDClosure now works with global nodes * Reenable DNE on TD pass, now that globals work right llvm-svn: 4220 | |||||
* | Remove obsolete code | Chris Lattner | 2002-10-17 | 2 | -35/+0 | |
| | | | | llvm-svn: 4218 | |||||
* | Enable incompleteness marking | Chris Lattner | 2002-10-17 | 1 | -2/+2 | |
| | | | | llvm-svn: 4217 | |||||
* | * First try at implementing TD pass this does not merge global nodes yet, | Chris Lattner | 2002-10-17 | 1 | -117/+82 | |
| | | | | | | | | among other things. * Significant rewrite of TD pass to avoid potentially N^2 algorithms if possible. It is still not complete, but at least it's checked in now. llvm-svn: 4215 | |||||
* | Reenable printing of TD analysis | Chris Lattner | 2002-10-17 | 1 | -3/+2 | |
| | | | | llvm-svn: 4214 |