X-Git-Url: http://git.sourceforge.jp/view?a=blobdiff_plain;f=gcc%2Frecog.c;h=1847c236fec85912ba289bf6173c073e6b44efab;hb=6c5a7e57a8527d504955e2802ae230e01ce63622;hp=254e83a9769d3f73fb5afeacb480c18411270a40;hpb=7cf0dbf3e5eee1286c76c26a836622c9c9974736;p=pf3gnuchains%2Fgcc-fork.git diff --git a/gcc/recog.c b/gcc/recog.c index 254e83a9769..1847c236fec 100644 --- a/gcc/recog.c +++ b/gcc/recog.c @@ -35,7 +35,6 @@ along with GCC; see the file COPYING3. If not see #include "expr.h" #include "function.h" #include "flags.h" -#include "real.h" #include "toplev.h" #include "basic-block.h" #include "output.h" @@ -1978,7 +1977,7 @@ offsettable_address_addr_space_p (int strictp, enum machine_mode mode, rtx y, Autoincrement addressing is a typical example of mode-dependence because the amount of the increment depends on the mode. */ -int +bool mode_dependent_address_p (rtx addr) { /* Auto-increment addressing with anything other than post_modify @@ -1988,13 +1987,9 @@ mode_dependent_address_p (rtx addr) || GET_CODE (addr) == POST_INC || GET_CODE (addr) == PRE_DEC || GET_CODE (addr) == POST_DEC) - return 1; + return true; - GO_IF_MODE_DEPENDENT_ADDRESS (addr, win); - return 0; - /* Label `win' might (not) be used via GO_IF_MODE_DEPENDENT_ADDRESS. */ - win: ATTRIBUTE_UNUSED_LABEL - return 1; + return targetm.mode_dependent_address_p (addr); } /* Like extract_insn, but save insn extracted and don't extract again, when @@ -2082,6 +2077,7 @@ extract_insn (rtx insn) recog_data.operand_loc, recog_data.constraints, recog_data.operand_mode, NULL); + memset (recog_data.is_operator, 0, sizeof recog_data.is_operator); if (noperands > 0) { const char *p = recog_data.constraints[0]; @@ -2111,6 +2107,7 @@ extract_insn (rtx insn) for (i = 0; i < noperands; i++) { recog_data.constraints[i] = insn_data[icode].operand[i].constraint; + recog_data.is_operator[i] = insn_data[icode].operand[i].is_operator; recog_data.operand_mode[i] = insn_data[icode].operand[i].mode; /* VOIDmode match_operands gets mode from their real operand. */ if (recog_data.operand_mode[i] == VOIDmode)