X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;ds=sidebyside;f=ir%2Fbe%2Fia32%2Fia32_common_transform.h;h=28fd0dd4b9a40aa13f0c8e4c55776e3c68822d46;hb=fa58db3dfe73586f59ba99952806e418849c9740;hp=6d6b3bf707b9329468b8fbff89462c823b235876;hpb=bb167f95cb33b553aa7afc89c8e0a3d148ccf74e;p=libfirm diff --git a/ir/be/ia32/ia32_common_transform.h b/ir/be/ia32/ia32_common_transform.h index 6d6b3bf70..28fd0dd4b 100644 --- a/ir/be/ia32/ia32_common_transform.h +++ b/ir/be/ia32/ia32_common_transform.h @@ -86,6 +86,18 @@ int ia32_mode_needs_gp_reg(ir_mode *mode); */ ir_node *gen_ASM(ir_node *node); +/** + * Transforms a CopyB node. + * + * @return The transformed node. + */ +ir_node *gen_CopyB(ir_node *node); + +/** + * Transform the Thread Local Storage Proj. + */ +ir_node *gen_Proj_tls(ir_node *node); + /** * This function just sets the register for the Unknown node * as this is not done during register allocation because Unknown @@ -98,6 +110,12 @@ const arch_register_req_t *make_register_req(const constraint_t *constraint, const arch_register_req_t *parse_clobber(const char *clobber); +/** + * Checks whether other node inputs depend on the am_candidate (via mem-proj). + */ +int prevents_AM(ir_node *const block, ir_node *const am_candidate, + ir_node *const other); + ir_node *try_create_Immediate(ir_node *node, char immediate_constraint_type); #endif /* FIRM_BE_IA32_IA32_COMMON_TRANSFORM_H */