1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-20 19:42:54 +02:00
Go to file
Chandler Carruth 1906ef7bf0 [LCG] Build an edge abstraction for the LazyCallGraph and use it to
differentiate between indirect references to functions an direct calls.

This doesn't do a whole lot yet other than change the print out produced
by the analysis, but it lays the groundwork for a very major change I'm
working on next: teaching the call graph to actually be a call graph,
modeling *both* the indirect reference graph and the call graph
simultaneously. More details on that in the next patch though.

The rest of this is essentially a bunch of over-engineering that won't
be interesting until the next patch. But this also isolates essentially
all of the churn necessary to introduce the edge abstraction from the
very important behavior change necessary in order to separately model
the two graphs. So it should make review of the subsequent patch a bit
easier at the cost of making this patch seem poorly motivated. ;]

Differential Revision: http://reviews.llvm.org/D16038

llvm-svn: 259463
2016-02-02 03:57:13 +00:00
bindings Remove autoconf support 2016-01-26 21:29:08 +00:00
cmake Remove autoconf support 2016-01-26 21:29:08 +00:00
docs [libFuzzer] allow passing 1 or more files as individual inputs 2016-02-02 03:03:47 +00:00
examples Remove autoconf support 2016-01-26 21:29:08 +00:00
include [LCG] Build an edge abstraction for the LazyCallGraph and use it to 2016-02-02 03:57:13 +00:00
lib [LCG] Build an edge abstraction for the LazyCallGraph and use it to 2016-02-02 03:57:13 +00:00
projects Remove autoconf support 2016-01-26 21:29:08 +00:00
resources In MSVC builds embed a VERSIONINFO resource in our exe and DLL files. 2015-06-12 15:58:29 +00:00
test [LCG] Build an edge abstraction for the LazyCallGraph and use it to 2016-02-02 03:57:13 +00:00
tools [llvm-nm] Simplify the code a bit. NFCI. 2016-02-01 19:22:16 +00:00
unittests [LCG] Build an edge abstraction for the LazyCallGraph and use it to 2016-02-02 03:57:13 +00:00
utils [TableGen] Store result of getInstructionsByEnumValue in an ArrayRef instead of accidentally copying to a vector. 2016-02-01 01:33:42 +00:00
.arcconfig Updated phabricator server. 2014-04-07 03:57:04 +00:00
.clang-format Test commit. 2014-03-02 13:08:46 +00:00
.clang-tidy adding readability-identifier-naming to llvm clang-tidy configuration. 2015-12-08 17:44:51 +00:00
.gitignore Minor updates to gitignore so that symlinks are ignored in the projects dir. 2015-07-07 20:24:58 +00:00
CMakeLists.txt [GlobalISel] Add the proper cmake plumbing. 2016-01-20 20:58:56 +00:00
CODE_OWNERS.TXT [docs] Remove references to autotools build. 2016-01-30 01:10:15 +00:00
configure Remove autoconf support 2016-01-26 21:29:08 +00:00
CREDITS.TXT [WebAssembly] Initial WebAssembly backend 2015-06-29 23:51:55 +00:00
LICENSE.TXT Update for a new year. 2015-03-12 01:25:29 +00:00
llvm.spec.in [Sparc] Implement i64 load/store support for 32-bit sparc. 2015-08-10 19:11:39 +00:00
LLVMBuild.txt Remove the very substantial, largely unmaintained legacy PGO 2013-10-02 15:42:23 +00:00
README.txt Revert previous test commit. 2016-01-04 19:13:29 +00:00

Low Level Virtual Machine (LLVM)
================================

This directory and its subdirectories contain source code for LLVM,
a toolkit for the construction of highly optimized compilers,
optimizers, and runtime environments.

LLVM is open source software. You may freely distribute it under the terms of
the license agreement found in LICENSE.txt.

Please see the documentation provided in docs/ for further
assistance with LLVM, and in particular docs/GettingStarted.rst for getting
started with LLVM and docs/README.txt for an overview of LLVM's
documentation setup.

If you are writing a package for LLVM, see docs/Packaging.rst for our
suggestions.