switch InlineInfo.DevirtualizedCalls's list to be of WeakVH.

This fixes a bug where calls inlined into an invoke would get
changed into an invoke but the array would keep pointing to
the (now dead) call.  The improved inliner behavior is still
disabled for now.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102196 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Chris Lattner
2010-04-23 18:37:01 +00:00
parent a56c1c5d4c
commit 076863225c
3 changed files with 7 additions and 4 deletions

View File

@ -21,6 +21,7 @@
#include "llvm/ADT/DenseMap.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/ADT/Twine.h"
#include "llvm/Support/ValueHandle.h"
namespace llvm {
@ -178,7 +179,7 @@ public:
/// DevirtualizedCalls - InlineFunction fills this in with callsites that were
/// inlined from the callee that went from being indirect calls to direct
/// calls due to inlining. This is only filled in if CG is non-null.
SmallVector<Instruction*, 2> DevirtualizedCalls;
SmallVector<WeakVH, 2> DevirtualizedCalls;
void reset() {
StaticAllocas.clear();