Go to file
Chandler Carruth 9302fbf0ae [LCG] Add the first round of mutation support to the lazy call graph.
This implements the core functionality necessary to remove an edge from
the call graph and correctly update both the basic graph and the SCC
structure. As part of that it has to run a tiny (in number of nodes)
Tarjan-style DFS walk of an SCC being mutated to compute newly formed
SCCs, etc.

This is *very rough* and a WIP. I have a bunch of FIXMEs for code
cleanup that will reduce the boilerplate in this change substantially.
I also have a bunch of simplifications to various parts of both
algorithms that I want to make, but first I'd like to have a more
holistic picture. Ideally, I'd also like more testing. I'll probably add
quite a few more unit tests as I go here to cover the various different
aspects and corner cases of removing edges from the graph.

Still, this is, so far, successfully updating the SCC graph in-place
without disrupting the identity established for the existing SCCs even
when we do challenging things like delete the critical edge that made an
SCC cycle at all and have to reform things as a tree of smaller SCCs.
Getting this to work is really critical for the new pass manager as it
is going to associate significant state with the SCC instance and needs
it to be stable. That is also the motivation behind the return of the
newly formed SCCs. Eventually, I'll wire this all the way up to the
public API so that the pass manager can use it to correctly re-enqueue
newly formed SCCs into a fresh postorder traversal.

llvm-svn: 206968
2014-04-23 11:03:03 +00:00
clang [ARM64] Enable more CodeGen tests for ARM64. The crypto and neon intrinsics tests needed changing slightly due to the naming differences between AArch64 and ARM64. 2014-04-23 10:26:23 +00:00
clang-tools-extra test/clang-tidy/redundant-smartptr-get*.cpp: Both of them really require shell. 2014-04-10 03:17:22 +00:00
compiler-rt [asan] disable lsan back. :( -- It appears that quite a few lit tests have leaks and they were not covered by out buildbot 2014-04-23 08:15:16 +00:00
debuginfo-tests relax testcase for LLDB output format compatibility. 2014-03-19 23:06:18 +00:00
libclc Introduce M_LOG2E_F and M_LOG2E 2014-03-28 21:19:03 +00:00
libcxx Default the copy and move constructors for __tuple_leaf. This fixes bugs 18853 and 19118. Add a test case for that. 2014-04-21 23:48:09 +00:00
libcxxabi Fix virtual class with non-virtual dtor complaint 2014-04-23 04:46:46 +00:00
lld XFAIL the Mips tests when we don't have the target. 2014-04-23 05:35:26 +00:00
lldb Windows fix: Need to ensure all APIs are forward decl'd with LLDB_API. If not then frontend linker errors appear due to dllexport differences. There may be some others missing, will commit as I find them. 2014-04-23 09:18:30 +00:00
llvm [LCG] Add the first round of mutation support to the lazy call graph. 2014-04-23 11:03:03 +00:00
openmp Add the offload directory which contains the code needed to support 2014-04-09 15:40:23 +00:00
polly Fix formatting 2014-04-22 16:39:41 +00:00