diff options
author | Hariharan Sandanagobalane <hariharan@picochip.com> | 2011-05-27 08:27:23 +0000 |
---|---|---|
committer | Hariharan Sandanagobalane <hariharans@gcc.gnu.org> | 2011-05-27 08:27:23 +0000 |
commit | dc38fc2e8a3b5ce18e6a22ea160da5ff7ecb0e4b (patch) | |
tree | 3bc843614ecd8e1e886c03f23754b7f335fee31a /gcc | |
parent | ad5f3d7b395b741f736b67feb6d053d8ea5a8382 (diff) | |
download | gcc-dc38fc2e8a3b5ce18e6a22ea160da5ff7ecb0e4b.zip gcc-dc38fc2e8a3b5ce18e6a22ea160da5ff7ecb0e4b.tar.gz gcc-dc38fc2e8a3b5ce18e6a22ea160da5ff7ecb0e4b.tar.bz2 |
picochip.c (reorder_var_tracking_notes): Drop call_arg_location instructions down the floor.
* config/picochip/picochip.c (reorder_var_tracking_notes): Drop
call_arg_location instructions down the floor.
From-SVN: r174322
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/config/picochip/picochip.c | 13 |
2 files changed, 15 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 8e487e4..43cce51 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2011-05-27 Hariharan Sandanagobalane <hariharan@picochip.com> + + * config/picochip/picochip.c (reorder_var_tracking_notes): Drop + call_arg_location instructions down the floor. + 2011-05-26 Vladimir Makarov <vmakarov@redhat.com> PR rtl-optimization/49154 diff --git a/gcc/config/picochip/picochip.c b/gcc/config/picochip/picochip.c index 8c2a61b..f7f1646 100644 --- a/gcc/config/picochip/picochip.c +++ b/gcc/config/picochip/picochip.c @@ -3243,13 +3243,20 @@ reorder_var_tracking_notes (void) } } } - else if (NOTE_P (insn) && NOTE_KIND (insn) == NOTE_INSN_VAR_LOCATION) + else if (NOTE_P (insn)) { rtx prev = PREV_INSN (insn); PREV_INSN (next) = prev; NEXT_INSN (prev) = next; - PREV_INSN (insn) = queue; - queue = insn; + /* Ignore call_arg notes. They are expected to be just after the + call insn. If the call is start of a long VLIW, labels are + emitted in the middle of a VLIW, which our assembler can not + handle. */ + if (NOTE_KIND (insn) != NOTE_INSN_CALL_ARG_LOCATION) + { + PREV_INSN (insn) = queue; + queue = insn; + } } } /* Make sure we are not dropping debug instructions.*/ |