Commit 6657c1f9 by Richard Sandiford Committed by Richard Sandiford

Make bitsize_mode_for_mode return an opt_mode

2017-09-05  Richard Sandiford  <richard.sandiford@linaro.org>

gcc/
	* machmode.h (bitwise_mode_for_mode): Return opt_mode.
	* stor-layout.c (bitwise_mode_for_mode): Likewise.
	(bitwise_type_for_mode): Update accordingly.

From-SVN: r251733
parent 798014c5
2017-09-05 Richard Sandiford <richard.sandiford@linaro.org>
* machmode.h (bitwise_mode_for_mode): Return opt_mode.
* stor-layout.c (bitwise_mode_for_mode): Likewise.
(bitwise_type_for_mode): Update accordingly.
2017-09-05 Richard Sandiford <richard.sandiford@linaro.org>
* stor-layout.h (mode_for_size_tree): Return an opt_mode.
* stor-layout.c (mode_for_size_tree): Likewise.
(mode_for_array): Update accordingly.
......
......@@ -694,7 +694,7 @@ smallest_int_mode_for_size (unsigned int size)
}
extern opt_scalar_int_mode int_mode_for_mode (machine_mode);
extern machine_mode bitwise_mode_for_mode (machine_mode);
extern opt_machine_mode bitwise_mode_for_mode (machine_mode);
extern opt_machine_mode mode_for_vector (scalar_mode, unsigned);
extern opt_machine_mode mode_for_int_vector (unsigned int, unsigned int);
......
......@@ -404,10 +404,10 @@ int_mode_for_mode (machine_mode mode)
}
}
/* Find a mode that can be used for efficient bitwise operations on MODE.
Return BLKmode if no such mode exists. */
/* Find a mode that can be used for efficient bitwise operations on MODE,
if one exists. */
machine_mode
opt_machine_mode
bitwise_mode_for_mode (machine_mode mode)
{
/* Quick exit if we already have a suitable mode. */
......@@ -445,7 +445,7 @@ bitwise_mode_for_mode (machine_mode mode)
}
/* Otherwise fall back on integers while honoring MAX_FIXED_MODE_SIZE. */
return mode_for_size (bitsize, MODE_INT, true).else_blk ();
return mode_for_size (bitsize, MODE_INT, true);
}
/* Find a type that can be used for efficient bitwise operations on MODE.
......@@ -454,8 +454,7 @@ bitwise_mode_for_mode (machine_mode mode)
tree
bitwise_type_for_mode (machine_mode mode)
{
mode = bitwise_mode_for_mode (mode);
if (mode == BLKmode)
if (!bitwise_mode_for_mode (mode).exists (&mode))
return NULL_TREE;
unsigned int inner_size = GET_MODE_UNIT_BITSIZE (mode);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment