mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-04-21 03:40:25 +08:00
lto-section-in.c (lto_input_1_unsigned): Move to lto-streamer.h
* lto-section-in.c (lto_input_1_unsigned): Move to lto-streamer.h (lto_section_overrun): New. * lto-section-out.c (append_block): Rename to ... (lto_append_block): ... this one; export. (lto_output_1_stream): Move lto lto-streamer.h (lto_output_data_stream): Update. * lto-streamer.h (lto_section_overrun, lto_append_block): Declare. (lto_output_1_stream, lto_input_1_unsigned): Turn into inline functions. From-SVN: r173247
This commit is contained in:
parent
d12530b543
commit
bc0fe8cb2a
@ -1,3 +1,15 @@
|
||||
2011-05-02 Jan Hubicka <jh@suse.cz>
|
||||
|
||||
* lto-section-in.c (lto_input_1_unsigned): Move to lto-streamer.h
|
||||
(lto_section_overrun): New.
|
||||
* lto-section-out.c (append_block): Rename to ...
|
||||
(lto_append_block): ... this one; export.
|
||||
(lto_output_1_stream): Move lto lto-streamer.h
|
||||
(lto_output_data_stream): Update.
|
||||
* lto-streamer.h (lto_section_overrun, lto_append_block): Declare.
|
||||
(lto_output_1_stream, lto_input_1_unsigned): Turn into inline
|
||||
functions.
|
||||
|
||||
2011-05-02 Richard Guenther <rguenther@suse.de>
|
||||
|
||||
* tree.c (tree_code_counts): New global array.
|
||||
|
@ -62,16 +62,6 @@ const char *lto_section_name[LTO_N_SECTION_TYPES] =
|
||||
"inline"
|
||||
};
|
||||
|
||||
unsigned char
|
||||
lto_input_1_unsigned (struct lto_input_block *ib)
|
||||
{
|
||||
if (ib->p >= ib->len)
|
||||
internal_error ("bytecode stream: trying to read %d bytes "
|
||||
"after the end of the input buffer", ib->p - ib->len);
|
||||
|
||||
return (ib->data[ib->p++]);
|
||||
}
|
||||
|
||||
|
||||
/* Read an ULEB128 Number of IB. */
|
||||
|
||||
@ -486,3 +476,13 @@ lto_get_function_in_decl_state (struct lto_file_decl_data *file_data,
|
||||
slot = htab_find_slot (file_data->function_decl_states, &temp, NO_INSERT);
|
||||
return slot? ((struct lto_in_decl_state*) *slot) : NULL;
|
||||
}
|
||||
|
||||
|
||||
/* Report read pass end of the section. */
|
||||
|
||||
void
|
||||
lto_section_overrun (struct lto_input_block *ib)
|
||||
{
|
||||
internal_error ("bytecode stream: trying to read %d bytes "
|
||||
"after the end of the input buffer", ib->p - ib->len);
|
||||
}
|
||||
|
@ -194,8 +194,8 @@ lto_write_stream (struct lto_output_stream *obs)
|
||||
|
||||
/* Adds a new block to output stream OBS. */
|
||||
|
||||
static void
|
||||
append_block (struct lto_output_stream *obs)
|
||||
void
|
||||
lto_append_block (struct lto_output_stream *obs)
|
||||
{
|
||||
struct lto_char_ptr_base *new_block;
|
||||
|
||||
@ -234,23 +234,6 @@ append_block (struct lto_output_stream *obs)
|
||||
}
|
||||
|
||||
|
||||
/* Write a character to the output block. */
|
||||
|
||||
void
|
||||
lto_output_1_stream (struct lto_output_stream *obs, char c)
|
||||
{
|
||||
/* No space left. */
|
||||
if (obs->left_in_block == 0)
|
||||
append_block (obs);
|
||||
|
||||
/* Write the actual character. */
|
||||
*obs->current_pointer = c;
|
||||
obs->current_pointer++;
|
||||
obs->total_size++;
|
||||
obs->left_in_block--;
|
||||
}
|
||||
|
||||
|
||||
/* Write raw DATA of length LEN to the output block OB. */
|
||||
|
||||
void
|
||||
@ -263,7 +246,7 @@ lto_output_data_stream (struct lto_output_stream *obs, const void *data,
|
||||
|
||||
/* No space left. */
|
||||
if (obs->left_in_block == 0)
|
||||
append_block (obs);
|
||||
lto_append_block (obs);
|
||||
|
||||
/* Determine how many bytes to copy in this loop. */
|
||||
if (len <= obs->left_in_block)
|
||||
|
@ -758,7 +758,6 @@ extern const char *lto_get_section_data (struct lto_file_decl_data *,
|
||||
extern void lto_free_section_data (struct lto_file_decl_data *,
|
||||
enum lto_section_type,
|
||||
const char *, const char *, size_t);
|
||||
extern unsigned char lto_input_1_unsigned (struct lto_input_block *);
|
||||
extern unsigned HOST_WIDE_INT lto_input_uleb128 (struct lto_input_block *);
|
||||
extern unsigned HOST_WIDEST_INT lto_input_widest_uint_uleb128 (
|
||||
struct lto_input_block *);
|
||||
@ -774,6 +773,7 @@ extern hashval_t lto_hash_in_decl_state (const void *);
|
||||
extern int lto_eq_in_decl_state (const void *, const void *);
|
||||
extern struct lto_in_decl_state *lto_get_function_in_decl_state (
|
||||
struct lto_file_decl_data *, tree);
|
||||
extern void lto_section_overrun (struct lto_input_block *) ATTRIBUTE_NORETURN;
|
||||
|
||||
/* In lto-section-out.c */
|
||||
extern hashval_t lto_hash_decl_slot_node (const void *);
|
||||
@ -783,7 +783,6 @@ extern int lto_eq_type_slot_node (const void *, const void *);
|
||||
extern void lto_begin_section (const char *, bool);
|
||||
extern void lto_end_section (void);
|
||||
extern void lto_write_stream (struct lto_output_stream *);
|
||||
extern void lto_output_1_stream (struct lto_output_stream *, char);
|
||||
extern void lto_output_data_stream (struct lto_output_stream *, const void *,
|
||||
size_t);
|
||||
extern void lto_output_uleb128_stream (struct lto_output_stream *,
|
||||
@ -817,6 +816,7 @@ extern void lto_push_out_decl_state (struct lto_out_decl_state *);
|
||||
extern struct lto_out_decl_state *lto_pop_out_decl_state (void);
|
||||
extern void lto_record_function_out_decl_state (tree,
|
||||
struct lto_out_decl_state *);
|
||||
extern void lto_append_block (struct lto_output_stream *);
|
||||
|
||||
|
||||
/* In lto-streamer.c. */
|
||||
@ -1174,4 +1174,32 @@ bp_unpack_value (struct bitpack_d *bp, unsigned nbits)
|
||||
return val & mask;
|
||||
}
|
||||
|
||||
|
||||
/* Write a character to the output block. */
|
||||
|
||||
static inline void
|
||||
lto_output_1_stream (struct lto_output_stream *obs, char c)
|
||||
{
|
||||
/* No space left. */
|
||||
if (obs->left_in_block == 0)
|
||||
lto_append_block (obs);
|
||||
|
||||
/* Write the actual character. */
|
||||
*obs->current_pointer = c;
|
||||
obs->current_pointer++;
|
||||
obs->total_size++;
|
||||
obs->left_in_block--;
|
||||
}
|
||||
|
||||
|
||||
/* Read byte from the input block. */
|
||||
|
||||
static inline unsigned char
|
||||
lto_input_1_unsigned (struct lto_input_block *ib)
|
||||
{
|
||||
if (ib->p >= ib->len)
|
||||
lto_section_overrun (ib);
|
||||
return (ib->data[ib->p++]);
|
||||
}
|
||||
|
||||
#endif /* GCC_LTO_STREAMER_H */
|
||||
|
Loading…
x
Reference in New Issue
Block a user