summaryrefslogtreecommitdiff
path: root/gcc/data-streamer.h
diff options
context:
space:
mode:
authorRichard Biener <rguenther@suse.de>2013-06-06 12:55:52 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2013-06-06 12:55:52 +0000
commit15d16c8aeb03601b9a9e09c79abe58bbac4760fd (patch)
treeb2dc897ec282b0f9ce9eafb4d2b23ac9ebd353fd /gcc/data-streamer.h
parent48df3acb54e3d5a623ba7b0890d5a75b502f22d1 (diff)
downloadgcc-15d16c8aeb03601b9a9e09c79abe58bbac4760fd.tar.gz
lto-streamer.h (enum LTO_tags): Move LTO_tree_pickle_reference after LTO_null.
2013-06-06 Richard Biener <rguenther@suse.de> * lto-streamer.h (enum LTO_tags): Move LTO_tree_pickle_reference after LTO_null. (lto_tag_is_tree_code_p): Adjust. (lto_tag_is_gimple_code_p): Likewise. (lto_gimple_code_to_tag): Likewise. (lto_tag_to_gimple_code): Likewise. (lto_tree_code_to_tag): Likewise. (lto_tag_to_tree_code): Likewise. * data-streamer.h (streamer_write_hwi_in_range): Use uhwi streaming to stream the normalized range. (streamer_read_hwi_in_range): Likewise. From-SVN: r199732
Diffstat (limited to 'gcc/data-streamer.h')
-rw-r--r--gcc/data-streamer.h18
1 files changed, 3 insertions, 15 deletions
diff --git a/gcc/data-streamer.h b/gcc/data-streamer.h
index b79abd9fd92..dfca7abbd2c 100644
--- a/gcc/data-streamer.h
+++ b/gcc/data-streamer.h
@@ -216,13 +216,7 @@ streamer_write_hwi_in_range (struct lto_output_stream *obs,
&& range < 0x7fffffff);
val -= min;
- streamer_write_char_stream (obs, val & 255);
- if (range >= 0xff)
- streamer_write_char_stream (obs, (val >> 8) & 255);
- if (range >= 0xffff)
- streamer_write_char_stream (obs, (val >> 16) & 255);
- if (range >= 0xffffff)
- streamer_write_char_stream (obs, (val >> 24) & 255);
+ streamer_write_uhwi_stream (obs, (unsigned HOST_WIDE_INT) val);
}
/* Input VAL into OBS and verify it is in range MIN...MAX that is supposed
@@ -235,17 +229,11 @@ streamer_read_hwi_in_range (struct lto_input_block *ib,
HOST_WIDE_INT max)
{
HOST_WIDE_INT range = max - min;
- HOST_WIDE_INT val = streamer_read_uchar (ib);
+ unsigned HOST_WIDE_INT uval = streamer_read_uhwi (ib);
gcc_checking_assert (range > 0 && range < 0x7fffffff);
- if (range >= 0xff)
- val |= ((HOST_WIDE_INT)streamer_read_uchar (ib)) << 8;
- if (range >= 0xffff)
- val |= ((HOST_WIDE_INT)streamer_read_uchar (ib)) << 16;
- if (range >= 0xffffff)
- val |= ((HOST_WIDE_INT)streamer_read_uchar (ib)) << 24;
- val += min;
+ HOST_WIDE_INT val = (HOST_WIDE_INT) (uval + (unsigned HOST_WIDE_INT) min);
if (val < min || val > max)
lto_value_range_error (purpose, val, min, max);
return val;