From e80283bd93f03722f80def5ea7a346ff7944bae7 Mon Sep 17 00:00:00 2001 From: bernds Date: Wed, 15 Nov 2006 12:27:32 +0000 Subject: [PATCH] * config/bfin/bfin.c (legitimize_pic_address): Lose dead code that tests for CONSTANT_POOL_ADDRESS_P. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@118854 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ChangeLog | 3 +++ gcc/config/bfin/bfin.c | 43 +++++++++++++++++-------------------------- 2 files changed, 20 insertions(+), 26 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 8e7537e036a..25b18138b7a 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -2,6 +2,9 @@ * tree-ssa-loop-ivopts.c (determine_iv_costs): Fix formatting. + * config/bfin/bfin.c (legitimize_pic_address): Lose dead code + that tests for CONSTANT_POOL_ADDRESS_P. + 2006-11-15 Jakub Jelinek PR tree-optimization/29581 diff --git a/gcc/config/bfin/bfin.c b/gcc/config/bfin/bfin.c index fd056a2545c..299fc565529 100644 --- a/gcc/config/bfin/bfin.c +++ b/gcc/config/bfin/bfin.c @@ -145,36 +145,27 @@ legitimize_pic_address (rtx orig, rtx reg, rtx picreg) if (GET_CODE (addr) == SYMBOL_REF || GET_CODE (addr) == LABEL_REF) { - if (GET_CODE (addr) == SYMBOL_REF && CONSTANT_POOL_ADDRESS_P (addr)) - reg = new = orig; + int unspec; + rtx tmp; + + if (TARGET_ID_SHARED_LIBRARY) + unspec = UNSPEC_MOVE_PIC; + else if (GET_CODE (addr) == SYMBOL_REF + && SYMBOL_REF_FUNCTION_P (addr)) + unspec = UNSPEC_FUNCDESC_GOT17M4; else - { - int unspec; - rtx tmp; - - if (TARGET_ID_SHARED_LIBRARY) - unspec = UNSPEC_MOVE_PIC; - else if (GET_CODE (addr) == SYMBOL_REF - && SYMBOL_REF_FUNCTION_P (addr)) - { - unspec = UNSPEC_FUNCDESC_GOT17M4; - } - else - { - unspec = UNSPEC_MOVE_FDPIC; - } + unspec = UNSPEC_MOVE_FDPIC; - if (reg == 0) - { - gcc_assert (!no_new_pseudos); - reg = gen_reg_rtx (Pmode); - } + if (reg == 0) + { + gcc_assert (!no_new_pseudos); + reg = gen_reg_rtx (Pmode); + } - tmp = gen_rtx_UNSPEC (Pmode, gen_rtvec (1, addr), unspec); - new = gen_const_mem (Pmode, gen_rtx_PLUS (Pmode, picreg, tmp)); + tmp = gen_rtx_UNSPEC (Pmode, gen_rtvec (1, addr), unspec); + new = gen_const_mem (Pmode, gen_rtx_PLUS (Pmode, picreg, tmp)); - emit_move_insn (reg, new); - } + emit_move_insn (reg, new); if (picreg == pic_offset_table_rtx) current_function_uses_pic_offset_table = 1; return reg; -- 2.11.0