From 1f3a048aa0221dc35cc6a5abe55aa692e372a12a Mon Sep 17 00:00:00 2001 From: vmakarov Date: Fri, 5 Jul 2013 20:56:13 +0000 Subject: 2013-07-05 Vladimir Makarov PR rtl-optimization/55342 * lra-int.h (lra_subreg_reload_pseudos): New. * lra.c: Add undoing optional reloads to the block diagram. (lra_subreg_reload_pseudos): New. (lra_optional_reload_pseudos): Change comments. (lra): Init and clear lra_subreg_reload_pseudos. Clear lra_optional_reload_pseudos after undo transformations. * lra-assigns.c (pseudo_prefix_title): New. (lra_setup_reg_renumber): Use it. (spill_for): Ditto. Check subreg reload pseudos too. (assign_by_spills): Consider subreg reload pseudos too. * lra-constraints.c (simplify_operand_subreg): Use lra_subreg_reload_pseudos instead of lra_optional_reload_pseudos. (curr_insn_transform): Recognize and do optional reloads. (undo_optional_reloads): New. (lra_undo_inheritance): Call undo_optional_reloads. 2013-07-05 Vladimir Makarov PR rtl-optimization/55342 * gcc.target/i386/pr55342.c: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@200723 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/lra-int.h | 1 + 1 file changed, 1 insertion(+) (limited to 'gcc/lra-int.h') diff --git a/gcc/lra-int.h b/gcc/lra-int.h index 3d7ecb35e09..cb45c65d13a 100644 --- a/gcc/lra-int.h +++ b/gcc/lra-int.h @@ -321,6 +321,7 @@ extern int lra_new_regno_start; extern int lra_constraint_new_regno_start; extern bitmap_head lra_inheritance_pseudos; extern bitmap_head lra_split_regs; +extern bitmap_head lra_subreg_reload_pseudos; extern bitmap_head lra_optional_reload_pseudos; extern int lra_constraint_new_insn_uid_start; -- cgit v1.2.1