aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Analysis/LazyCallGraph.cpp
AgeCommit message (Expand)AuthorFilesLines
2016-09-04[LCG] Clean up and make NDEBUG verify calls more rigorous withChandler Carruth1-32/+38
2016-09-04[LCG] A NFC refactoring to extract the logic for doingChandler Carruth1-111/+184
2016-08-24[PM] Introduce basic update capabilities to the new PM's CGSCC passChandler Carruth1-23/+19
2016-08-12Use the range variant of find/find_if instead of unpacking begin/endDavid Majnemer1-20/+17
2016-08-11Use the range variant of find instead of unpacking begin/endDavid Majnemer1-2/+1
2016-08-11Use range algorithms instead of unpacking begin/endDavid Majnemer1-2/+1
2016-07-07[LCG] Hoist the definitions of the stream operator friends to be inlineChandler Carruth1-42/+0
2016-06-27[PM] Improve the debugging and logging facilities of the CGSCC bits ofChandler Carruth1-0/+53
2016-06-18Add a super basic LazyCallGraph DOT printer.Sean Silva1-0/+32
2016-03-11[PM] Make the AnalysisManager parameter to run methods a reference.Chandler Carruth1-2/+2
2016-03-11[PM] Implement the final conclusion as to how the analysis IDs shouldChandler Carruth1-1/+1
2016-02-28[PM] Appease mingw32's auto-import DLL build with minimal tweaks, with fix fo...NAKAMURA Takumi1-0/+2
2016-02-28Revert r262185, "[PM] Appease mingw32's auto-import DLL build with minimal tw...NAKAMURA Takumi1-2/+0
2016-02-28[PM] Appease mingw32's auto-import DLL build with minimal tweaks.NAKAMURA Takumi1-0/+2
2016-02-26[PM] Introduce CRTP mixin base classes to help define passes andChandler Carruth1-2/+0
2016-02-17[LCG] Construct an actual call graph with call-edge SCCs nested insideChandler Carruth1-388/+1181
2016-02-02[LCG] Build an edge abstraction for the LazyCallGraph and use it toChandler Carruth1-133/+160
2015-12-28[lcg] Fix a few more formatting goofs found by clang-format. NFC.Chandler Carruth1-4/+4
2015-01-14Revert r225854: [PM] Move the LazyCallGraph printing functionality toChandler Carruth1-38/+36
2015-01-13[PM] Move the LazyCallGraph printing functionality to a print method.Chandler Carruth1-36/+38
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