History log of /external/llvm/lib/Analysis/IPA/CallGraph.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
dce4a407a24b04eebc6a376f8e62b41aaa7b071f 29-May-2014 Stephen Hines <srhines@google.com> Update LLVM for 3.5 rebase (r209712).

Change-Id: I149556c940fb7dc92d075273c87ff584f400941f
/external/llvm/lib/Analysis/IPA/CallGraph.cpp
36b56886974eae4f9c5ebc96befd3e7bfe5de338 24-Apr-2014 Stephen Hines <srhines@google.com> Update to LLVM 3.5a.

Change-Id: Ifadecab779f128e62e430c2b4f6ddd84953ed617
/external/llvm/lib/Analysis/IPA/CallGraph.cpp
c143c7573bfd0d55cf283cc2676dbd852f939c87 31-Oct-2013 Rafael Espindola <rafael.espindola@gmail.com> Merge CallGraph and BasicCallGraph.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@193734 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/IPA/CallGraph.cpp
6e1c511aba87ab5f9962ae9328014897459f777a 25-Oct-2013 Rafael Espindola <rafael.espindola@gmail.com> Call destroy from ~BasicCallGraph.

This fix a memory leak found by valgrind.

Calling it from the base class destructor would not destroy the BasicCallGraph
bits.

FIXME: BasicCallGraph is the only thing that inherits from CallGraph. Can
we merge the two?

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@193412 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/IPA/CallGraph.cpp
0b8c9a80f20772c3793201ab5b251d3520b9cea3 02-Jan-2013 Chandler Carruth <chandlerc@gmail.com> Move all of the header files which are involved in modelling the LLVM IR
into their new header subdirectory: include/llvm/IR. This matches the
directory structure of lib, and begins to correct a long standing point
of file layout clutter in LLVM.

There are still more header files to move here, but I wanted to handle
them in separate commits to make tracking what files make sense at each
layer easier.

The only really questionable files here are the target intrinsic
tablegen files. But that's a battle I'd rather not fight today.

I've updated both CMake and Makefile build systems (I think, and my
tests think, but I may have missed something).

I've also re-sorted the includes throughout the project. I'll be
committing updates to Clang, DragonEgg, and Polly momentarily.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171366 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/IPA/CallGraph.cpp
d04a8d4b33ff316ca4cf961e06c9e312eff8e64f 03-Dec-2012 Chandler Carruth <chandlerc@gmail.com> Use the new script to sort the includes of every file under lib.

Sooooo many of these had incorrect or strange main module includes.
I have manually inspected all of these, and fixed the main module
include to be the nearest plausible thing I could find. If you own or
care about any of these source files, I encourage you to take some time
and check that these edits were sensible. I can't have broken anything
(I strictly added headers, and reordered them, never removed), but they
may not be the headers you'd really like to identify as containing the
API being implemented.

Many forward declarations and missing includes were added to a header
files to allow them to parse cleanly when included first. The main
module rule does in fact have its merits. =]

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169131 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/IPA/CallGraph.cpp
44401b7c80f334b4bbe5537fd28ed9da471e2c27 26-Sep-2012 Duncan Sands <baldrick@free.fr> Now that invoke of an intrinsic is possible (for the llvm.do.nothing intrinsic)
teach the callgraph logic to not create callgraph edges to intrinsics for invoke
instructions; it already skips this for call instructions. Fixes PR13903.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@164707 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/IPA/CallGraph.cpp
286c4dc355b8be6806081b23c3097485821c7642 12-Sep-2012 Manman Ren <mren@apple.com> Release build: guard dump functions with
"#if !defined(NDEBUG) || defined(LLVM_ENABLE_DUMP)"

No functional change. Update r163344.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163679 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/IPA/CallGraph.cpp
cc77eece74c8db09acc2af425e7e6c88a5bb30d1 06-Sep-2012 Manman Ren <mren@apple.com> Release build: guard dump functions with "ifndef NDEBUG"

No functional change.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163344 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/IPA/CallGraph.cpp
400ea5bde0a1154ba68ef7a0b1af6f0274cd6916 20-Oct-2011 Eli Friedman <eli.friedman@gmail.com> Simplify; no intended functional change.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142567 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/IPA/CallGraph.cpp
e669d83a21d7ebf01d3c9e37a20c7348b5a77c11 09-Jun-2011 John McCall <rjmccall@apple.com> Teach the CallGraph to ignore calls to intrinsics.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132797 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/IPA/CallGraph.cpp
9ad1cb59deda265441c1614fee5ec7f7dea7625d 03-Jan-2011 Nick Lewycky <nicholas@mxc.ca> Add spliceFunction to the CallGraph interface. This allows users to efficiently
update a callGraph when performing the common operation of splicing the body to
a new function and updating all callers (such as via RAUW).

