* config/mips/mips.c (mips_global_pointer): Force functions with
a nonlocal goto to set up $gp.
From-SVN: r74547
+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
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,