llvm-6502/lib
Chris Lattner 159528702a 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.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102822 91177308-0d34-0410-b5e6-96231b3b80d8
2010-05-01 01:05:10 +00:00
..
Analysis Dan recently disabled recursive inlining within a function, but we 2010-04-30 22:37:22 +00:00
Archive silence a warning, patch by "mike". 2010-04-25 04:44:26 +00:00
AsmParser reject invalid comma stuff with a message. We reject the case in 2010-04-23 00:50:50 +00:00
Bitcode Revert 101465, it broke internal OpenGL testing. 2010-04-16 23:37:20 +00:00
CodeGen Re-enable kill flags from SelectionDAGISel, with a fix: don't 2010-05-01 00:50:53 +00:00
CompilerDriver Use FindExecutable as a fall-back search method. 2010-03-05 04:46:28 +00:00
ExecutionEngine Fix the OProfileJITEventListener build after r101844 removed 2010-04-30 00:16:10 +00:00
Linker Introduce isOpaqueTy and use it rather than isa<OpaqueType>. Also, move some 2010-02-16 14:50:09 +00:00
MC Add support for assemblers that don't support periods in a name 2010-04-29 04:00:56 +00:00
Support Fix typo. add a test case. 2010-04-19 20:31:39 +00:00
System This doesn't need SmallVector.h anymore. 2010-04-19 17:51:31 +00:00
Target Get rid of the EdgeMapping map. Instead, just check for BasicBlock 2010-05-01 00:01:06 +00:00
Transforms The inliner has traditionally not considered call sites 2010-05-01 01:05:10 +00:00
VMCore Verify metadata harder. In particular, check that module 2010-04-29 16:10:30 +00:00
Makefile