forked from OSchip/llvm-project
949045864d
The right way to check for a binary operation is cast<BinaryOperator>. The original check: cast<Instruction> && numOperands() == 2 would match phi "instructions", leading to an infinite loop in extreme corner case: a useless phi with operands [self, constant] that prior optimization passes failed to remove, being used in the loop by another useless phi, in turn being used by an lshr or udiv. Fixes PR11350: runaway iteration assertion. llvm-svn: 144935 |
||
---|---|---|
clang | ||
compiler-rt | ||
debuginfo-tests | ||
libcxx | ||
libcxxabi | ||
lldb | ||
llvm | ||
polly |