http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51667
--- Comment #17 from Eric Botcazou <ebotcazou at gcc dot gnu.org> 2011-12-27 16:25:52 UTC --- Author: ebotcazou Date: Tue Dec 27 16:25:43 2011 New Revision: 182694 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=182694 Log: PR rtl-optimization/51667 * ree.c (insn_merge_code): Delete. (is_insn_merge_attempted): Likewise. (get_insn_status): Likewise. (set_insn_status): Likewise. (struct ext_cand): Add CODE and MODE fields. (combine_set_extend): Rename to... (combine_set_extension): ...this. Use above fields and tidy up. (transform_ifelse): Likewise. (get_defs): Return the chain of definitions. (is_this_a_cmove): Merge into... (is_cond_copy_insn): ...this. Return bool. (make_defs_and_copies_lists): Adjust calls to get_defs and simplify. (merge_def_and_ext): Adjust call to combine_set_extend. (combine_reaching_defs): Remove calls to {g|s}et_insn_status. (struct extend_info): Rename to... (struct re_info): ...this. Add DEF_MAP field. (add_ext_candidate): Merge into... (add_removable_extension): ...this. Adjust calls to get_defs. Ensure reaching definitions are associated with only one kind of extension. (find_removable_extensions): Create and destroy the definition map. (find_and_remove_re): Return void. Change 'long' variables to 'int'. Do not deal with is_insn_merge_attempted. Added: trunk/gcc/testsuite/gcc.c-torture/execute/20111227-1.c Modified: trunk/gcc/ChangeLog trunk/gcc/ree.c trunk/gcc/testsuite/ChangeLog