This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH 3/5] Pass an alternative_mask to constrain_operands


On 10/17/2014 10:51 AM, Richard Sandiford wrote:
> After the previous patch there are cases where we want to constrain
> operands to any enabled alternative and cases where we want to also take
> size/speed preferences into account.  The former applies when
> constraining an existing instruction (which might originally have been
> in a block with a different size/speed choice) or when making global
> decisions.  The latter applies when evaluating a potential optimisation.
>
> This patch therefore passes the mask of allowable alternatives as a
> parameter to constrain_operands.
>
> Richard
>
RA parts look good for me too.
> gcc/
> 	* recog.h (constrain_operands): Add an alternative_mask parameter.
> 	(constrain_operands_cached): Likewise.
> 	(get_preferred_alternatives): Declare new form.
> 	* recog.c (get_preferred_alternatives): New bb-taking instance.
> 	(constrain_operands): Take the set of available alternatives as
> 	a parameter.
> 	(check_asm_operands, insn_invalid_p, extract_constrain_insn)
> 	(extract_constrain_insn_cached): Update calls to constrain_operands.
> 	* caller-save.c (reg_save_code): Likewise.
> 	* ira.c (setup_prohibited_mode_move_regs): Likewise.
> 	* postreload-gcse.c (eliminate_partially_redundant_load): Likewise.
> 	* ree.c (combine_reaching_defs): Likewise.
> 	* reload.c (can_reload_into): Likewise.
> 	* reload1.c (reload, reload_as_needed, inc_for_reload): Likewise.
> 	(gen_reload_chain_without_interm_reg_p, emit_input_reload_insns)
> 	(emit_insn_if_valid_for_reload): Likewise.
> 	* reorg.c (fill_slots_from_thread): Likewise.
> 	* config/i386/i386.c (ix86_attr_length_address_default): Likewise.
> 	* config/pa/pa.c (pa_can_combine_p): Likewise.
> 	* config/rl78/rl78.c (insn_ok_now): Likewise.
> 	* config/sh/sh.md (define_peephole2): Likewise.
> 	* final.c (final_scan_insn): Update call to constrain_operands_cached.
>



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]