[PATCH 4/5] Cache recog_op_alt by insn code: main patch

Jeff Law law@redhat.com
Tue Jun 3 22:01:00 GMT 2014


On 05/31/14 03:17, Richard Sandiford wrote:
> This is the refreshed main patch.  I've rearranged the preprocess_constraints
> code into three functions so that LRA can use it in patch 5.
>
> Thanks,
> Richard
>
>
> gcc/
> 	* recog.h (operand_alternative): Convert reg_class, reject,
> 	matched and matches into bitfields.
> 	(preprocess_constraints): New overload.
> 	(preprocess_insn_constraints): New function.
> 	(preprocess_constraints): Take the insn as parameter.
> 	(recog_op_alt): Change into a pointer.
> 	(target_recog): Add x_op_alt.
> 	* recog.c (asm_op_alt): New variable.
> 	(recog_op_alt): Change into a pointer.
> 	(preprocess_constraints): New overload, replacing the old function
> 	definition with one that doesn't use global state.
> 	(preprocess_insn_constraints): New function.
> 	(preprocess_constraints): Use them.  Take the insn as parameter.
> 	Use asm_op_alt for asms.
> 	(recog_init): Free existing x_op_alt entries.
> 	* ira-lives.c (check_and_make_def_conflict): Make operand_alternative
> 	pointer const.
> 	(make_early_clobber_and_input_conflicts): Likewise.
> 	(process_bb_node_lives): Pass the insn to process_constraints.
> 	* reg-stack.c (check_asm_stack_operands): Likewise.
> 	(subst_asm_stack_regs): Likewise.
> 	* regcprop.c (copyprop_hardreg_forward_1): Likewise.
> 	* regrename.c (build_def_use): Likewise.
> 	* sched-deps.c (sched_analyze_insn): Likewise.
> 	* sel-sched.c (get_reg_class, implicit_clobber_conflict_p): Likewise.
> 	* config/arm/arm.c (xscale_sched_adjust_cost): Likewise.
> 	(note_invalid_constants): Likewise.
> 	* config/i386/i386.c (ix86_legitimate_combined_insn): Likewise.
> 	(ix86_legitimate_combined_insn): Make operand_alternative pointer
> 	const.
OK.
jeff



More information about the Gcc-patches mailing list