No users yet, though this is intended for DeadArgumentElimination as part of
PR8887.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122728 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/IPA/CallGraph.cpp
081c34b725980f995be9080eaec24cd3dfaaf065 19-Oct-2010 Owen Anderson <resistor@mac.com> Get rid of static constructors for pass registration. Instead, every pass 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116820 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/IPA/CallGraph.cpp
325e2643559fcec8b0396dfa16e415cc86a22a09 13-Oct-2010 Owen Anderson <resistor@mac.com> Analysis groups need to initialize their default implementations.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116441 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/IPA/CallGraph.cpp
ce665bd2e2b581ab0858d1afe359192bac96b868 08-Oct-2010 Owen Anderson <resistor@mac.com> Now with fewer extraneous semicolons!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115996 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/IPA/CallGraph.cpp
e9ef41a47d2ee637b6aed5d018c4d90019d987ac 06-Oct-2010 Owen Anderson <resistor@mac.com> Hide analysis group registration behind a macro, just like pass registration.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115835 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/IPA/CallGraph.cpp
90c579de5a383cee278acc3f7e7b9d0a656e6a35 06-Aug-2010 Owen Anderson <resistor@mac.com> Reapply r110396, with fixes to appease the Linux buildbot gods.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110460 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/IPA/CallGraph.cpp
1f74590e9d1b9cf0f1f81a156efea73f76546e05 06-Aug-2010 Owen Anderson <resistor@mac.com> Revert r110396 to fix buildbots.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110410 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/IPA/CallGraph.cpp
9ccaf53ada99c63737547c0235baeb8454b04e80 06-Aug-2010 Owen Anderson <resistor@mac.com> Don't use PassInfo* as a type identifier for passes. Instead, use the address of the static
ID member as the sole unique type identifier. Clean up APIs related to this change.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110396 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/IPA/CallGraph.cpp
3737984e95e91f6c777414ce5f68fe4c8db32dd5 28-Jul-2010 Gabor Greif <ggreif@gmail.com> use Value* constructor of CallSite to create potentially improper site

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109579 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/IPA/CallGraph.cpp
d8cc7be0262092882d848a1c7d8a4cb6752cce6f 22-Jul-2010 Owen Anderson <resistor@mac.com> Add INSTANTIATE_AG_PASS, which combines RegisterPass<> with RegisterAnalysisGroup<> for pass registration.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109058 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/IPA/CallGraph.cpp
8be3291f5942e3ae4a5d66c480e7aabe2f771031 20-Jul-2010 Owen Anderson <resistor@mac.com> Speculatively revert r108813, in an attempt to get the self-host buildbots working again. I don't see why this patch
would cause them to fail the way they are, but none of the other intervening patches seem likely either.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108818 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/IPA/CallGraph.cpp
9e081004dad1c3cae7de82ad412c3f19a1a48d48 20-Jul-2010 Owen Anderson <resistor@mac.com> Reapply r108794, a fix for the failing test from last time.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108813 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/IPA/CallGraph.cpp
e8a469cdb400249ec263c79d1021f953f42f2760 20-Jul-2010 Daniel Dunbar <daniel@zuster.org> Revert r108794, "Separate PassInfo into two classes: a constructor-free
superclass (StaticPassInfo) and a constructor-ful subclass (PassInfo).", it is
breaking teh everything.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108805 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/IPA/CallGraph.cpp
8ba15cb7099d9eadcb345328228d77ffa5afa42d 20-Jul-2010 Owen Anderson <resistor@mac.com> Separate PassInfo into two classes: a constructor-free superclass (StaticPassInfo) and a constructor-ful subclass (PassInfo).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108794 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/IPA/CallGraph.cpp
517e124d53a673c35e34feec39304a1c6448d371 09-Jul-2010 Gabor Greif <ggreif@gmail.com> do not repeatedly dereference use_iterator

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107963 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/IPA/CallGraph.cpp
6275413ff5977a7950b775ecc8e8d55af191934d 23-Apr-2010 Chris Lattner <sabre@nondot.org> fix callgraph dump to not print 0x0x1234 for nodes.
Add the instruction pointer value for debuggability.
We now get dump output that looks like this:

Call graph node for function: 'f1'<<0x1017086b0>> #uses=1
CS<0x1017046f8> calls external node

Call graph node for function: '_ZNSt6vectorIdSaIdEEC1EmRKdRKS0_'<<0x1017086f0>> #uses=1
CS<0x0> calls external node

Call graph node for function: 'f4'<<0x1017087a0>> #uses=1
CS<0x101708c88> calls function 'f3'



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102194 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/IPA/CallGraph.cpp
eb1f4b1899fdbb95807c3dcaa5f03f5129c4a156 20-Apr-2010 Benjamin Kramer <benny.kra@googlemail.com> PR6880: Don't dereference CallsExternalNode if it's NULL.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101897 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/IPA/CallGraph.cpp
8a39ed75ec57c7fabde318c0d45fac014ac287f4 20-Apr-2010 Chris Lattner <sabre@nondot.org> make CallGraphNode dtor abort if a node is deleted when there are still
references to it.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101847 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/IPA/CallGraph.cpp
cdac3a380ba77cf68d136ec738c0c1ac52eb83df 20-Jan-2010 Chris Lattner <sabre@nondot.org> adopt getAdjustedAnalysisPointer in BasicCallGraph.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94015 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/IPA/CallGraph.cpp
265c026fee512f8206050c0b3f956fe072b05b34 23-Dec-2009 David Greene <greened@obbligato.org> Convert debug messages to use dbgs(). Generally this means
s/errs/dbgs/g except for certain special cases.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92034 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/IPA/CallGraph.cpp
076124ef26ff67f88663bd11f3b4d6b3d3bb3a9d 01-Nov-2009 Douglas Gregor <dgregor@apple.com> Reverting 85714, 85715, 85716, which are breaking the build

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85717 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/IPA/CallGraph.cpp
34e9d7b6be970b4a6aae876e3c40a4151da67e6e 01-Nov-2009 Dan Gohman <gohman@apple.com> Don't #include Pass.h from CallGraph.h.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85715 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/IPA/CallGraph.cpp
f5a86f45e75ec744c203270ffa03659eb0a220c1 25-Oct-2009 Nick Lewycky <nicholas@mxc.ca> Remove includes of Support/Compiler.h that are no longer needed after the
VISIBILITY_HIDDEN removal.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85043 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/IPA/CallGraph.cpp
6726b6d75a8b679068a58cb954ba97cf9d1690ba 25-Oct-2009 Nick Lewycky <nicholas@mxc.ca> Remove VISIBILITY_HIDDEN from class/struct found inside anonymous namespaces.
Chris claims we should never have visibility_hidden inside any .cpp file but
that's still not true even after this commit.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85042 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/IPA/CallGraph.cpp
a51c39cc3265f5d0d5de87b4a3ef9332c83556e1 15-Sep-2009 Chris Lattner <sabre@nondot.org> add a new CallGraphNode::replaceCallEdge method and use it from
argpromote to avoid invalidating an iterator. This fixes PR4977.
All clang tests now pass with expensive checking (on my system
at least).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81843 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/IPA/CallGraph.cpp
da230cb876edf0d4fa8eefc289b8addfb722cd07 01-Sep-2009 Chris Lattner <sabre@nondot.org> remove CallGraphNode::replaceCallSite, it is redundant with other APIs.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80708 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/IPA/CallGraph.cpp
a541b0fde2ab6b8b037edf113d42da41a2c5aae9 01-Sep-2009 Chris Lattner <sabre@nondot.org> Change CallGraphNode to maintain it's Function as an AssertingVH
for sanity. This didn't turn up any bugs.

