mips.c (mips_global_pointer): Force functions with a nonlocal goto to set up $gp.

* config/mips/mips.c (mips_global_pointer): Force functions with
	a nonlocal goto to set up $gp.

From-SVN: r74547
This commit is contained in:
Richard Sandiford 2003-12-11 20:47:10 +00:00 committed by Richard Sandiford
parent 1ec7a83137
commit 7ac88634ad
2 changed files with 10 additions and 0 deletions

View File

@ -1,3 +1,8 @@
2003-12-11 Richard Sandiford <rsandifo@redhat.com>
* config/mips/mips.c (mips_global_pointer): Force functions with
a nonlocal goto to set up $gp.
2003-12-11 James E Wilson <wilson@specifixinc.com>
PR target/13132

View File

@ -6052,6 +6052,11 @@ mips_global_pointer (void)
if (current_function_profile)
return GLOBAL_POINTER_REGNUM;
/* If the function has a nonlocal goto, $gp must hold the correct
global pointer for the target function. */
if (current_function_has_nonlocal_goto)
return GLOBAL_POINTER_REGNUM;
/* If the gp is never referenced, there's no need to initialize it.
Note that reload can sometimes introduce constant pool references
into a function that otherwise didn't need them. For example,