diff options
author | Kugan Vivekanandarajah <kuganv@linaro.org> | 2016-08-06 21:11:26 +0000 |
---|---|---|
committer | Kugan Vivekanandarajah <kugan@gcc.gnu.org> | 2016-08-06 21:11:26 +0000 |
commit | a73f34c2d256fc23d41864193274e88d7d7b28cc (patch) | |
tree | a3a6c8db1277081e35d533447806110021f36f5b /gcc/data-streamer-in.c | |
parent | 19278b02d711d178cce78033a5a95ffeccbae42d (diff) | |
download | gcc-a73f34c2d256fc23d41864193274e88d7d7b28cc.zip gcc-a73f34c2d256fc23d41864193274e88d7d7b28cc.tar.gz gcc-a73f34c2d256fc23d41864193274e88d7d7b28cc.tar.bz2 |
data-streamer-in.c (streamer_read_wide_int): New.
gcc/ChangeLog:
2016-08-07 Kugan Vivekanandarajah <kuganv@linaro.org>
* data-streamer-in.c (streamer_read_wide_int): New.
(streamer_read_widest_int): Renamed function.
* data-streamer-out.c (streamer_write_wide_int): New
(streamer_write_widest_int): Renamed function.
* lto-streamer-in.c (streamer_read_wi): Renamed and moved to
data-stream-in.c.
(input_cfg): Call renamed function.
* lto-streamer-out.c (streamer_write_wi): Renamed and moved to
data-stream-out.c.
(output_cfg): Call renamed function.
* data-streamer.h: Add declarations.
From-SVN: r239213
Diffstat (limited to 'gcc/data-streamer-in.c')
-rw-r--r-- | gcc/data-streamer-in.c | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/gcc/data-streamer-in.c b/gcc/data-streamer-in.c index 2625af6..2a49fe2 100644 --- a/gcc/data-streamer-in.c +++ b/gcc/data-streamer-in.c @@ -184,3 +184,34 @@ streamer_read_gcov_count (struct lto_input_block *ib) gcc_assert (ret >= 0); return ret; } + +/* Read the physical representation of a wide_int val from + input block IB. */ + +wide_int +streamer_read_wide_int (struct lto_input_block *ib) +{ + HOST_WIDE_INT a[WIDE_INT_MAX_ELTS]; + int i; + int prec = streamer_read_uhwi (ib); + int len = streamer_read_uhwi (ib); + for (i = 0; i < len; i++) + a[i] = streamer_read_hwi (ib); + return wide_int::from_array (a, len, prec); +} + +/* Read the physical representation of a widest_int val from + input block IB. */ + +widest_int +streamer_read_widest_int (struct lto_input_block *ib) +{ + HOST_WIDE_INT a[WIDE_INT_MAX_ELTS]; + int i; + int prec ATTRIBUTE_UNUSED = streamer_read_uhwi (ib); + int len = streamer_read_uhwi (ib); + for (i = 0; i < len; i++) + a[i] = streamer_read_hwi (ib); + return widest_int::from_array (a, len); +} + |