#define GCC_FUNCTION_H
#include "tree.h"
+#include "hashtab.h"
struct var_refs_queue GTY(())
{
#define forced_labels (cfun->expr->x_forced_labels)
#define stack_pointer_delta (cfun->expr->x_stack_pointer_delta)
+struct temp_slot;
+typedef struct temp_slot *temp_slot_p;
+
+DEF_VEC_P(temp_slot_p);
+DEF_VEC_ALLOC_P(temp_slot_p,gc);
+
/* This structure can save all the important global and static variables
describing the status of the current function. */
rtx x_parm_birth_insn;
/* List of all used temporaries allocated, by level. */
- struct varray_head_tag * GTY((param_is (struct temp_slot))) x_used_temp_slots;
+ VEC(temp_slot_p,gc) *x_used_temp_slots;
/* List of available temp slots. */
struct temp_slot *x_avail_temp_slots;
/* Language-specific code can use this to store whatever it likes. */
struct language_function * language;
+ /* Used types hash table. */
+ htab_t GTY ((param_is (union tree_node))) used_types_hash;
+
/* For reorg. */
/* If some insns can be deferred to the delay slots of the epilogue, the
location_t function_end_locus;
/* Array mapping insn uids to blocks. */
- struct varray_head_tag *ib_boundaries_block;
+ VEC(tree,gc) *ib_boundaries_block;
/* The variables unexpanded so far. */
tree unexpanded_var_list;
extern bool reference_callee_copied (CUMULATIVE_ARGS *, enum machine_mode,
tree, bool);
+extern void used_types_insert (tree);
+
#endif /* GCC_FUNCTION_H */