diff options
author | Richard Biener <rguenther@suse.de> | 2012-10-12 12:14:48 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2012-10-12 12:14:48 +0000 |
commit | 0889c5c3faa0eb0915f6b5e5092060888a9efec6 (patch) | |
tree | c984d5bf61b729a9977d8afce864a8758acf87d1 /gcc | |
parent | aec06f6fa8948de6eb8e23028b5ebf4e5fd3e36a (diff) | |
download | gcc-0889c5c3faa0eb0915f6b5e5092060888a9efec6.zip gcc-0889c5c3faa0eb0915f6b5e5092060888a9efec6.tar.gz gcc-0889c5c3faa0eb0915f6b5e5092060888a9efec6.tar.bz2 |
tree-streamer-out.c (pack_ts_target_option): Rename from ...
2012-10-12 Richard Biener <rguenther@suse.de>
* tree-streamer-out.c (pack_ts_target_option): Rename from ...
(write_ts_target_option): ... this.
(pack_ts_optimization): Rename from ...
(write_ts_optimization): ... this.
(streamer_pack_tree_bitfields): Pack them in the bitfield section ...
(streamer_write_tree_body): ... not here.
* tree-streamer-in.c (unpack_ts_target_option): Rename from ...
(lto_input_ts_target_option): ... this.
(unpack_ts_optimization): Rename from ...
(lto_input_ts_optimization): ... this.
(unpack_value_fields): Unpack them from the bitfield section ...
(streamer_read_tree_body): ... not from here.
From-SVN: r192398
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 15 | ||||
-rw-r--r-- | gcc/tree-streamer-in.c | 77 | ||||
-rw-r--r-- | gcc/tree-streamer-out.c | 90 |
3 files changed, 94 insertions, 88 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 969d7e9..2084d91 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,18 @@ +2012-10-12 Richard Biener <rguenther@suse.de> + + * tree-streamer-out.c (pack_ts_target_option): Rename from ... + (write_ts_target_option): ... this. + (pack_ts_optimization): Rename from ... + (write_ts_optimization): ... this. + (streamer_pack_tree_bitfields): Pack them in the bitfield section ... + (streamer_write_tree_body): ... not here. + * tree-streamer-in.c (unpack_ts_target_option): Rename from ... + (lto_input_ts_target_option): ... this. + (unpack_ts_optimization): Rename from ... + (lto_input_ts_optimization): ... this. + (unpack_value_fields): Unpack them from the bitfield section ... + (streamer_read_tree_body): ... not from here. + 2012-10-12 Uros Bizjak <ubizjak@gmail.com> * config/alpha/alpha.md (vecmodesuffix): New mode attribute. diff --git a/gcc/tree-streamer-in.c b/gcc/tree-streamer-in.c index cfaaf45..f77a669 100644 --- a/gcc/tree-streamer-in.c +++ b/gcc/tree-streamer-in.c @@ -370,6 +370,37 @@ unpack_ts_translation_unit_decl_value_fields (struct bitpack_d *bp ATTRIBUTE_UNU { } +/* Unpack a TS_TARGET_OPTION tree from BP into EXPR. */ + +static void +unpack_ts_target_option (struct bitpack_d *bp, tree expr) +{ + unsigned i, len; + struct cl_target_option *t = TREE_TARGET_OPTION (expr); + + len = sizeof (struct cl_target_option); + for (i = 0; i < len; i++) + ((unsigned char *)t)[i] = bp_unpack_value (bp, 8); + if (bp_unpack_value (bp, 32) != 0x12345678) + fatal_error ("cl_target_option size mismatch in LTO reader and writer"); +} + +/* Unpack a TS_OPTIMIZATION tree from BP into EXPR. */ + +static void +unpack_ts_optimization (struct bitpack_d *bp, tree expr) +{ + unsigned i, len; + struct cl_optimization *t = TREE_OPTIMIZATION (expr); + + len = sizeof (struct cl_optimization); + for (i = 0; i < len; i++) + ((unsigned char *)t)[i] = bp_unpack_value (bp, 8); + if (bp_unpack_value (bp, 32) != 0x12345678) + fatal_error ("cl_optimization size mismatch in LTO reader and writer"); +} + + /* Unpack all the non-pointer fields in EXPR into a bit pack. */ static void @@ -415,6 +446,12 @@ unpack_value_fields (struct data_in *data_in, struct bitpack_d *bp, tree expr) if (CODE_CONTAINS_STRUCT (code, TS_TRANSLATION_UNIT_DECL)) unpack_ts_translation_unit_decl_value_fields (bp, expr); + + if (CODE_CONTAINS_STRUCT (code, TS_TARGET_OPTION)) + unpack_ts_target_option (bp, expr); + + if (CODE_CONTAINS_STRUCT (code, TS_OPTIMIZATION)) + unpack_ts_optimization (bp, expr); } @@ -900,40 +937,6 @@ lto_input_ts_constructor_tree_pointers (struct lto_input_block *ib, } -/* Input a TS_TARGET_OPTION tree from IB into EXPR. */ - -static void -lto_input_ts_target_option (struct lto_input_block *ib, tree expr) -{ - unsigned i, len; - struct bitpack_d bp; - struct cl_target_option *t = TREE_TARGET_OPTION (expr); - - bp = streamer_read_bitpack (ib); - len = sizeof (struct cl_target_option); - for (i = 0; i < len; i++) - ((unsigned char *)t)[i] = bp_unpack_value (&bp, 8); - if (bp_unpack_value (&bp, 32) != 0x12345678) - fatal_error ("cl_target_option size mismatch in LTO reader and writer"); -} - -/* Input a TS_OPTIMIZATION tree from IB into EXPR. */ - -static void -lto_input_ts_optimization (struct lto_input_block *ib, tree expr) -{ - unsigned i, len; - struct bitpack_d bp; - struct cl_optimization *t = TREE_OPTIMIZATION (expr); - - bp = streamer_read_bitpack (ib); - len = sizeof (struct cl_optimization); - for (i = 0; i < len; i++) - ((unsigned char *)t)[i] = bp_unpack_value (&bp, 8); - if (bp_unpack_value (&bp, 32) != 0x12345678) - fatal_error ("cl_optimization size mismatch in LTO reader and writer"); -} - /* Input a TS_TRANSLATION_UNIT_DECL tree from IB and DATA_IN into EXPR. */ static void @@ -1007,12 +1010,6 @@ streamer_read_tree_body (struct lto_input_block *ib, struct data_in *data_in, if (CODE_CONTAINS_STRUCT (code, TS_CONSTRUCTOR)) lto_input_ts_constructor_tree_pointers (ib, data_in, expr); - if (CODE_CONTAINS_STRUCT (code, TS_TARGET_OPTION)) - lto_input_ts_target_option (ib, expr); - - if (CODE_CONTAINS_STRUCT (code, TS_OPTIMIZATION)) - lto_input_ts_optimization (ib, expr); - if (CODE_CONTAINS_STRUCT (code, TS_TRANSLATION_UNIT_DECL)) lto_input_ts_translation_unit_decl_tree_pointers (ib, data_in, expr); } diff --git a/gcc/tree-streamer-out.c b/gcc/tree-streamer-out.c index 73ffb30..fc70eb9 100644 --- a/gcc/tree-streamer-out.c +++ b/gcc/tree-streamer-out.c @@ -320,6 +320,42 @@ pack_ts_translation_unit_decl_value_fields (struct bitpack_d *bp ATTRIBUTE_UNUSE { } +/* Pack a TS_TARGET_OPTION tree in EXPR to BP. */ + +static void +pack_ts_target_option (struct bitpack_d *bp, tree expr) +{ + struct cl_target_option *t = TREE_TARGET_OPTION (expr); + unsigned i, len; + + /* The cl_target_option is target specific and generated by the options + awk script, so we just recreate a byte-by-byte copy here. */ + + len = sizeof (struct cl_target_option); + for (i = 0; i < len; i++) + bp_pack_value (bp, ((unsigned char *)t)[i], 8); + /* Catch struct size mismatches between reader and writer. */ + bp_pack_value (bp, 0x12345678, 32); +} + +/* Pack a TS_OPTIMIZATION tree in EXPR to BP. */ + +static void +pack_ts_optimization (struct bitpack_d *bp, tree expr) +{ + struct cl_optimization *t = TREE_OPTIMIZATION (expr); + unsigned i, len; + + /* The cl_optimization is generated by the options + awk script, so we just recreate a byte-by-byte copy here. */ + + len = sizeof (struct cl_optimization); + for (i = 0; i < len; i++) + bp_pack_value (bp, ((unsigned char *)t)[i], 8); + /* Catch struct size mismatches between reader and writer. */ + bp_pack_value (bp, 0x12345678, 32); +} + /* Pack all the bitfields in EXPR into a bit pack. */ @@ -367,6 +403,12 @@ streamer_pack_tree_bitfields (struct output_block *ob, if (CODE_CONTAINS_STRUCT (code, TS_TRANSLATION_UNIT_DECL)) pack_ts_translation_unit_decl_value_fields (bp, expr); + + if (CODE_CONTAINS_STRUCT (code, TS_TARGET_OPTION)) + pack_ts_target_option (bp, expr); + + if (CODE_CONTAINS_STRUCT (code, TS_OPTIMIZATION)) + pack_ts_optimization (bp, expr); } @@ -773,48 +815,6 @@ write_ts_constructor_tree_pointers (struct output_block *ob, tree expr, } } -/* Write a TS_TARGET_OPTION tree in EXPR to OB. */ - -static void -write_ts_target_option (struct output_block *ob, tree expr) -{ - struct cl_target_option *t = TREE_TARGET_OPTION (expr); - struct bitpack_d bp; - unsigned i, len; - - /* The cl_target_option is target specific and generated by the options - awk script, so we just recreate a byte-by-byte copy here. */ - - bp = bitpack_create (ob->main_stream); - len = sizeof (struct cl_target_option); - for (i = 0; i < len; i++) - bp_pack_value (&bp, ((unsigned char *)t)[i], 8); - /* Catch struct size mismatches between reader and writer. */ - bp_pack_value (&bp, 0x12345678, 32); - streamer_write_bitpack (&bp); -} - -/* Write a TS_OPTIMIZATION tree in EXPR to OB. */ - -static void -write_ts_optimization (struct output_block *ob, tree expr) -{ - struct cl_optimization *t = TREE_OPTIMIZATION (expr); - struct bitpack_d bp; - unsigned i, len; - - /* The cl_optimization is generated by the options - awk script, so we just recreate a byte-by-byte copy here. */ - - bp = bitpack_create (ob->main_stream); - len = sizeof (struct cl_optimization); - for (i = 0; i < len; i++) - bp_pack_value (&bp, ((unsigned char *)t)[i], 8); - /* Catch struct size mismatches between reader and writer. */ - bp_pack_value (&bp, 0x12345678, 32); - streamer_write_bitpack (&bp); -} - /* Write a TS_TRANSLATION_UNIT_DECL tree in EXPR to OB. */ static void @@ -886,12 +886,6 @@ streamer_write_tree_body (struct output_block *ob, tree expr, bool ref_p) if (CODE_CONTAINS_STRUCT (code, TS_CONSTRUCTOR)) write_ts_constructor_tree_pointers (ob, expr, ref_p); - if (CODE_CONTAINS_STRUCT (code, TS_TARGET_OPTION)) - write_ts_target_option (ob, expr); - - if (CODE_CONTAINS_STRUCT (code, TS_OPTIMIZATION)) - write_ts_optimization (ob, expr); - if (CODE_CONTAINS_STRUCT (code, TS_TRANSLATION_UNIT_DECL)) write_ts_translation_unit_decl_tree_pointers (ob, expr); } |