summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Analysis/RegionInfo.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Make some symbols static, move classes into anonymous namespaces.Benjamin Kramer2010-10-221-1/+1
| | | | llvm-svn: 117111
* Get rid of static constructors for pass registration. Instead, every pass ↵Owen Anderson2010-10-191-0/+1
| | | | | | | | | | | | | | | | | exposes an initializeMyPassFunction(), which must be called in the pass's constructor. This function uses static dependency declarations to recursively initialize the pass's dependencies. Clients that only create passes through the createFooPass() APIs will require no changes. Clients that want to use the CommandLine options for passes will need to manually call the appropriate initialization functions in PassInitialization.h before parsing commandline arguments. I have tested this with all standard configurations of clang and llvm-gcc on Darwin. It is possible that there are problems with the static dependencies that will only be visible with non-standard options. If you encounter any crash in pass registration/creation, please send the testcase to me directly. llvm-svn: 116820
* Add Region::isTopLevelRegion().Tobias Grosser2010-10-131-3/+3
| | | | llvm-svn: 116402
* RegionInfo: Fix trivial error that slipped in last minute.Tobias Grosser2010-10-131-1/+1
| | | | llvm-svn: 116400
* RegionInfo: Update RegionInfo after a BB was split.Tobias Grosser2010-10-131-0/+13
| | | | llvm-svn: 116398
* RegioInfo: Add getExpandedRegion().Tobias Grosser2010-10-131-0/+32
| | | | | | | getExpandedRegion() enables us to create non canonical regions. Those regions can be used to define the largerst region, that fullfills a certain property. llvm-svn: 116397
* RegionInfo: Allow to update exit and entry of a region.Tobias Grosser2010-10-131-0/+9
| | | | llvm-svn: 116396
* RegionInfo: Enhance addSubregion.Tobias Grosser2010-10-131-4/+29
| | | | llvm-svn: 116395
* RegionInfo: Allow to set the parent region of a basic block.Tobias Grosser2010-10-131-1/+4
| | | | llvm-svn: 116394
* RegionInfo: Free the RegionNodes in cache.Tobias Grosser2010-10-131-0/+5
| | | | | | Contributed by: ether llvm-svn: 116380
* Begin adding static dependence information to passes, which will allow us toOwen Anderson2010-10-121-1/+6
| | | | | | | | | perform initialization without static constructors AND without explicit initialization by the client. For the moment, passes are required to initialize both their (potential) dependencies and any passes they preserve. I hope to be able to relax the latter requirement in the future. llvm-svn: 116334
* Now with fewer extraneous semicolons!Owen Anderson2010-10-071-1/+1
| | | | llvm-svn: 115996
* RegionInfo: Do not assert if a BB is not part of the dominance tree.Tobias Grosser2010-08-101-2/+4
| | | | llvm-svn: 110665
* Reapply r110396, with fixes to appease the Linux buildbot gods.Owen Anderson2010-08-061-1/+1
| | | | llvm-svn: 110460
* Revert r110396 to fix buildbots.Owen Anderson2010-08-061-1/+1
| | | | llvm-svn: 110410
* Don't use PassInfo* as a type identifier for passes. Instead, use the ↵Owen Anderson2010-08-051-1/+1
| | | | | | | | address of the static ID member as the sole unique type identifier. Clean up APIs related to this change. llvm-svn: 110396
* Fix namespace polution.Dan Gohman2010-08-021-2/+2
| | | | llvm-svn: 110056
* RegionInfo: Make sure to free cached nodes; Tobias, please check!Daniel Dunbar2010-07-281-0/+5
| | | | llvm-svn: 109650
* RegionInfo: Add getMaxRegionExit()Tobias Grosser2010-07-271-0/+39
| | | | | | | getMaxRegionExit returns the exit of the maximal refined region starting at a specific basic block. llvm-svn: 109496
* Add function to query RegionInfo about loops.Tobias Grosser2010-07-271-0/+65
| | | | | | | * contains(Loop), * getOutermostLoop() * Improve getNameStr() to return a sensible name, if basic blocks are not named. llvm-svn: 109490
* Use DominatorTree::properlyDominates instead of dominates with anDan Gohman2010-07-261-1/+1
| | | | | | explicit inequality check. llvm-svn: 109398
* use cascading operator-> featureGabor Greif2010-07-221-1/+1
| | | | llvm-svn: 109104
* use -> instead of (*).Gabor Greif2010-07-221-2/+2
| | | | llvm-svn: 109094
* cache dereferenced iteratorGabor Greif2010-07-221-3/+4
| | | | llvm-svn: 109093
* Add new RegionInfo pass.Tobias Grosser2010-07-221-0/+637
The RegionInfo pass detects single entry single exit regions in a function, where a region is defined as any subgraph that is connected to the remaining graph at only two spots. Furthermore an hierarchical region tree is built. Use it by calling "opt -regions analyze" or "opt -view-regions". llvm-svn: 109089
OpenPOWER on IntegriCloud