The inliner was choosing to not consider call sites
authorChris Lattner <sabre@nondot.org>
Thu, 22 Apr 2010 23:37:35 +0000 (23:37 +0000)
committerChris Lattner <sabre@nondot.org>
Thu, 22 Apr 2010 23:37:35 +0000 (23:37 +0000)
commitfe9af3b1f7e5d68ecc330bdf4f047d76838f8cc3
treed106def385fa1eec7fe9778021359c2f1987cf0b
parent3a1287b470bde29d10e7c6998fb69b74d2265b6c
The inliner was choosing to not consider call sites
that appear in the SCC as a result of inlining as candidates
for inlining.  Change this so that it *does* consider call
sites that change from being indirect to being direct as a
result of inlining.  This allows it to completely
"devirtualize" the testcase.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102146 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/Transforms/Utils/Cloning.h
lib/Transforms/IPO/Inliner.cpp
lib/Transforms/Utils/InlineFunction.cpp
test/Transforms/Inline/indirect_resolve.ll