function.c (stack_protect_prologue): Don't bypass expand_expr for stack_protect_guard and guard_decl.
* function.c (stack_protect_prologue): Don't bypass expand_expr for stack_protect_guard and guard_decl. (stack_protect_epilogue): Likewise. From-SVN: r154172
This commit is contained in:
parent
155110b804
commit
46cc0cba50
|
@ -1,3 +1,9 @@
|
|||
2009-11-13 Richard Henderson <rth@redhat.com>
|
||||
|
||||
* function.c (stack_protect_prologue): Don't bypass expand_expr
|
||||
for stack_protect_guard and guard_decl.
|
||||
(stack_protect_epilogue): Likewise.
|
||||
|
||||
2009-11-13 Uros Bizjak <ubizjak@gmail.com>
|
||||
|
||||
PR target/41900
|
||||
|
|
|
@ -4274,12 +4274,8 @@ stack_protect_prologue (void)
|
|||
tree guard_decl = targetm.stack_protect_guard ();
|
||||
rtx x, y;
|
||||
|
||||
/* Avoid expand_expr here, because we don't want guard_decl pulled
|
||||
into registers unless absolutely necessary. And we know that
|
||||
crtl->stack_protect_guard is a local stack slot, so this skips
|
||||
all the fluff. */
|
||||
x = validize_mem (DECL_RTL (crtl->stack_protect_guard));
|
||||
y = validize_mem (DECL_RTL (guard_decl));
|
||||
x = expand_normal (crtl->stack_protect_guard);
|
||||
y = expand_normal (guard_decl);
|
||||
|
||||
/* Allow the target to copy from Y to X without leaking Y into a
|
||||
register. */
|
||||
|
@ -4312,12 +4308,8 @@ stack_protect_epilogue (void)
|
|||
rtx label = gen_label_rtx ();
|
||||
rtx x, y, tmp;
|
||||
|
||||
/* Avoid expand_expr here, because we don't want guard_decl pulled
|
||||
into registers unless absolutely necessary. And we know that
|
||||
crtl->stack_protect_guard is a local stack slot, so this skips
|
||||
all the fluff. */
|
||||
x = validize_mem (DECL_RTL (crtl->stack_protect_guard));
|
||||
y = validize_mem (DECL_RTL (guard_decl));
|
||||
x = expand_normal (crtl->stack_protect_guard);
|
||||
y = expand_normal (guard_decl);
|
||||
|
||||
/* Allow the target to compare Y with X without leaking either into
|
||||
a register. */
|
||||
|
|
Loading…
Reference in New Issue