diff options
author | Chris Lattner <sabre@nondot.org> | 2010-04-22 21:31:00 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2010-04-22 21:31:00 +0000 |
commit | b957a5e41ed6288f4d033167f6413621a09655ee (patch) | |
tree | 5e338ec64e3aa190a3a725019242508c900d0a6d /lib/Transforms/Utils/UnifyFunctionExitNodes.cpp | |
parent | c04d54527e1d7e8b50cefcde7563bcbc7425e978 (diff) |
when inlining something like this:
define void @f3(void (i8*)* %__f) ssp {
entry:
call void %__f(i8* undef)
unreachable
}
define void @f4(i8* %this) ssp align 2 {
entry:
call void @f3(void (i8*)* @f2) ssp
ret void
}
The inliner is turning the indirect call to %__f into a direct
call to F2. Make the call graph more precise when this happens.
The inliner doesn't revisit call sites introduced by inlining,
so there isn't an easy way to test for this, but a more precise
callgraph is a good thing.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102131 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Transforms/Utils/UnifyFunctionExitNodes.cpp')
0 files changed, 0 insertions, 0 deletions