On Fri, Feb 28, 2014 at 2:42 AM, Joey Ye <joey...@arm.com> wrote: > Ping. OK for trunk and 4.8?
Ok if no regressions. Ramana > >> -----Original Message----- >> From: Joey Ye [mailto:joey...@arm.com] >> Sent: 21 February 2014 19:32 >> To: gcc-patches@gcc.gnu.org >> Subject: [patch] [arm] Fix PR60169 - thumb1 far jump >> >> Patch http://gcc.gnu.org/ml/gcc-patches/2012-12/msg01229.html introduced >> this ICE: >> >> 1. thumb1 estimate if far_jump is used based on function insn size 2. > During >> reload, after stack layout finalized, it does reload_as_needed. It however >> increases insn size that changes estimation result of far_jump, which in >> return need to save lr and change stack layout again. While there is not >> chance to change, GCC crashes. >> >> Solution: >> Do not change estimation result of far_jump if reload_in_progress or >> reload_completed is true. >> >> Not likely need to fix lra according to Vlad: >> http://gcc.gnu.org/ml/gcc/2014-02/msg00355.html >> >> ChangeLog: >> * config/arm/arm.c (thumb_far_jump_used_p): Don't change >> if reload in progress or completed. >> >> * gcc.target/arm/thumb1-far-jump-3.c: New case.