aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Analysis/LazyCallGraph.cpp
AgeCommit message (Expand)AuthorFilesLines
2015-01-05[PM] Switch the new pass manager to use a reference-based API for IRChandler Carruth1-3/+2
2014-11-19Update SetVector to rely on the underlying set's insert to return a pair<iter...David Blaikie1-5/+5
2014-05-15Fix typosAlp Toker1-2/+2
2014-05-04[LCG] Add the last (and most complex) of the edge insertion mutationChandler Carruth1-0/+119
2014-05-01[LCG] Add the other simple edge insertion API to the call graph. ThisChandler Carruth1-0/+15
2014-05-01[LCG] Don't lookup the child SCC twice. Spotted this by inspection, andChandler Carruth1-2/+2
2014-05-01[LCG] Add some basic methods for querying the parent/child relationshipsChandler Carruth1-0/+15
2014-04-30[LCG] Add the really, *really* boring edge insertion case: adding anChandler Carruth1-4/+19
2014-04-30[LCG] Actually test the *basic* edge removal bits (IE, the non-SCCChandler Carruth1-4/+8
2014-04-28[LCG] Add the most basic of edge insertion to the lazy call graph. ThisChandler Carruth1-0/+15
2014-04-28[LCG] Make the return of the IntraSCC removal method actually match itsChandler Carruth1-5/+3
2014-04-27[LCG] Re-organize the methods for mutating a call graph to make theirChandler Carruth1-76/+78
2014-04-26[LCG] Rather than removing nodes from the SCC entry set when we processChandler Carruth1-6/+7
2014-04-26[LCG] Rotate the full SCC finding algorithm to avoid round-trips throughChandler Carruth1-21/+23
2014-04-26[LCG] Hoist the main DFS loop out of the edge removal function. ThisChandler Carruth1-74/+70
2014-04-26[LCG] In the incremental SCC re-formation, lift the node currently beingChandler Carruth1-30/+38
2014-04-26[LCG] Special case the removal of self edges. These don't impact the SCCChandler Carruth1-0/+6
2014-04-26[LCG] Refactor the duplicated code I added in my last commit here intoChandler Carruth1-23/+14
2014-04-25[LCG] During the incremental update of an SCC, switch to using theChandler Carruth1-26/+26
2014-04-25[LCG] During the incremental re-build of an SCC after removing an edge,Chandler Carruth1-4/+5
2014-04-25[LCG] Rather than doing a linear time SmallSetVector removal of eachChandler Carruth1-6/+7
2014-04-25[LCG] Remove a completely unnecessary loop. It wasn't even doing anyChandler Carruth1-60/+54
2014-04-25[LCG] Now that the loop structure of the core SCC finding routine isChandler Carruth1-1/+8
2014-04-24[LCG] Switch a weird do/while loop that actually couldn't fail itsChandler Carruth1-5/+4
2014-04-24[LCG] Incorporate the core trick of improvements on the naive Tarjan'sChandler Carruth1-41/+61
2014-04-24[LCG] Rotate logic applied to the top of the DFSStack to instead beChandler Carruth1-25/+24
2014-04-24[LCG] Switch the parent SCC tracking from a SmallSetVector toChandler Carruth1-2/+2
2014-04-24[LCG] We don't actually need a set in each SCC to track the nodes. WeChandler Carruth1-7/+1
2014-04-23[LCG] Normalize the post-order SCC iterator to just iterate over the SCCChandler Carruth1-2/+2
2014-04-23[LCG] Switch the primary node iterator to be a *much* more normal C++Chandler Carruth1-39/+33
2014-04-23[LCG] Make the insertion and query paths into the LCG which cannot failChandler Carruth1-4/+4
2014-04-23[LCG] Switch the SCC lookup to be in terms of call graph nodes ratherChandler Carruth1-8/+8
2014-04-23[LCG] Switch the primary SCC building code to use the negative low-linkChandler Carruth1-2/+4
2014-04-23[LCG] Add the first round of mutation support to the lazy call graph.Chandler Carruth1-0/+233
2014-04-23[LCG] Implement Tarjan's algorithm correctly this time. We have to walkChandler Carruth1-34/+42
2014-04-23[LCG] Add a unittest for the LazyCallGraph. I had a weak moment andChandler Carruth1-0/+2
2014-04-23[LCG] Hoist the logic for forming a new SCC from the top of the DFSStackChandler Carruth1-41/+47
2014-04-23[LCG] Switch the Callee sets to be DenseMaps pointing to the index intoChandler Carruth1-7/+8
2014-04-22[Modules] Fix potential ODR violations by sinking the DEBUG_TYPEChandler Carruth1-1/+2
2014-04-21[LCG] Add some basic debug output to the LCG pass.Chandler Carruth1-2/+17
2014-04-18[LCG] Fix the bugs that Ben pointed out in code review (and the MSan botChandler Carruth1-3/+7
2014-04-18[LCG] Remove all of the complexity stemming from supporting copying.Chandler Carruth1-42/+21
2014-04-18[LCG] Add support for building persistent and connected SCCs to theChandler Carruth1-4/+118
2014-04-17[LCG] Just move the allocator (now that we can) when moving a callChandler Carruth1-28/+14
2014-04-17[LCG] Remove the Module reference member which we weren't using forChandler Carruth1-3/+3
2014-03-10[LCG] Ran clang-format over this too and it pointed out some fixes.Chandler Carruth1-4/+6
2014-03-09[LCG] Simplify a bunch of the LCG code with range for loops and auto.Chandler Carruth1-37/+29
2014-03-06[Layering] Move InstVisitor.h into the IR library as it is prettyChandler Carruth1-1/+1
2014-03-04[Modules] Move CallSite into the IR library where it belogs. It isChandler Carruth1-1/+1
2014-03-04[cleanup] Re-sort all the includes with utils/sort_includes.py.Chandler Carruth1-1/+1