Ping? Any comment about this patch? On Mon, 4 May 2015, Alexander Monakov wrote:
> With -fno-plt, we don't have to reject even direct calls as sibcall > candidates. > > This patch depends on '-fplt' flag that is introduced in another patch. > > This patch requires that with -fno-plt all sibcall candidates go through > prepare_call_address that transforms the call to a GOT lookup. > > OK? > * config/i386/i386.c (ix86_function_ok_for_sibcall): Check flag_plt. > > diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c > index f29e053..b734350 100644 > --- a/gcc/config/i386/i386.c > +++ b/gcc/config/i386/i386.c > @@ -5448,12 +5448,13 @@ ix86_function_ok_for_sibcall (tree decl, tree exp) > /* If we are generating position-independent code, we cannot sibcall > optimize any indirect call, or a direct call to a global function, > as the PLT requires %ebx be live. (Darwin does not have a PLT.) */ > if (!TARGET_MACHO > && !TARGET_64BIT > && flag_pic > + && flag_plt > && (decl && !targetm.binds_local_p (decl))) > return false; > > /* If we need to align the outgoing stack, then sibcalling would > unalign the stack, which may break the called function. */ > if (ix86_minimum_incoming_stack_boundary (true) >