comparison gcc/function.c @ 47:3bfb6c00c1e0

update it from 4.4.2 to 4.4.3.
author kent <kent@cr.ie.u-ryukyu.ac.jp>
date Sun, 07 Feb 2010 17:44:34 +0900
parents 855418dad1a3
children 9907f3135723 77e2b8dfacca
comparison
equal deleted inserted replaced
46:b85a337e5837 47:3bfb6c00c1e0
4272 stack_protect_prologue (void) 4272 stack_protect_prologue (void)
4273 { 4273 {
4274 tree guard_decl = targetm.stack_protect_guard (); 4274 tree guard_decl = targetm.stack_protect_guard ();
4275 rtx x, y; 4275 rtx x, y;
4276 4276
4277 /* Avoid expand_expr here, because we don't want guard_decl pulled 4277 x = expand_normal (crtl->stack_protect_guard);
4278 into registers unless absolutely necessary. And we know that 4278 y = expand_normal (guard_decl);
4279 crtl->stack_protect_guard is a local stack slot, so this skips
4280 all the fluff. */
4281 x = validize_mem (DECL_RTL (crtl->stack_protect_guard));
4282 y = validize_mem (DECL_RTL (guard_decl));
4283 4279
4284 /* Allow the target to copy from Y to X without leaking Y into a 4280 /* Allow the target to copy from Y to X without leaking Y into a
4285 register. */ 4281 register. */
4286 if (HAVE_stack_protect_set) 4282 if (HAVE_stack_protect_set)
4287 { 4283 {
4310 { 4306 {
4311 tree guard_decl = targetm.stack_protect_guard (); 4307 tree guard_decl = targetm.stack_protect_guard ();
4312 rtx label = gen_label_rtx (); 4308 rtx label = gen_label_rtx ();
4313 rtx x, y, tmp; 4309 rtx x, y, tmp;
4314 4310
4315 /* Avoid expand_expr here, because we don't want guard_decl pulled 4311 x = expand_normal (crtl->stack_protect_guard);
4316 into registers unless absolutely necessary. And we know that 4312 y = expand_normal (guard_decl);
4317 crtl->stack_protect_guard is a local stack slot, so this skips
4318 all the fluff. */
4319 x = validize_mem (DECL_RTL (crtl->stack_protect_guard));
4320 y = validize_mem (DECL_RTL (guard_decl));
4321 4313
4322 /* Allow the target to compare Y with X without leaking either into 4314 /* Allow the target to compare Y with X without leaking either into
4323 a register. */ 4315 a register. */
4324 switch (HAVE_stack_protect_test != 0) 4316 switch (HAVE_stack_protect_test != 0)
4325 { 4317 {