llvm-6502/lib
Chris Lattner b957a5e41e 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
2010-04-22 21:31:00 +00:00
..
Analysis add a DEBUG call so that -debug lists when CGSCCPM iterates. 2010-04-22 20:42:33 +00:00
Archive Don't write into MemoryBuffers. 2010-04-19 16:15:31 +00:00
AsmParser reapply 'reject forward references to functions whose type don't match' 2010-04-20 04:49:11 +00:00
Bitcode Revert 101465, it broke internal OpenGL testing. 2010-04-16 23:37:20 +00:00
CodeGen Add comment. 2010-04-22 20:56:35 +00:00
CompilerDriver Use FindExecutable as a fall-back search method. 2010-03-05 04:46:28 +00:00
ExecutionEngine Don't rely upon the MCSymbol "isDefined" method to indicate if a label has been 2010-04-18 00:56:05 +00:00
Linker Introduce isOpaqueTy and use it rather than isa<OpaqueType>. Also, move some 2010-02-16 14:50:09 +00:00
MC refactor .if handling code a bit. 2010-04-17 18:14:27 +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 Move HandlePHINodesInSuccessorBlocks functions out of SelectionDAGISel 2010-04-22 20:46:50 +00:00
Transforms when inlining something like this: 2010-04-22 21:31:00 +00:00
VMCore Remove the palignr intrinsics now that we lower them to vector shuffles, 2010-04-20 00:59:54 +00:00
Makefile