diff options
author | edlinger <edlinger@138bc75d-0d04-0410-961f-82ee72b054a4> | 2015-07-04 19:02:18 +0000 |
---|---|---|
committer | edlinger <edlinger@138bc75d-0d04-0410-961f-82ee72b054a4> | 2015-07-04 19:02:18 +0000 |
commit | 874cca8bc8e9e04b57314781c9057924376dc91f (patch) | |
tree | 99128022d16397595675ad1aeb6111c065443e7b /gcc/config/mips/mips.c | |
parent | a5baeed086bcca781ab064dae948db9442fe57c3 (diff) | |
download | gcc-874cca8bc8e9e04b57314781c9057924376dc91f.tar.gz |
2015-07-04 Bernd Edlinger <bernd.edlinger@hotmail.de>
PR target/66747
* config/mips/mips.c (mips_find_gp_ref): Handle instruction sequences.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225416 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/mips/mips.c')
-rw-r--r-- | gcc/config/mips/mips.c | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/gcc/config/mips/mips.c b/gcc/config/mips/mips.c index da0943b5df3..95a0ae3f44c 100644 --- a/gcc/config/mips/mips.c +++ b/gcc/config/mips/mips.c @@ -9790,17 +9790,18 @@ mips16_cfun_returns_in_fpr_p (void) static bool mips_find_gp_ref (bool *cache, bool (*pred) (rtx_insn *)) { - rtx_insn *insn; + rtx_insn *insn, *subinsn; if (!*cache) { push_topmost_sequence (); for (insn = get_insns (); insn; insn = NEXT_INSN (insn)) - if (USEFUL_INSN_P (insn) && pred (insn)) - { - *cache = true; - break; - } + FOR_EACH_SUBINSN (subinsn, insn) + if (USEFUL_INSN_P (subinsn) && pred (subinsn)) + { + *cache = true; + break; + } pop_topmost_sequence (); } return *cache; |