Change CallGraphNode to maintain its "callsite" information in the
call edges list as a WeakVH instead of as an instruction*. This fixes
a broad class of dangling pointer bugs, and makes CallGraph have a number
of useful invariants again. This fixes the class of problem indicated
by PR4029 and PR3601.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80663 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/IPA/CallGraph.cpp
be577659d3c1222cc58c33628c0baddb94d241ab 31-Aug-2009 Chris Lattner <sabre@nondot.org> Step #1 to giving Callgraph some sane invariants. The problems with callgraph
stem from the fact that we have two types of passes that need to update it:

1. callgraphscc and module passes that are explicitly aware of it
2. Functionpasses (and loop passes etc) that are interlaced with CGSCC passes
by the CGSCC Passmgr.

In the case of #1, we can reasonably expect the passes to update the call
graph just like any analysis. However, functionpasses are not and generally
should not be CG aware. This has caused us no end of problems, so this takes
a new approach. Logically, the CGSCC Pass manager can rescan every function
after it runs a function pass over it to see if the functionpass made any
updates to the IR that affect the callgraph. This allows it to catch new calls
introduced by the functionpass.

In practice, doing this would be slow. This implementation keeps track of
whether or not the current scc is dirtied by a function pass, and, if so,
delays updating the callgraph until it is actually needed again. This was
we avoid extraneous rescans, but we still have good invariants when the
callgraph is needed.

Step #2 of the "give Callgraph some sane invariants" is to change CallGraphNode
to use a CallBackVH for the callsite entry of the CallGraphNode. This way
we can immediately remove entries from the callgraph when a FunctionPass is
active instead of having dangling pointers. The current pass tries to tolerate
these dangling pointers, but it is just an evil hack.

This is related to PR3601/4835/4029. This also reverts r80541, a hack working
around the sad lack of invariants.





git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80566 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/IPA/CallGraph.cpp
46ca76f6bb1648087890f2647bc93a005e0970a7 31-Aug-2009 Chris Lattner <sabre@nondot.org> fix a crash building SPASS by tolerating a callsite that doesn't exist
in the callgraph, see the big comment at the top of the testcase.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80541 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/IPA/CallGraph.cpp
b374b90e81d0ce6b5d02041ba4f7b15a945b38d8 31-Aug-2009 Chris Lattner <sabre@nondot.org> Fix PR4834, a tricky case where the inliner would resolve an
indirect function pointer, inline it, then go to delete the body.
The problem is that the callgraph had other references to the function,
though the inliner had no way to know it, so we got a dangling pointer
and an invalid iterator out of the deal.

The fix to this is pretty simple: stop the inliner from deleting the
function by knowing that there are references to it. Do this by making
CallGraphNodes contain a refcount. This requires moving deletion of
available_externally functions to the module-level cleanup sweep where
it belongs.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80533 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/IPA/CallGraph.cpp
2adb8306e2256a4d1bef8f21ebb6dba55a108a88 31-Aug-2009 Chris Lattner <sabre@nondot.org> use an accessor instead of poking internals of a node.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80532 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/IPA/CallGraph.cpp
5095e3d1d1caef8d573534d369e37277c623064c 31-Aug-2009 Chris Lattner <sabre@nondot.org> Fix some nasty callgraph dangling pointer problems in
argpromotion and structretpromote. Basically, when replacing
a function, they used the 'changeFunction' api which changes
the entry in the function map (and steals/reuses the callgraph
node).

This has some interesting effects: first, the problem is that it doesn't
update the "callee" edges in any callees of the function in the call graph.
Second, this covers for a major problem in all the CGSCC pass stuff, which
is that it is completely broken when functions are deleted if they *don't*
reuse a CGN. (there is a cute little fixme about this though :).

This patch changes the protocol that CGSCC passes must obey: now the CGSCC
pass manager copies the SCC and preincrements its iterator to avoid passes
invalidating it. This allows CGSCC passes to mutate the current SCC. However
multiple passes may be run on that SCC, so if passes do this, they are now
required to *update* the SCC to be current when they return.

