Forgot dyn_cast check.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132025 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Evan Cheng 2011-05-24 23:47:50 +00:00
parent 4db7dec70b
commit 21d378d735

View File

@ -881,8 +881,8 @@ void LoopUnswitch::RewriteLoopBodyWithConditionConstant(Loop *L, Value *LIC,
for (Value::use_iterator UI = LIC->use_begin(), E = LIC->use_end();
UI != E; ++UI) {
Instruction *U = cast<Instruction>(*UI);
if (!L->contains(U))
Instruction *U = dyn_cast<Instruction>(*UI);
if (!U || !L->contains(U))
continue;
U->replaceUsesOfWith(LIC, Replacement);
Worklist.push_back(U);
@ -896,8 +896,8 @@ void LoopUnswitch::RewriteLoopBodyWithConditionConstant(Loop *L, Value *LIC,
// can. This case occurs when we unswitch switch statements.
for (Value::use_iterator UI = LIC->use_begin(), E = LIC->use_end();
UI != E; ++UI) {
Instruction *U = cast<Instruction>(*UI);
if (!L->contains(U))
Instruction *U = dyn_cast<Instruction>(*UI);
if (!U || !L->contains(U))
continue;
Worklist.push_back(U);