diff options
author | Chris Lattner <sabre@nondot.org> | 2010-04-23 18:37:01 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2010-04-23 18:37:01 +0000 |
commit | c691de3b4eccafd555a0f9e5e05f16bfd8e1f61a (patch) | |
tree | 2a4330165bb2312ae4c6a6f69c3d02b4b2c8349c /llvm/lib/Transforms/Utils/InlineFunction.cpp | |
parent | 6f41ef9d3140ce084609947ea8f41c46b54bf9aa (diff) | |
download | llvm-c691de3b4eccafd555a0f9e5e05f16bfd8e1f61a.zip llvm-c691de3b4eccafd555a0f9e5e05f16bfd8e1f61a.tar.gz llvm-c691de3b4eccafd555a0f9e5e05f16bfd8e1f61a.tar.bz2 |
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.
llvm-svn: 102196
Diffstat (limited to 'llvm/lib/Transforms/Utils/InlineFunction.cpp')
-rw-r--r-- | llvm/lib/Transforms/Utils/InlineFunction.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/llvm/lib/Transforms/Utils/InlineFunction.cpp b/llvm/lib/Transforms/Utils/InlineFunction.cpp index a913d15..481cacf 100644 --- a/llvm/lib/Transforms/Utils/InlineFunction.cpp +++ b/llvm/lib/Transforms/Utils/InlineFunction.cpp @@ -72,7 +72,7 @@ static void HandleCallsInBlockInlinedThroughInvoke(BasicBlock *BB, II->setAttributes(CI->getAttributes()); // Make sure that anything using the call now uses the invoke! This also - // updates the CallGraph if present. + // updates the CallGraph if present, because it uses a WeakVH. CI->replaceAllUsesWith(II); // Delete the unconditional branch inserted by splitBasicBlock |