translation unit. */
void (*file_end) (void);
+ /* Output any boilerplate text needed at the beginning of an
+ LTO output stream. */
+ void (*lto_start) (void);
+
+ /* Output any boilerplate text needed at the end of an
+ LTO output stream. */
+ void (*lto_end) (void);
+
/* Output any boilerplace text needed at the end of a
translation unit before debug and unwind info is emitted. */
void (*code_end) (void);
Ignored if NULL. */
const struct attribute_spec *attribute_table;
+ /* Return true iff attribute NAME expects a plain identifier as its first
+ argument. */
+ bool (*attribute_takes_identifier_p) (const_tree name);
+
/* Return zero if the attributes on TYPE1 and TYPE2 are incompatible,
one if they are compatible and two if they are nearly compatible
(which causes a warning to be generated). */
/* True if X is considered to be commutative. */
bool (* commutative_p) (const_rtx, int);
+
+ /* True if ADDR is an address-expression whose effect depends
+ on the mode of the memory reference it is used in. */
+ bool (* mode_dependent_address_p) (const_rtx addr);
/* Given an invalid address X for a given machine mode, try machine-specific
ways to make it legitimate. Return X or an invalid address on failure. */