[Patch, MIPS] Frame header optimization for MIPS (part 2)
Bernd Schmidt
bschmidt@redhat.com
Tue Oct 20 23:37:00 GMT 2015
On 10/16/2015 10:21 PM, Steve Ellcey wrote:
> Here is the second part of the MIPS frame header optimization patch.
I'll leave reviewing the functionality to the MIPS maintainers. But...
> + return TARGET_OLDABI && flag_frame_header_optimization && (optimize > 0);
> + if ((fn != NULL) && fn->machine->optimize_call_stack)
> + if (TARGET_OLDABI
> + && (optimize > 0)
> + && flag_frame_header_optimization
> + && !MAIN_NAME_P (DECL_NAME (current_function_decl))
> + && (cfun->machine->varargs_size == 0)
> + && (crtl->args.pretend_args_size == 0)
> + && (frame->var_size == 0)
> + && (frame->num_acc == 0)
> + && (frame->num_cop0_regs == 0)
> + && (frame->num_fp == 0)
> + && (frame->num_gp > 0)
> + && (frame->num_gp <= MAX_ARGS_IN_REGISTERS)
> + && (!GENERATE_MIPS16E_SAVE_RESTORE)
> + && (!cfun->machine->interrupt_handler_p)
> + && (cfun->machine->does_not_use_frame_header)
> + && (cfun->machine->optimize_call_stack)
> + && (!cfun->machine->callers_may_not_allocate_frame)
> + && !mips_cfun_has_cprestore_slot_p ())
> + return ((cfun->machine->frame.total_size == 0)
> + && !cfun->machine->use_frame_header_for_callee_saved_regs);
There are many unnecessary parentheses in this patch which should be
removed.
Bernd
More information about the Gcc-patches
mailing list