X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fbe%2Fbearch_t.h;h=efba49542a4c8edb7df33677cf1199a8ca867855;hb=4a4a64bc6a7bec26b2870746a2873a16579bf413;hp=b1702fd4fdc810f9335d2df62eae227dbd50b61a;hpb=8f667f86a421eb4a3e5ee0979dc82493ac1a2d29;p=libfirm diff --git a/ir/be/bearch_t.h b/ir/be/bearch_t.h index b1702fd4f..efba49542 100644 --- a/ir/be/bearch_t.h +++ b/ir/be/bearch_t.h @@ -523,6 +523,11 @@ struct arch_isa_if_t { */ ir_graph **(*get_backend_irg_list)(const void *self, ir_graph ***irgs); + /** + * mark node as rematerialized + */ + void (*mark_remat)(const void *self, ir_node *node); + /** * parse an assembler constraint part and set flags according to its nature * advances the *c pointer to point to the last parsed character (so if you @@ -552,6 +557,8 @@ struct arch_isa_if_t { #define arch_env_get_backend_irg_list(env,irgs) ((env)->impl->get_backend_irg_list((env), (irgs))) #define arch_env_parse_asm_constraint(env,c) ((env)->impl->parse_asm_constraint((env), (c)) #define arch_env_is_valid_clobber(env,clobber) ((env)->impl->is_valid_clobber((env), (clobber)) +#define arch_env_mark_remat(env,node) \ + do { if ((env)->impl->mark_remat != NULL) (env)->impl->mark_remat((env), (node)); } while(0) /** * ISA base class.