diff options
author | Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org> | 2011-03-20 07:59:54 +0000 |
---|---|---|
committer | Ramana Radhakrishnan <ramana@gcc.gnu.org> | 2011-03-20 07:59:54 +0000 |
commit | b6a75dda1d4f961d86c6239326f95ad3a82ca68a (patch) | |
tree | c0ae0271ac6361b3398a5d276f8578f790324910 /gcc/config/arm/arm.c | |
parent | b8d42f298a36d0629c5ddc4d9fb54082507a3913 (diff) | |
download | gcc-b6a75dda1d4f961d86c6239326f95ad3a82ca68a.zip gcc-b6a75dda1d4f961d86c6239326f95ad3a82ca68a.tar.gz gcc-b6a75dda1d4f961d86c6239326f95ad3a82ca68a.tar.bz2 |
Fix PR debug/48203
From-SVN: r171193
Diffstat (limited to 'gcc/config/arm/arm.c')
-rw-r--r-- | gcc/config/arm/arm.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c index c6ba3fb..4784939 100644 --- a/gcc/config/arm/arm.c +++ b/gcc/config/arm/arm.c @@ -12022,6 +12022,16 @@ create_fix_barrier (Mfix *fix, HOST_WIDE_INT max_address) /* Make sure that we found a place to insert the jump. */ gcc_assert (selected); + /* Make sure we do not split a call and its corresponding + CALL_ARG_LOCATION note. */ + if (CALL_P (selected)) + { + rtx next = NEXT_INSN (selected); + if (next && NOTE_P (next) + && NOTE_KIND (next) == NOTE_INSN_CALL_ARG_LOCATION) + selected = next; + } + /* Create a new JUMP_INSN that branches around a barrier. */ from = emit_jump_insn_after (gen_jump (label), selected); JUMP_LABEL (from) = label; |