diff options
author | aesok <aesok@138bc75d-0d04-0410-961f-82ee72b054a4> | 2010-05-23 08:52:21 +0000 |
---|---|---|
committer | aesok <aesok@138bc75d-0d04-0410-961f-82ee72b054a4> | 2010-05-23 08:52:21 +0000 |
commit | c7000751d67b66d966d4d3afa09c09d32a3805a8 (patch) | |
tree | af56490dab8607ca6ff3560fb63f8ac86df8d3d2 | |
parent | db94badd45b533a3a73c02e1c79c1792f195929a (diff) | |
download | gcc-c7000751d67b66d966d4d3afa09c09d32a3805a8.tar.gz |
* config/rs6000/rs6000.c (rs6000_mode_dependent_address_p): New.
(TARGET_MODE_DEPENDENT_ADDRESS_P): Define.
(rs6000_mode_dependent_address_ptr): Make static.
* config/rs6000/rs6000.h (GO_IF_MODE_DEPENDENT_ADDRESS): Remove.
* config/rs6000/rs6000-protos.h (rs6000_mode_dependent_address_ptr):
Remove.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159759 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r-- | gcc/ChangeLog | 9 | ||||
-rw-r--r-- | gcc/config/rs6000/rs6000-protos.h | 1 | ||||
-rw-r--r-- | gcc/config/rs6000/rs6000.c | 14 | ||||
-rw-r--r-- | gcc/config/rs6000/rs6000.h | 9 |
4 files changed, 22 insertions, 11 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index c4ec2cae3fa..a7a77433a09 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,12 @@ +2010-05-23 Anatoly Sokolov <aesok@post.ru> + + * config/rs6000/rs6000.c (rs6000_mode_dependent_address_p): New. + (TARGET_MODE_DEPENDENT_ADDRESS_P): Define. + (rs6000_mode_dependent_address_ptr): Make static. + * config/rs6000/rs6000.h (GO_IF_MODE_DEPENDENT_ADDRESS): Remove. + * config/rs6000/rs6000-protos.h (rs6000_mode_dependent_address_ptr): + Remove. + 2010-05-23 Maarten Lankhorst <mlankhorst@codeweavers.com> PR target/43869 diff --git a/gcc/config/rs6000/rs6000-protos.h b/gcc/config/rs6000/rs6000-protos.h index 7a0db265814..43ed634495b 100644 --- a/gcc/config/rs6000/rs6000-protos.h +++ b/gcc/config/rs6000/rs6000-protos.h @@ -119,7 +119,6 @@ extern rtx rs6000_secondary_memory_needed_rtx (enum machine_mode); extern rtx (*rs6000_legitimize_reload_address_ptr) (rtx, enum machine_mode, int, int, int, int *); extern bool rs6000_legitimate_offset_address_p (enum machine_mode, rtx, int); -extern bool (*rs6000_mode_dependent_address_ptr) (const_rtx); extern rtx rs6000_find_base_term (rtx); extern bool rs6000_offsettable_memref_p (rtx); extern rtx rs6000_return_addr (int, rtx); diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c index 8f2c35d07f2..35be57bac9e 100644 --- a/gcc/config/rs6000/rs6000.c +++ b/gcc/config/rs6000/rs6000.c @@ -1118,9 +1118,10 @@ rtx (*rs6000_legitimize_reload_address_ptr) (rtx, enum machine_mode, int, int, int, int *) = rs6000_legitimize_reload_address; +static bool rs6000_mode_dependent_address_p (const_rtx); static bool rs6000_mode_dependent_address (const_rtx); static bool rs6000_debug_mode_dependent_address (const_rtx); -bool (*rs6000_mode_dependent_address_ptr) (const_rtx) +static bool (*rs6000_mode_dependent_address_ptr) (const_rtx) = rs6000_mode_dependent_address; static enum reg_class rs6000_secondary_reload_class (enum reg_class, @@ -1542,6 +1543,9 @@ static const struct attribute_spec rs6000_attribute_table[] = #undef TARGET_LEGITIMATE_ADDRESS_P #define TARGET_LEGITIMATE_ADDRESS_P rs6000_legitimate_address_p +#undef TARGET_MODE_DEPENDENT_ADDRESS_P +#define TARGET_MODE_DEPENDENT_ADDRESS_P rs6000_mode_dependent_address_p + #undef TARGET_CAN_ELIMINATE #define TARGET_CAN_ELIMINATE rs6000_can_eliminate @@ -5884,6 +5888,14 @@ rs6000_debug_legitimate_address_p (enum machine_mode mode, rtx x, return ret; } +/* Implement TARGET_MODE_DEPENDENT_ADDRESS_P. */ + +static bool +rs6000_mode_dependent_address_p (const_rtx addr) +{ + return rs6000_mode_dependent_address_ptr (addr); +} + /* Go to LABEL if ADDR (a legitimate address expression) has an effect that depends on the machine mode it is used for. diff --git a/gcc/config/rs6000/rs6000.h b/gcc/config/rs6000/rs6000.h index a0c2ad79b72..6be51cc47d5 100644 --- a/gcc/config/rs6000/rs6000.h +++ b/gcc/config/rs6000/rs6000.h @@ -1892,15 +1892,6 @@ do { \ goto WIN; \ } while (0) -/* Go to LABEL if ADDR (a legitimate address expression) - has an effect that depends on the machine mode it is used for. */ - -#define GO_IF_MODE_DEPENDENT_ADDRESS(ADDR,LABEL) \ -do { \ - if (rs6000_mode_dependent_address_ptr (ADDR)) \ - goto LABEL; \ -} while (0) - #define FIND_BASE_TERM rs6000_find_base_term /* The register number of the register used to address a table of |