Fix multiple_of_p behavior with NOP_EXPR
authorRichard Biener <rguenther@suse.de>
Mon, 24 Jan 2022 13:59:00 +0000 (14:59 +0100)
committerRichard Biener <rguenther@suse.de>
Mon, 31 Jan 2022 08:38:10 +0000 (09:38 +0100)
commit625f16c798757dcbfdded841f01d7c566d15c55c
tree9d5ef9fef0337bced0c514059082bbe40e9f852c
parent23987912ddb4207de0714d81237f93f613557d1f
Fix multiple_of_p behavior with NOP_EXPR

We were passing down the original type to recursive invocations
of multiple_of_p for say (int)(unsigned * unsigned).

2022-01-24  Richard Biener  <rguenther@suse.de>

PR tree-optimization/100499
* fold-const.cc (multiple_of_p): Pass the correct type of
the expression to the recursive invocation of multiple_of_p
for conversions and use CASE_CONVERT.
gcc/fold-const.cc