Other less interesting parts of this patch are that it makes passes update
the CG more directly, eliminates changeFunction, and requires clients of
replaceCallSite to specify the new callee CGN if they are changing it.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80527 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/IPA/CallGraph.cpp
23603a61c9bd43224db0b52126a415901d7550b4 31-Aug-2009 Chris Lattner <sabre@nondot.org> add a dump() method on callgraph.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80524 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/IPA/CallGraph.cpp
45cfe545ec8177262dabc70580ce05feaa1c3880 23-Aug-2009 Chris Lattner <sabre@nondot.org> Change Pass::print to take a raw ostream instead of std::ostream,
update all code that this affects.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79830 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/IPA/CallGraph.cpp
ce63ffb52f249b62cdf2d250c128007b13f27e71 25-Jul-2009 Daniel Dunbar <daniel@zuster.org> More migration to raw_ostream, the water has dried up around the iostream hole.
- Some clients which used DOUT have moved to DEBUG. We are deprecating the
"magic" DOUT behavior which avoided calling printing functions when the
statement was disabled. In addition to being unnecessary magic, it had the
downside of leaving code in -Asserts builds, and of hiding potentially
unnecessary computations.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77019 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/IPA/CallGraph.cpp
1f67ce4aa3f65619f54c8a3072539da5b0022841 19-Mar-2009 Dale Johannesen <dalej@apple.com> Clear the cached cost when removing a function in
the inliner; prevents nondeterministic behavior
when the same address is reallocated.
Don't build call graph nodes for debug intrinsic calls;
they're useless, and there were typically a lot of them.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@67311 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/IPA/CallGraph.cpp
edc4d69917df7dc34543adf719d5c93249fd5e27 22-Jan-2009 Gabor Greif <ggreif@gmail.com> introduce a useful abstraction to find out if a Use is in the call position of an instruction

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62788 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/IPA/CallGraph.cpp
7f2e381b565701d9856ac75d9a90454eed57547c 17-Jan-2009 Gabor Greif <ggreif@gmail.com> switch over some other methods from indices to iterators

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62430 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/IPA/CallGraph.cpp
7b98424f719bf0bde6250e35d311e877d6c3d5b7 17-Jan-2009 Gabor Greif <ggreif@gmail.com> speed up iterative loop by using iterators. changes direction, but functionally equivalent
if this works out, I'll change the others next.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62385 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/IPA/CallGraph.cpp
bb46f52027416598a662dc1c58f48d9d56b1a65b 15-Jan-2009 Rafael Espindola <rafael.espindola@gmail.com> Add the private linkage.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62279 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/IPA/CallGraph.cpp
6104626b467d22518f16c74cd67cba89168f65d4 14-Jan-2009 Gabor Greif <ggreif@gmail.com> minor simplification

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62232 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/IPA/CallGraph.cpp
a2582da44dbe7204aac49cdaeccfd4e77ff7c408 03-Oct-2008 Duncan Sands <baldrick@free.fr> Teach internalize to preserve the callgraph.
Why? Because it was there!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56996 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/IPA/CallGraph.cpp
7ca9d81bce9b3ea6ed2f5e7476a6c4d15c882b2a 09-Sep-2008 Duncan Sands <baldrick@free.fr> Simplify this some more. No functionality change.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56003 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/IPA/CallGraph.cpp
24a052124bca3a518c9b30fbc57fa54f76bfbc46 09-Sep-2008 Duncan Sands <baldrick@free.fr> Optimization suggested by Matthijs Kooijman.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55988 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/IPA/CallGraph.cpp
99c1a7c9e1f501878040f3adcac342b2d8201709 09-Sep-2008 Duncan Sands <baldrick@free.fr> Correct callgraph construction. It has two problems:
(1) code left over from the days of ConstantPointerRef:
if a use of a function is a GlobalValue then that is
not considered a reason to add an edge from the external
node, even though the use may be as an initializer for
an externally visible global! There might be some point
to this behaviour when the use is by an alias (though the
code predated aliases by some centuries), but I think
PR2782 is a better way of handling that. (2) If function
F calls function G, and also G is a parameter to the
call, then an F->G edge is not added to the callgraph.
While this doesn't seem to matter much, adding such an
edge makes the callgraph more regular.
In addition, the new code should be faster as well as
simpler.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55987 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/IPA/CallGraph.cpp
28f02128ae21f2cb024c97d813faacd6e7bf4410 08-Sep-2008 Duncan Sands <baldrick@free.fr> Didn't mean to commit this change to how the
callgraph is printed.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55912 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/IPA/CallGraph.cpp
d7b9851c4e634ed3599b1a4c70b1c76c90a11686 08-Sep-2008 Duncan Sands <baldrick@free.fr> Reapply 55859. This doesn't change anything as
long as the callgraph is correct. It checks
for wrong callgraphs more strictly.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55894 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/IPA/CallGraph.cpp
fec2c2bf5ea14679f8a2d74a72bdec76f05fa001 06-Sep-2008 Duncan Sands <baldrick@free.fr> When PruneEH turned an invoke into an ordinary
call (thus changing the call site) it didn't
inform the callgraph about this. But the
call site does matter - as shown by the testcase,
the callgraph become invalid after the inliner
ran (with an edge between two functions simply
missing), resulting in wrong deductions by
GlobalsModRef.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55872 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/IPA/CallGraph.cpp
6e6074508c2f781c3e52dfe0e301cb1c7f395a91 06-Sep-2008 Owen Anderson <resistor@mac.com> Revert r55859. This is breaking the build in the abscence of its companion commit.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55865 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/IPA/CallGraph.cpp
c94fe21a56f9e4e5ebbe99252a25636c36392509 05-Sep-2008 Duncan Sands <baldrick@free.fr> Delete the removeCallEdgeTo callgraph method,
because it does not maintain a correct list
of callsites. I discovered (see following
commit) that the inliner will create a wrong
callgraph if it is fed a callgraph with
correct edges but incorrect callsites. These
were created by Prune-EH, and while it wasn't
done via removeCallEdgeTo, it could have been
done via removeCallEdgeTo, which is an accident
waiting to happen. Use removeCallEdgeFor
instead.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55859 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/IPA/CallGraph.cpp
ae73dc1448d25b02cabc7c64c86c64371453dda8 04-Sep-2008 Dan Gohman <gohman@apple.com> Tidy up several unbeseeming casts from pointer to intptr_t.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55779 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/IPA/CallGraph.cpp
227c27dd0628d317fdb71e900809ff7bd39e70d2 04-Jun-2008 Matthijs Kooijman <matthijs@stdin.nl> Replace two manual loops with calls to CallSite::hasArguments (no functional changes).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51947 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/IPA/CallGraph.cpp
844731a7f1909f55935e3514c9e713a62d67662e 13-May-2008 Dan Gohman <gohman@apple.com> Clean up the use of static and anonymous namespaces. This turned up
several things that were neither in an anonymous namespace nor static
but not intended to be global.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51017 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/IPA/CallGraph.cpp
75caee241955fdcd9942c42be8b77ba9996e94d6 13-Apr-2008 Chris Lattner <sabre@nondot.org> add a new CallGraphNode::removeCallEdgeFor method, tidy some comments.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49617 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/IPA/CallGraph.cpp
c758209153ca0f6da6737f25ada269c573fba456 19-Mar-2008 Devang Patel <dpatel@apple.com> PassInfo keep tracks whether a pass is an analysis pass or not.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48554 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/IPA/CallGraph.cpp
4ee451de366474b9c228b4e5fa573795a715216d 29-Dec-2007 Chris Lattner <sabre@nondot.org> Remove attribution from file headers, per discussion on llvmdev.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45418 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/IPA/CallGraph.cpp
a3355ffb3d30d19d226bbb75707991c60f236e37 03-Dec-2007 Duncan Sands <baldrick@free.fr> Rather than having special rules like "intrinsics cannot
throw exceptions", just mark intrinsics with the nounwind
attribute. Likewise, mark intrinsics as readnone/readonly
and get rid of special aliasing logic (which didn't use
anything more than this anyway).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44544 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/IPA/CallGraph.cpp
1997473cf72957d0e70322e2fe6fe2ab141c58a6 03-May-2007 Devang Patel <dpatel@apple.com> Drop 'const'


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36662 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/IPA/CallGraph.cpp
3e15bf33e024b9df9e89351a165acfdb1dde51ed 02-May-2007 Devang Patel <dpatel@apple.com> Use 'static const char' instead of 'static const int'.
Due to darwin gcc bug, one version of darwin linker coalesces
static const int, which defauts PassID based pass identification.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36652 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/IPA/CallGraph.cpp
c718288f4939258a51ec5ae0c5be7b1a05eb6898 02-May-2007 Lauro Ramos Venancio <lauro.venancio@gmail.com> Fix build error.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36648 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/IPA/CallGraph.cpp
794fd75c67a2cdc128d67342c6d88a504d186896 01-May-2007 Devang Patel <dpatel@apple.com> Do not use typeinfo to identify pass in pass manager.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36632 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/IPA/CallGraph.cpp
d7d83db5f22d05e5b14b6b1d838668222113c83a 06-Feb-2007 Reid Spencer <rspencer@reidspencer.com> Make classes in anonymous namespaces use VISIBILITY_HIDDEN to help reduce
LLVM's footprint and speed up linking.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33941 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/IPA/CallGraph.cpp
5cbf985dcbc89fba3208e7baf8b6f488b06d3ec9 30-Jan-2007 Reid Spencer <rspencer@reidspencer.com> For PR1136: Rename GlobalVariable::isExternal as isDeclaration to avoid
confusion with external linkage types.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33663 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/IPA/CallGraph.cpp
5c7e326585f3a543388ba871c3425f7664cd9143 17-Dec-2006 Bill Wendling <isanbard@gmail.com> Added an automatic cast to "std::ostream*" etc. from OStream. We then can
rework the hacks that had us passing OStream in. We pass in std::ostream*
instead, check for null, and then dispatch to the correct print() method.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32636 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/IPA/CallGraph.cpp
e81561909d128c6e2d8033cb5465a49b2596b26a 07-Dec-2006 Bill Wendling <isanbard@gmail.com> Changed llvm_ostream et all to OStream. llvm_cerr, llvm_cout, llvm_null, are
now cerr, cout, and NullStream resp.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32298 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/IPA/CallGraph.cpp
f2d9ceb5b9dfbd5e50607bab4a87c1244bda0a71 05-Dec-2006 Chris Lattner <sabre@nondot.org> straighten out various memory ownership issues in the callgraph stuff.
This fixes Regression/Other/2002-01-31-CallGraph.ll.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32237 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/IPA/CallGraph.cpp
12d38bfca012f20781db894244ef4a6a1216961f 04-Dec-2006 Chris Lattner <sabre@nondot.org> Add a comment and fix a memory leak. Thanks to Vikram for pointing this out.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32196 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/IPA/CallGraph.cpp
68fe61d6a165ea6090008e281330895a21607daf 29-Nov-2006 Bill Wendling <isanbard@gmail.com> Replacing std::iostreams with llvm iostreams. Some of these changes involve
adding a temporary wrapper around the ostream to make it friendly to
functions expecting an LLVM stream. This should be fixed in the future.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31990 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/IPA/CallGraph.cpp
45d10470c972d6b0bc0eff6590bc1fb016c14fd3 09-Oct-2006 Chris Lattner <sabre@nondot.org> Fix a bug pointed out by Zhongxing Xu


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30831 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/IPA/CallGraph.cpp
a5370172b64bed5daf8e2869d7bf7cb52f80d6b7 28-Aug-2006 Chris Lattner <sabre@nondot.org> simplify AnalysisGroup registration, eliminating one typeid call.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29932 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/IPA/CallGraph.cpp
7f8897f22e88271cfa114998a4d6088e7c8e8e11 28-Aug-2006 Chris Lattner <sabre@nondot.org> eliminate RegisterOpt. It does the same thing as RegisterPass.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29925 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/IPA/CallGraph.cpp
d85340f4ec587e22b0239617f3b747a6df113894 12-Jul-2006 Chris Lattner <sabre@nondot.org> Change the callgraph representation to store the callsite along with the
target CG node. This allows the inliner to properly update the callgraph
when using the pruning inliner. The pruning inliner may not copy over all
call sites from a callee to a caller, so the edges corresponding to those
call sites should not be copied over either.

