re PR target/38952 (EH does not work.)
2009-01-31 Dave Korn <dave.korn.cygwin@gmail.com> PR target/38952 * config/i386/i386.c (ix86_builtin_setjmp_frame_value): New. (TARGET_BUILTIN_SETJMP_FRAME_VALUE): Override default to point at it. From-SVN: r143823
This commit is contained in:
parent
b39dea08d9
commit
8d0b6068b5
2 changed files with 21 additions and 0 deletions
|
@ -1,3 +1,10 @@
|
|||
2009-01-31 Dave Korn <dave.korn.cygwin@gmail.com>
|
||||
|
||||
PR target/38952
|
||||
* config/i386/i386.c (ix86_builtin_setjmp_frame_value): New.
|
||||
(TARGET_BUILTIN_SETJMP_FRAME_VALUE): Override default to point
|
||||
at it.
|
||||
|
||||
2009-01-31 Richard Guenther <rguenther@suse.de>
|
||||
|
||||
PR tree-optimization/38937
|
||||
|
|
|
@ -7497,6 +7497,17 @@ ix86_initial_elimination_offset (int from, int to)
|
|||
}
|
||||
}
|
||||
|
||||
/* In a dynamically-aligned function, we can't know the offset from
|
||||
stack pointer to frame pointer, so we must ensure that setjmp
|
||||
eliminates fp against the hard fp (%ebp) rather than trying to
|
||||
index from %esp up to the top of the frame across a gap that is
|
||||
of unknown (at compile-time) size. */
|
||||
static rtx
|
||||
ix86_builtin_setjmp_frame_value (void)
|
||||
{
|
||||
return stack_realign_fp ? hard_frame_pointer_rtx : virtual_stack_vars_rtx;
|
||||
}
|
||||
|
||||
/* Fill structure ix86_frame about frame of currently computed function. */
|
||||
|
||||
static void
|
||||
|
@ -29542,6 +29553,9 @@ ix86_enum_va_list (int idx, const char **pname, tree *ptree)
|
|||
#undef TARGET_MACHINE_DEPENDENT_REORG
|
||||
#define TARGET_MACHINE_DEPENDENT_REORG ix86_reorg
|
||||
|
||||
#undef TARGET_BUILTIN_SETJMP_FRAME_VALUE
|
||||
#define TARGET_BUILTIN_SETJMP_FRAME_VALUE ix86_builtin_setjmp_frame_value
|
||||
|
||||
#undef TARGET_BUILD_BUILTIN_VA_LIST
|
||||
#define TARGET_BUILD_BUILTIN_VA_LIST ix86_build_builtin_va_list
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue