[PR rtl-optimization/115876] Fix one of two ubsan reported issues in new ext-dce.cc code
David Binderman did a bootstrap build with ubsan enabled which triggered a few errors in the new ext-dce.cc code. This fixes the trivial case of shifting negative values. Bootstrapped and regression tested on x86. Pushing to the trunk. gcc/ PR rtl-optimization/115876 * ext-dce.cc (carry_backpropagate): Make mask and mmask unsigned.
This commit is contained in:
parent
b3d4a021ef
commit
a6f551d079
1 changed files with 2 additions and 2 deletions
|
@ -374,13 +374,13 @@ binop_implies_op2_fully_live (rtx_code code)
|
|||
exclusively pertain to the first operand. */
|
||||
|
||||
HOST_WIDE_INT
|
||||
carry_backpropagate (HOST_WIDE_INT mask, enum rtx_code code, rtx x)
|
||||
carry_backpropagate (unsigned HOST_WIDE_INT mask, enum rtx_code code, rtx x)
|
||||
{
|
||||
if (mask == 0)
|
||||
return 0;
|
||||
|
||||
enum machine_mode mode = GET_MODE_INNER (GET_MODE (x));
|
||||
HOST_WIDE_INT mmask = GET_MODE_MASK (mode);
|
||||
unsigned HOST_WIDE_INT mmask = GET_MODE_MASK (mode);
|
||||
switch (code)
|
||||
{
|
||||
case PLUS:
|
||||
|
|
Loading…
Add table
Reference in a new issue