mirror of
https://github.com/RPCS3/llvm.git
synced 2025-01-06 03:38:34 +00:00
159528702a
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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102822 91177308-0d34-0410-b5e6-96231b3b80d8 |
||
---|---|---|
.. | ||
ArgumentPromotion.cpp | ||
CMakeLists.txt | ||
ConstantMerge.cpp | ||
DeadArgumentElimination.cpp | ||
DeadTypeElimination.cpp | ||
ExtractGV.cpp | ||
FunctionAttrs.cpp | ||
GlobalDCE.cpp | ||
GlobalOpt.cpp | ||
InlineAlways.cpp | ||
Inliner.cpp | ||
InlineSimple.cpp | ||
Internalize.cpp | ||
IPConstantPropagation.cpp | ||
IPO.cpp | ||
LoopExtractor.cpp | ||
LowerSetJmp.cpp | ||
Makefile | ||
MergeFunctions.cpp | ||
PartialInlining.cpp | ||
PartialSpecialization.cpp | ||
PruneEH.cpp | ||
StripDeadPrototypes.cpp | ||
StripSymbols.cpp | ||
StructRetPromotion.cpp |