Commit 48938147 by Thomas Schwinge

fold-const.c (optimize_bit_field_compare): Abort early in the strict volatile bitfields case.

gcc/
	* fold-const.c (optimize_bit_field_compare): Abort early in the strict
	volatile bitfields case.

From-SVN: r187869
parent 1746f586
2012-05-25 Thomas Schwinge <thomas@codesourcery.com>
* fold-const.c (optimize_bit_field_compare): Abort early in the strict
volatile bitfields case.
2012-05-24 Pat Haugen <pthaugen@us.ibm.com> 2012-05-24 Pat Haugen <pthaugen@us.ibm.com>
* config/rs6000/rs6000.c (rs6000_option_override_internal): Change * config/rs6000/rs6000.c (rs6000_option_override_internal): Change
......
...@@ -3346,6 +3346,11 @@ optimize_bit_field_compare (location_t loc, enum tree_code code, ...@@ -3346,6 +3346,11 @@ optimize_bit_field_compare (location_t loc, enum tree_code code,
tree mask; tree mask;
tree offset; tree offset;
/* In the strict volatile bitfields case, doing code changes here may prevent
other optimizations, in particular in a SLOW_BYTE_ACCESS setting. */
if (flag_strict_volatile_bitfields > 0)
return 0;
/* Get all the information about the extractions being done. If the bit size /* Get all the information about the extractions being done. If the bit size
if the same as the size of the underlying object, we aren't doing an if the same as the size of the underlying object, we aren't doing an
extraction at all and so can do nothing. We also don't want to extraction at all and so can do nothing. We also don't want to
......
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