This fixes PR827 and Transforms/Inline/2006-07-12-InlinePruneCGUpdate.ll


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29120 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/IPA/CallGraph.cpp
4f1bd9e9963239c119db70070db1d68286b3de7e 08-Jun-2006 Reid Spencer <rspencer@reidspencer.com> For PR780:
1. Fix the macros in IncludeFile.h to put everything in the llvm namespace
2. Replace the previous explicit mechanism in all the .h and .cpp files
with the macros in IncludeFile.h
This gets us a consistent mechanism throughout LLVM for ensuring linkage.
Next step is to make sure its used in enough places.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28715 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/IPA/CallGraph.cpp
080e25d884d9b9499b3e5330f42847fbb8db8232 01-Jun-2006 Chris Lattner <sabre@nondot.org> Fix -pedantic warning


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28634 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/IPA/CallGraph.cpp
192913e281a0e9b97275fa1b84da96b02397323e 01-Jun-2006 Reid Spencer <rspencer@reidspencer.com> Change from using a stub function to a stub variable for passing to the
IncludeFile hack to ensure linkage of analysis passes. This works around
some -pedantic warnings about assigning an object to a function.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28621 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/IPA/CallGraph.cpp
c54b1c1f8b7cf7419b2843d54e9da6c8c15e0dd0 14-Jan-2006 Chris Lattner <sabre@nondot.org> Add a new CallGraph::getOrInsertFunction for clients to use when updating
the callgraph.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25317 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/IPA/CallGraph.cpp
1694ec615f71e25de6d07ffc6fe29deed353c657 14-Jan-2006 Chris Lattner <sabre@nondot.org> add a dump method to CallGraph


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25314 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/IPA/CallGraph.cpp
03839956e2b99348812f4c45fb57649804c77c2d 22-Dec-2005 Chris Lattner <sabre@nondot.org> Separate the call graph implementation from its interface. This implements
the rough idea sketched out in http://nondot.org/sabre/LLVMNotes/CallGraphClass.txt,
allowing new spiffy implementations of the callgraph interface to be built.

