summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Analysis/IPA/CallGraphSCCPass.cpp
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2010-05-01 01:05:10 +0000
committerChris Lattner <sabre@nondot.org>2010-05-01 01:05:10 +0000
commite8262675a3b71e613a0595a01bd67d9e096b2cda (patch)
treee6cff588bd94d371853b34b6d2c5ac5e60bf6b80 /llvm/lib/Analysis/IPA/CallGraphSCCPass.cpp
parent77ef6f6a17ff06baf701fc28aaa220a8bceb66fa (diff)
downloadbcm5719-llvm-e8262675a3b71e613a0595a01bd67d9e096b2cda.tar.gz
bcm5719-llvm-e8262675a3b71e613a0595a01bd67d9e096b2cda.zip
The inliner has traditionally not considered call sites
that appear due to inlining a callee as candidates for futher inlining, but a recent patch made it do this if those call sites were indirect and became direct. Unfortunately, in bizarre cases (see testcase) doing this can cause us to infinitely inline mutually recursive functions into callers not in the cycle. Fix this by keeping track of the inline history from which callsite inline candidates got inlined from. This shouldn't affect any "real world" code, but is required for a follow on patch that is coming up next. llvm-svn: 102822
Diffstat (limited to 'llvm/lib/Analysis/IPA/CallGraphSCCPass.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud