ARM: Fix sibcall patterns
Philip Blundell
philb@gnu.org
Mon Jan 1 02:38:00 GMT 2001
On 29 Nov 2000, Richard Earnshaw wrote:
>This patch fixes the sibling call patterns on the ARM, so that they can
>never match a normal call insn pattern.
Unfortunately, it also has the side effect of preventing the lr save from
being eliminated, since arm_expand_prologue thinks that lr is live. A trivial
testcase like "int bar(int a) { return foo(a); }" now gives:
bar:
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 0, current_function_anonymous_args = 0
str lr, [sp, #-4]!
@ Sibcall epilogue
ldr lr, [sp], #4
b foo
p.
More information about the Gcc-patches
mailing list