aboutsummaryrefslogtreecommitdiff
path: root/gcc/recog.c
diff options
context:
space:
mode:
authorAnatoly Sokolov <aesok@post.ru>2010-05-12 23:08:31 +0400
committerAnatoly Sokolov <aesok@gcc.gnu.org>2010-05-12 23:08:31 +0400
commitcbda7dc6923547363e10787e6a58dfdd5cae5954 (patch)
treeab0664b99a156d91a202d107ee413a933ccb1249 /gcc/recog.c
parentdfe5f5b2b36092f0e07f3e7e58293c5e0565ced4 (diff)
downloadgcc-cbda7dc6923547363e10787e6a58dfdd5cae5954.zip
gcc-cbda7dc6923547363e10787e6a58dfdd5cae5954.tar.gz
gcc-cbda7dc6923547363e10787e6a58dfdd5cae5954.tar.bz2
target.h (struct gcc_target): Add mode_dependent_address_p field.
* target.h (struct gcc_target): Add mode_dependent_address_p field. * target-def.h (TARGET_MODE_DEPENDENT_ADDRESS_P): New. (TARGET_INITIALIZER): Use TARGET_MODE_DEPENDENT_ADDRESS_P. * targhooks.c (default_mode_dependent_address_p): New function. * targhooks.h (default_mode_dependent_address_p): Declare function. * doc/tm.texi (TARGET_MODE_DEPENDENT_ADDRESS_P): New. (GO_IF_MODE_DEPENDENT_ADDRESS): Update. * recog.c: (mode_dependent_address_p): Call mode_dependent_address_p target hook. Change return type to bool. * recog.h: (mode_dependent_address_p): Change return type to bool. From-SVN: r159339
Diffstat (limited to 'gcc/recog.c')
-rw-r--r--gcc/recog.c10
1 files changed, 3 insertions, 7 deletions
diff --git a/gcc/recog.c b/gcc/recog.c
index 0dea35f..e8f918c 100644
--- a/gcc/recog.c
+++ b/gcc/recog.c
@@ -1978,7 +1978,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 +1988,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