This patch fixes PR18607. Added a threshold beyond which we do not inline mul operands into SCEV.
This seems reasonable as inlining all mul operands without a threshold is resulting in exponential complexity.
Few other modifications include-
- In compare function for scConstant if LHS and RHS are same we need to return 0 instead of 1
- Remove redundant code in switch case of scMulExpr in compare function.
I'm new to this part of code. It would be great if someone and review the patch and give inputs if this approach is fine.