llvm-6502/lib/Transforms/Utils
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
..
AddrModeMatcher.cpp Revert 101465, it broke internal OpenGL testing. 2010-04-16 23:37:20 +00:00
BasicBlockUtils.cpp Code clean up. 2010-04-05 21:16:25 +00:00
BasicInliner.cpp Change errs() to dbgs(). 2010-01-05 01:26:39 +00:00
BreakCriticalEdges.cpp rename pred_const_iterator to const_pred_iterator for consistency's sake 2010-03-25 23:25:28 +00:00
BuildLibCalls.cpp Revert 101465, it broke internal OpenGL testing. 2010-04-16 23:37:20 +00:00
CloneFunction.cpp There is no need to install ValueMapper.h header. 2010-04-20 22:18:31 +00:00
CloneLoop.cpp Use do+while instead of while for loops which obviously have a 2010-01-05 16:27:25 +00:00
CloneModule.cpp There is no need to install ValueMapper.h header. 2010-04-20 22:18:31 +00:00
CMakeLists.txt Update CMake build. 2010-03-05 22:34:16 +00:00
CodeExtractor.cpp rename llvm::llvm_report_error -> llvm::report_fatal_error 2010-04-07 22:58:41 +00:00
DemoteRegToStack.cpp Revert yesterday's change by removing the LLVMContext parameter to AllocaInst and MallocInst. 2009-07-15 23:53:25 +00:00
InlineFunction.cpp when inlining something like this: 2010-04-22 21:31:00 +00:00
InstructionNamer.cpp Avoid going through the LLVMContext for type equality where it's safe to dereference the type pointer. 2010-01-05 13:12:22 +00:00
LCSSA.cpp Add a DominatorTree argument to isLCSSA so that it doesn't have to 2010-03-10 19:38:49 +00:00
Local.cpp There are two ways of checking for a given type, for example isa<PointerType>(T) 2010-02-16 11:11:14 +00:00
LoopSimplify.cpp Skip debug info intrinsics. 2010-03-15 21:25:29 +00:00
LoopUnroll.cpp Rename ValueMapTy as ValueToValueMapTy to clearly indicate that this has no replationship with ADT/ValueMap. 2010-04-20 22:24:18 +00:00
LowerInvoke.cpp Finally land the InvokeInst operand reordering. 2010-03-24 13:21:49 +00:00
LowerSwitch.cpp Change errs() to dbgs(). 2010-01-05 01:26:45 +00:00
Makefile make -fno-rtti the default unless a directory builds with REQUIRES_RTTI. 2010-01-24 20:43:08 +00:00
Mem2Reg.cpp Pull LLVMContext out of PromoteMemToReg. 2009-11-23 03:50:44 +00:00
PromoteMemoryToRegister.cpp rename use_const_iterator to const_use_iterator for consistency's sake 2010-03-25 23:06:16 +00:00
SimplifyCFG.cpp Fix a grammaro. 2010-03-30 20:04:57 +00:00
SSAUpdater.cpp Fix a performance problem with the new SSAUpdater. This showed up in the 2010-04-21 18:39:03 +00:00
SSI.cpp Avoid going through the LLVMContext for type equality where it's safe to dereference the type pointer. 2010-01-05 13:12:22 +00:00
UnifyFunctionExitNodes.cpp Avoid going through the LLVMContext for type equality where it's safe to dereference the type pointer. 2010-01-05 13:12:22 +00:00
ValueMapper.cpp Rename ValueMapTy as ValueToValueMapTy to clearly indicate that this has no replationship with ADT/ValueMap. 2010-04-20 22:24:18 +00:00
ValueMapper.h Rename ValueMapTy as ValueToValueMapTy to clearly indicate that this has no replationship with ADT/ValueMap. 2010-04-20 22:24:18 +00:00