From da5841fc421769e3e0bec36d444b595df2ab116b Mon Sep 17 00:00:00 2001 From: Sebastian Hack Date: Tue, 14 Jun 2005 13:50:27 +0000 Subject: [PATCH] Added irn class branch and dummy firm backend implementation --- ir/be/bearch.h | 3 ++- ir/be/bearch_firm.c | 13 ++++++++++++- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/ir/be/bearch.h b/ir/be/bearch.h index 5e309661d..02c0cf110 100644 --- a/ir/be/bearch.h +++ b/ir/be/bearch.h @@ -194,7 +194,8 @@ typedef enum _arch_irn_class_t { arch_irn_class_spill, arch_irn_class_reload, arch_irn_class_copy, - arch_irn_class_perm + arch_irn_class_perm, + arch_irn_class_branch } arch_irn_class_t; /* diff --git a/ir/be/bearch_firm.c b/ir/be/bearch_firm.c index 44e6fcba5..1aacdc186 100644 --- a/ir/be/bearch_firm.c +++ b/ir/be/bearch_firm.c @@ -149,7 +149,18 @@ static const arch_register_t *firm_get_irn_reg(const arch_irn_ops_t *self, static arch_irn_class_t firm_classify(const arch_irn_ops_t *self, const ir_node *irn) { - return arch_irn_class_normal; + arch_irn_class_t res; + + switch(get_irn_opcode(irn)) { + case iro_Cond: + case iro_Jmp: + res = arch_irn_class_branch; + break; + default: + res = arch_irn_class_normal; + } + + return res; } static const arch_irn_ops_t irn_ops = { -- 2.20.1