This change fixed a bug in the function visitMul. The prior version
authorRobert Bocchino <bocchino@illinois.edu>
Tue, 27 Jul 2004 21:02:21 +0000 (21:02 +0000)
committerRobert Bocchino <bocchino@illinois.edu>
Tue, 27 Jul 2004 21:02:21 +0000 (21:02 +0000)
commit71698285e8c09654b801804466b33feb6db8645d
treeb1a534fcfc14c5200f47cf348595cfa9ada12fe0
parent2311d717f86590f79148b513a3747b4a85443fa3
This change fixed a bug in the function visitMul.  The prior version
assumed that a constant on the RHS of a multiplication was either an
IntConstant or an FPConstant.  It checked for an IntConstant and then,
if it did not find one, did a hard cast to an FPConstant.  That code
would crash if the RHS were a ConstantExpr that was neither an
IntConstant nor an FPConstant.  This version replaces the hard cast
with a dyn_cast.  It performs the same way for IntConstants and
FPConstants but does nothing, instead of crashing, for constant
expressions.

The regression test for this change is 2004-07-27-ConstantExprMul.ll.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15291 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Transforms/Scalar/InstructionCombining.cpp