summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Analysis/DataStructure/Local.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Make sure to add global variable initializers to the Globals graph!Chris Lattner2003-09-201-15/+69
| | | | llvm-svn: 8636
* Add special case handling for calloc and reallocChris Lattner2003-09-201-0/+16
| | | | llvm-svn: 8630
* Switch from using CallInst's to represent call sites to using the LLVMChris Lattner2003-09-201-15/+23
| | | | | | | CallSite class. Now we can represent function calls by invoke instructions too! llvm-svn: 8629
* Fixed spelling and grammar.Misha Brukman2003-09-111-1/+1
| | | | llvm-svn: 8478
* DEBUG got moved to Support/Debug.hChris Lattner2003-08-011-2/+2
| | | | llvm-svn: 7492
* Remove dead Nodes listChris Lattner2003-07-021-6/+4
| | | | llvm-svn: 7065
* Make local pass print out its progressChris Lattner2003-07-021-0/+3
| | | | llvm-svn: 7058
* Do not delete the same graph multiple times when freeing memory if graphs ↵Chris Lattner2003-06-301-3/+6
| | | | | | are sharing llvm-svn: 6998
* Move usages of explicit hash_* datastructures to use typedefsChris Lattner2003-06-301-4/+3
| | | | llvm-svn: 6996
* Revamp DSGraphs so that they can support multiple functions in the sameChris Lattner2003-06-301-9/+10
| | | | | | DSGraph at one time llvm-svn: 6994
* * Changes to make NodeType be private to DSNode.Chris Lattner2003-06-191-18/+24
| | | | | | | | * Add new MultiObject flag to DSNode which keeps track of whether or not multiple objects have been merged into the node, allowing must-alias info to be tracked. llvm-svn: 6794
* Nodes get forwarded when they are collapsed currently.Chris Lattner2003-06-161-1/+4
| | | | llvm-svn: 6696
* Don't apply type information to load instructions if it will cause collapsingChris Lattner2003-03-031-1/+1
| | | | llvm-svn: 5684
* Don't put integer pointers (longs) into the scalar map.Chris Lattner2003-02-141-0/+10
| | | | | | This speeds stuff up by 10% on some tests, woot! llvm-svn: 5564
* Implement a "union-findy" version of DS-Analysis, which eliminates theChris Lattner2003-02-111-2/+1
| | | | | | Referrers list on DSNodes. llvm-svn: 5536
* Don't insert null entries into the scalar map for constexpr (cast null to Ty)Chris Lattner2003-02-091-5/+11
| | | | llvm-svn: 5523
* Add a flag which effectively disables field sensitivityChris Lattner2003-02-081-0/+5
| | | | llvm-svn: 5506
* Implement optimization for direct function call case. This dramaticallyChris Lattner2003-02-051-2/+14
| | | | | | | reduces the number of function nodes created and speeds up analysis by about 10% overall. llvm-svn: 5495
* Fix a huge bug with handling non-pointer instructionsChris Lattner2003-02-041-1/+16
| | | | llvm-svn: 5491
* Change DSGraph stuff to use hash_(set|map) instead of std::(set|map)Chris Lattner2003-02-011-4/+4
| | | | | | This change provides a small (3%) but consistent speedup llvm-svn: 5460
* Remove using declarationsChris Lattner2003-02-011-9/+6
| | | | llvm-svn: 5456
* free instructions mark their operands as being heap nodes.Chris Lattner2003-01-281-1/+2
| | | | llvm-svn: 5425
* * Eliminate boolean arguments in favor of using enumsChris Lattner2003-01-231-2/+2
| | | | | | * T-D pass now eliminates unreachable globals llvm-svn: 5419
* Slight efficiency improvementChris Lattner2003-01-231-4/+1
| | | | llvm-svn: 5418
* Two bug fixes:Vikram S. Adve2002-12-061-13/+22
| | | | | | | | (1) Make entries for Constant values in the ScalarMap. (2) Set MOD bit for the node pointed to by the argument of a free instruction. llvm-svn: 4948
* Add peak memory usage supportChris Lattner2002-11-181-1/+4
| | | | llvm-svn: 4748
* Initialize PrintAuxCalls memberChris Lattner2002-11-101-0/+1
| | | | llvm-svn: 4677
* eliminate the ability to remove global nodes from deadNodeElminate... for now.Chris Lattner2002-11-091-1/+1
| | | | | | | This slows stuff down a bit, but it should get much better before it gets any worse. llvm-svn: 4666
* Add globals graphs to all three passesChris Lattner2002-11-091-10/+10
| | | | llvm-svn: 4663
* Clean up DSGraph::removeDeadNodes interfaceChris Lattner2002-11-091-1/+1
| | | | llvm-svn: 4660
* Make removeTriviallyDeadNodes a private interface of DSGraphChris Lattner2002-11-091-3/+3
| | | | llvm-svn: 4659
* Don't put constants into the scalar map!Chris Lattner2002-11-091-9/+13
| | | | llvm-svn: 4657
* Add initial support for a globals graphChris Lattner2002-11-091-2/+6
| | | | llvm-svn: 4656
* #include Datastructure.h firstChris Lattner2002-11-091-1/+1
| | | | llvm-svn: 4654
* * actually handle constants (especially constantexprs) correctly.Chris Lattner2002-11-081-11/+28
| | | | | | | - This seems to dramatically improve many benchmarks, only slowing down gzip significantly. llvm-svn: 4621
* Rename DataStructureAnalysis namespace to DSChris Lattner2002-11-071-4/+2
| | | | llvm-svn: 4596
* Dramatically simplify internal DSNode representation, get implementationChris Lattner2002-11-061-13/+14
| | | | | | | *FULLY OPERATIONAL* and safe. We are now capable of completely analyzing at LEAST the Olden benchmarks + 181.mcf llvm-svn: 4562
* Rename ValueMap to ScalarMapChris Lattner2002-11-031-9/+9
| | | | llvm-svn: 4516
* Rename NewNode flag to HeapNodeChris Lattner2002-11-031-1/+1
| | | | llvm-svn: 4515
* Implement the "unknown flag" which mainly consists of aligning printing codeChris Lattner2002-11-021-5/+10
| | | | llvm-svn: 4490
* Stop representing scalars as explicit nodes in the graph. Now the onlyChris Lattner2002-11-021-113/+75
| | | | | | | | | 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
* Remove dead codeChris Lattner2002-10-311-31/+12
| | | | llvm-svn: 4467
* This fixes all kinds of problems with array handling. There are still bugs toChris Lattner2002-10-311-31/+80
| | | | | | | | | | | | | | | | 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
* Don't create a new node for every reference to a global. This caused a hugeChris Lattner2002-10-211-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
* - Make DSCallSite not inherit from std::vector. Renamed methods slightly.Chris Lattner2002-10-211-14/+17
| | | | | | | | 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 copyChris Lattner2002-10-201-2/+1
| | | | llvm-svn: 4239
* Remove spurious caller pointer in DSCallSite.Vikram S. Adve2002-10-201-1/+1
| | | | | | Also add functions to access pointer argument nodes cleanly. llvm-svn: 4235
* Added a first-class representation for each call site that can beVikram S. Adve2002-10-201-4/+4
| | | | | | | | | 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 pairChris Lattner2002-10-181-1/+0
| | | | llvm-svn: 4226
* Calculate mod/ref infoChris Lattner2002-10-171-0/+3
| | | | llvm-svn: 4223
OpenPOWER on IntegriCloud