| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
| |
update all code that this affects.
llvm-svn: 79830
|
|
|
|
|
|
|
|
|
|
| |
- 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.
llvm-svn: 77019
|
|
|
|
|
|
|
|
|
| |
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.
llvm-svn: 67311
|
|
|
|
|
|
| |
of an instruction
llvm-svn: 62788
|
|
|
|
| |
llvm-svn: 62430
|
|
|
|
|
|
|
|
| |
functionally equivalent
if this works out, I'll change the others next.
llvm-svn: 62385
|
|
|
|
| |
llvm-svn: 62279
|
|
|
|
| |
llvm-svn: 62232
|
|
|
|
|
|
| |
Why? Because it was there!
llvm-svn: 56996
|
|
|
|
| |
llvm-svn: 56003
|
|
|
|
| |
llvm-svn: 55988
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(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.
llvm-svn: 55987
|
|
|
|
|
|
| |
callgraph is printed.
llvm-svn: 55912
|
|
|
|
|
|
|
| |
long as the callgraph is correct. It checks
for wrong callgraphs more strictly.
llvm-svn: 55894
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
llvm-svn: 55872
|
|
|
|
|
|
| |
commit.
llvm-svn: 55865
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
llvm-svn: 55859
|
|
|
|
| |
llvm-svn: 55779
|
|
|
|
|
|
| |
changes).
llvm-svn: 51947
|
|
|
|
|
|
|
| |
several things that were neither in an anonymous namespace nor static
but not intended to be global.
llvm-svn: 51017
|
|
|
|
| |
llvm-svn: 49617
|
|
|
|
| |
llvm-svn: 48554
|
|
|
|
| |
llvm-svn: 45418
|
|
|
|
|
|
|
|
|
| |
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).
llvm-svn: 44544
|
|
|
|
| |
llvm-svn: 36662
|
|
|
|
|
|
|
| |
Due to darwin gcc bug, one version of darwin linker coalesces
static const int, which defauts PassID based pass identification.
llvm-svn: 36652
|
|
|
|
| |
llvm-svn: 36648
|
|
|
|
| |
llvm-svn: 36632
|
|
|
|
|
|
| |
LLVM's footprint and speed up linking.
llvm-svn: 33941
|
|
|
|
|
|
| |
confusion with external linkage types.
llvm-svn: 33663
|
|
|
|
|
|
|
| |
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.
llvm-svn: 32636
|
|
|
|
|
|
| |
now cerr, cout, and NullStream resp.
llvm-svn: 32298
|
|
|
|
|
|
| |
This fixes Regression/Other/2002-01-31-CallGraph.ll.
llvm-svn: 32237
|
|
|
|
| |
llvm-svn: 32196
|
|
|
|
|
|
|
| |
adding a temporary wrapper around the ostream to make it friendly to
functions expecting an LLVM stream. This should be fixed in the future.
llvm-svn: 31990
|
|
|
|
| |
llvm-svn: 30831
|
|
|
|
| |
llvm-svn: 29932
|
|
|
|
| |
llvm-svn: 29925
|
|
|
|
|
|
|
|
|
|
|
| |
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
llvm-svn: 29120
|
|
|
|
|
|
|
|
|
|
| |
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.
llvm-svn: 28715
|
|
|
|
| |
llvm-svn: 28634
|
|
|
|
|
|
|
| |
IncludeFile hack to ensure linkage of analysis passes. This works around
some -pedantic warnings about assigning an object to a function.
llvm-svn: 28621
|
|
|
|
|
|
| |
the callgraph.
llvm-svn: 25317
|
|
|
|
| |
llvm-svn: 25314
|
|
|
|
|
|
|
|
|
| |
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!
llvm-svn: 24944
|
|
|
|
| |
llvm-svn: 21416
|
|
|
|
| |
llvm-svn: 17990
|
|
|
|
|
|
|
| |
from ModulePass. Instead of implementing Pass::run, then should implement
ModulePass::runOnModule.
llvm-svn: 16436
|
|
|
|
|
|
|
| |
unfortunately is the cause of a bunch of failures from tonight, and the
reason the tester is running so slow :(
llvm-svn: 16407
|
|
|
|
| |
llvm-svn: 16398
|