Many thanks to Saem Ghani for contributing this!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24944 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/IPA/CallGraph.cpp
2b37d7cf28b1382420b5e4007042feeb66d21ac8 21-Apr-2005 Misha Brukman <brukman+llvm@gmail.com> Remove trailing whitespace


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21416 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/IPA/CallGraph.cpp
3fb2045c7c4884c0f86359320c93c2746b93a1cf 19-Nov-2004 Chris Lattner <sabre@nondot.org> Mission accomplished!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17990 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/IPA/CallGraph.cpp
b12914bfc0f76a7a48357162d5f4c39a1343e69b 20-Sep-2004 Chris Lattner <sabre@nondot.org> 'Pass' should now not be derived from by clients. Instead, they should derive
from ModulePass. Instead of implementing Pass::run, then should implement
ModulePass::runOnModule.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16436 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/IPA/CallGraph.cpp
fff03c9074ba5ee883b67d422c581f2397779264 19-Sep-2004 Chris Lattner <sabre@nondot.org> Fix a nasty iterator invalidation problem I introduced yesterday. This
unfortunately is the cause of a bunch of failures from tonight, and the
reason the tester is running so slow :(


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16407 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/IPA/CallGraph.cpp
cd382a3725e46a41c6dfb923cd1ee295fa0461aa 18-Sep-2004 Chris Lattner <sabre@nondot.org> Add CallGraphNode::removeAnyCallEdgeTo method


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16398 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/IPA/CallGraph.cpp
3795bc9785f32e8fc815014a893efd85f2a4776b 18-Sep-2004 Chris Lattner <sabre@nondot.org> When changing a function, make sure to update the CallGraphNode for the
function, not just the CallGraph.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16388 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/IPA/CallGraph.cpp
6f7e5ebb42706511a310febc926305844bd74cb7 18-Sep-2004 Chris Lattner <sabre@nondot.org> Implement new changeFunction method, nuke a never implemented one.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16386 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/IPA/CallGraph.cpp
551ccae044b0ff658fe629dd67edd5ffe75d10e8 02-Sep-2004 Reid Spencer <rspencer@reidspencer.com> Changes For Bug 352
Move include/Config and include/Support into include/llvm/Config,
include/llvm/ADT and include/llvm/Support. From here on out, all LLVM
public header files must be under include/llvm/.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16137 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/IPA/CallGraph.cpp
af8a42445c99d2d733caf1f9ef3e3b53827613d5 08-Aug-2004 Chris Lattner <sabre@nondot.org> Add standard print/dump methods to CallGraph classes.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15569 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/IPA/CallGraph.cpp
47b14a4a6a455c7be169cfd312fcbe796f0ad426 29-Jul-2004 Misha Brukman <brukman+llvm@gmail.com> Fix #includes of i*.h => Instructions.h as per PR403.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15334 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/IPA/CallGraph.cpp
e840434755e2165ac20ec55e9d5ff3d2defac2d2 18-Jul-2004 Reid Spencer <rspencer@reidspencer.com> bug 122:
- Replace ConstantPointerRef usage with GlobalValue usage
- Minimize redundant isa<GlobalValue> usage
- Correct isa<Constant> for GlobalValue subclass


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14942 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/IPA/CallGraph.cpp
7b11e339d20edd9ee64efb179390a2054cd456c0 02-May-2004 Chris Lattner <sabre@nondot.org> Fix a problem with double freeing memory. For some reason, CallGraph is not
acting like a normal pass. :(


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13318 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/IPA/CallGraph.cpp
224f7e65e0441c4fab12e41c300b494fa35a1060 02-May-2004 Chris Lattner <sabre@nondot.org> Plug a minor memory leak


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13317 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/IPA/CallGraph.cpp
b81c021f14107b12d1275c84fbce170db06437a5 12-Apr-2004 Chris Lattner <sabre@nondot.org> Change the call graph class to have TWO external nodes, making call graph
SCC passes much more useful. In particular, this should fix the incredibly
stupid missed inlining opportunities that the inliner suffered from.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12860 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/IPA/CallGraph.cpp
d0fde30ce850b78371fd1386338350591f9ff494 11-Nov-2003 Brian Gaeke <gaeke@uiuc.edu> Put all LLVM code into the llvm namespace, as per bug 109.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9903 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/IPA/CallGraph.cpp
ccc4b1a2d38674f2bd6c2263ac9503436bed5f49 09-Nov-2003 Chris Lattner <sabre@nondot.org> More additions


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9834 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/IPA/CallGraph.cpp
cda2347bcdf4f5eee1101a06f472538f3d8270e2 09-Nov-2003 Chris Lattner <sabre@nondot.org> Add more functions


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9826 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/IPA/CallGraph.cpp
4d728e867acbb54c2d4b70a39296f36dfc56a888 09-Nov-2003 Chris Lattner <sabre@nondot.org> None of the __llvm_* functions call into the program. This makes the
callgraph MUCH simpler for eh using program.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9825 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/IPA/CallGraph.cpp
07a38e7b77d29b87bc649b9b4cd73e5dfa84eecf 31-Oct-2003 Chris Lattner <sabre@nondot.org> Make the call graph more precise despite the hated constantpointerrefs.

Do you detect the animosity I feel towards CPRs yet?


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9640 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/IPA/CallGraph.cpp
14fffaf6c1c6e62897dd8cd0ec90ab196faec764 30-Oct-2003 Chris Lattner <sabre@nondot.org> When someone includes CallGraph.h, make sure that they link in CallGraph.cpp


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9611 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/IPA/CallGraph.cpp
b7c4c992be0c0b3d63beb4480cd34f1a0c4eab05 22-Oct-2003 Chris Lattner <sabre@nondot.org> This is a disgusting hack that improves code substantially, by making
callgraphSCC passes more effective.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9384 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/IPA/CallGraph.cpp
b576c94c15af9a440f69d9d03c2afead7971118c 20-Oct-2003 John Criswell <criswell@uiuc.edu> Added LLVM project notice to the top of every C++ source file.
Header files will be on the way.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9298 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/IPA/CallGraph.cpp
f52d01bbc58c116f7c83f3320a0f2dff9ac1b3d6 15-Sep-2003 Chris Lattner <sabre@nondot.org> These two conditions are not exclusive!!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8518 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/IPA/CallGraph.cpp
b31247a840ffac5d6b0b29c8690855ca678193ea 15-Sep-2003 Chris Lattner <sabre@nondot.org> Make the print output more useful


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8517 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/IPA/CallGraph.cpp
5714c974006d4fe28ddd66d15e9b158493df00b6 31-Aug-2003 Chris Lattner <sabre@nondot.org> Replace M with F when refering to functions


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8274 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/IPA/CallGraph.cpp
16500158223d4147ae97513bf698d5f321b15889 04-Nov-2002 Chris Lattner <sabre@nondot.org> Allow the call graph to be called from analyze naturally with print implemented


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4517 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/IPA/CallGraph.cpp
546b027b3ee0ed3a8c5e551a7e13fc8a1775ede9 21-Aug-2002 Chris Lattner <sabre@nondot.org> - Do not expose ::ID from any of the analyses anymore.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3417 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/IPA/CallGraph.cpp
a59cbb2043c08f3cfb8fb379f0d336e21e070be8 27-Jul-2002 Chris Lattner <sabre@nondot.org> * Standardize how analysis results/passes as printed with the print() virtual
methods
* Eliminate AnalysisID: Now it is just a typedef for const PassInfo*
* Simplify how AnalysisID's are initialized
* Eliminate Analysis/Writer.cpp/.h: incorporate printing functionality into
the analyses themselves.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3116 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/IPA/CallGraph.cpp
1e43516dcf4aa152432447397334cd43744d63e1 26-Jul-2002 Chris Lattner <sabre@nondot.org> * Add support for different "PassType's"
* Add new RegisterOpt/RegisterAnalysis templates for registering passes that
are to show up in opt or analyze
* Register Analyses now
* Change optimizations to use RegisterOpt instead of RegisterPass
* Add support for different "PassType's"
* Add new RegisterOpt/RegisterAnalysis templates for registering passes that
are to show up in opt or analyze
* Register Analyses now
* Change optimizations to use RegisterOpt instead of RegisterPass
* Remove getPassName implementations from various subclasses


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3112 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/IPA/CallGraph.cpp
d99d4d7b70b45d25e7dc91c6e7edb9206509ed39 18-Jul-2002 Chris Lattner <sabre@nondot.org> * s/method/function


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2958 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/IPA/CallGraph.cpp
7e70829632f82de15db187845666aaca6e04b792 25-Jun-2002 Chris Lattner <sabre@nondot.org> MEGAPATCH checkin.

For details, See: docs/2002-06-25-MegaPatchInfo.txt


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2779 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/IPA/CallGraph.cpp
5648b58a194edf3e1a31d266c9f446c52c57150b 10-Apr-2002 Chris Lattner <sabre@nondot.org> Print out what the root of the call graph is.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2223 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/IPA/CallGraph.cpp
42a412711c000d175d992dd1b85cfd04fd345e5b 09-Apr-2002 Chris Lattner <sabre@nondot.org> Add #includes to make up for #includes pruned out of header files.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2207 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/IPA/CallGraph.cpp
dc89f87d52298131e2265815b65f7aa22388524f 29-Mar-2002 Chris Lattner <sabre@nondot.org> s/Method/Function


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2043 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/IPA/CallGraph.cpp
e590ff260edbe2e521506a9621c2b936b629a2ea 26-Mar-2002 Chris Lattner <sabre@nondot.org> change refs to Method to Function
Change references to MEthodArgument to FunctionArgument


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1989 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/IPA/CallGraph.cpp
d4d427baa9ce9bf30e522aa17104c13b8c9b38f3 06-Mar-2002 Chris Lattner <sabre@nondot.org> Clean up call graph, add comments, and fix test/Regression/Other/2002-01-31-CallGraph.ll


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1828 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/IPA/CallGraph.cpp
8d5a16ca0b3d19fdde3d0d453dd16a9c46395345 06-Mar-2002 Chris Lattner <sabre@nondot.org> Move call graph printing support out of Writer.h into Callgraph.h
remove dead global function


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1825 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/IPA/CallGraph.cpp
4ce0f8aa9ee0038ba741291e2ae1188be75d1d8b 06-Mar-2002 Chris Lattner <sabre@nondot.org> Take CallGraph out of the CFG namespace. It has nothing to do with CFGs


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1820 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/IPA/CallGraph.cpp
221d688a5ef21a22c2368c9fff0e92d7966c95e5 12-Feb-2002 Chris Lattner <sabre@nondot.org> Method.h no longer includes BasicBlock.h
Method::inst_* is now in llvm/Support/InstIterator.h
GraphTraits specializations for BasicBlock and Methods are now in llvm/Support/CFG.h


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1746 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/IPA/CallGraph.cpp
93193f806378e06092820c099e437886c7309b94 31-Jan-2002 Chris Lattner <sabre@nondot.org> Convert analyses to new pass structure


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1603 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/IPA/CallGraph.cpp
697954c15da58bd8b186dbafdedd8b06db770201 20-Jan-2002 Chris Lattner <sabre@nondot.org> Changes to build successfully with GCC 3.02


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1503 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/IPA/CallGraph.cpp
7a1767520611d9ff6face702068de858e1cadf2c 04-Dec-2001 Chris Lattner <sabre@nondot.org> Renamed inst_const_iterator -> const_inst_iterator
Renamed op_const_iterator -> const_op_iterator
Renamed PointerType::getValueType() -> PointerType::getElementType()


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1408 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/IPA/CallGraph.cpp
cee8f9ae67104576b2028125b56e9ba4856a1d66 27-Nov-2001 Chris Lattner <sabre@nondot.org> Create a new #include "Support/..." directory structure to move things
from "llvm/Support/..." that are not llvm dependant.

Move files and fix #includes


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1400 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/IPA/CallGraph.cpp
25e9cad236c5ebb0f96f2c213c294616a1d04155 26-Nov-2001 Chris Lattner <sabre@nondot.org> Implement a new entry node that has edges to all external methods in the module


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1369 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/IPA/CallGraph.cpp
a7edb1888ce8050ba05bcb7743f6a76b6e564741 22-Oct-2001 Vikram S. Adve <vadve@cs.uiuc.edu> Added function IsLeafMethod to identify leaf methods.
This will use the CallGraph only if one is provided.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@950 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/IPA/CallGraph.cpp
9f9e2befd0d6366f1a2ebd082a1a6d703da21103 13-Oct-2001 Chris Lattner <sabre@nondot.org> * Add support for Invoke instructions
* Add support for indirect calls


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@752 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/IPA/CallGraph.cpp
b00c582b6d40e6b9ff2d1ed4f5eaf7930e792ace 02-Oct-2001 Chris Lattner <sabre@nondot.org> Commit more code over to new cast style


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@697 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/IPA/CallGraph.cpp
41fbf305ee3e2c3b8610459e8c09b60e61f4d34d 28-Sep-2001 Chris Lattner <sabre@nondot.org> Initial support for construction of a call graph


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@660 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/IPA/CallGraph.cpp