From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 23723 invoked by alias); 19 Sep 2005 16:54:24 -0000 Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org Received: (qmail 23642 invoked by alias); 19 Sep 2005 16:54:16 -0000 Date: Mon, 19 Sep 2005 16:54:00 -0000 Message-ID: <20050919165416.23641.qmail@sourceware.org> From: "cvs-commit at gcc dot gnu dot org" To: gcc-bugs@gcc.gnu.org In-Reply-To: <20050225161912.20211.amylaar@gcc.gnu.org> References: <20050225161912.20211.amylaar@gcc.gnu.org> Reply-To: gcc-bugzilla@gcc.gnu.org Subject: [Bug rtl-optimization/20211] autoincrement generation is poor X-Bugzilla-Reason: CC X-SW-Source: 2005-09/txt/msg02428.txt.bz2 List-Id: ------- Additional Comments From cvs-commit at gcc dot gnu dot org 2005-09-19 16:54 ------- Subject: Bug 20211 CVSROOT: /cvs/gcc Module name: gcc Branch: sh-elf-4_1-branch Changes by: amylaar@gcc.gnu.org 2005-09-19 16:54:05 Modified files: gcc : ChangeLog common.opt optabs.c opts.c regmove.c Log message: 2005-09-19 J"orn Rennecke Bernd Schmidt PR rtl-optimization/20211 * common.opt: Add optimize-related-values entry. * opts.c (decode_options): Set flag_optimize_related_values. * optabs.c (gen_add3_insn): If direct addition is not possible, try to move the constant into the destination register first. * regmove.c (obstack.h, ggc.h, optabs.h): Include. (related, rel_use_chain, rel_mod, rel_use): New structures. (related_baseinfo, update): Likewise. (lookup_related, rel_build_chain): New functions. (recognize_related_for_insn, record_reg_use, create_rel_use): Likewise. (new_reg_use, rel_record_mem, new_base, invalidate_related): Likewise. (find_related, find_related_toplev, chain_starts_earlier): Likewise. (chain_ends_later, mod_before, remove_setting_insns): Likewise. (perform_addition, modify_address): Likewise. (optimize_related_values_1, optimize_related_values_0): Likewise. (optimize_related_values, count_sets, link_chains): Likewise. (init_add_limits): Likewise. (REL_USE_HASH_SIZE, REL_USE_HASH, rel_alloc, rel_new): New macros. (regno_related, rel_base_list, unrelatedly_used): New variables. (related_obstack, add_limits): Likewise. (regmove_optimize): Call optimize_related_values. Include gt-regmove.h. (have_3addr_const_add): New variable. * Makefile.in (gt-regmove.h): New rule. (regmove.o): Depend on $(OPTABS_H) and gt-regmove.h. (GTFILES): Add regmove.c. * doc/invoke.texi: Document -foptimize-related-values. 2005-09-19 J"orn Rennecke * regmove.c (discover_flags_reg): Use the PATTERN of an INSN. * regmove.c (fixup_match_1): When moving a death note, check if it needs changing into a REG_UNUSED note. Patches: http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gcc&only_with_tag=sh-elf-4_1-branch&r1=2.8142.2.30&r2=2.8142.2.31 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/common.opt.diff?cvsroot=gcc&only_with_tag=sh-elf-4_1-branch&r1=1.66.2.3&r2=1.66.2.4 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/optabs.c.diff?cvsroot=gcc&only_with_tag=sh-elf-4_1-branch&r1=1.268.2.4&r2=1.268.2.5 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/opts.c.diff?cvsroot=gcc&only_with_tag=sh-elf-4_1-branch&r1=1.99.2.3&r2=1.99.2.4 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/regmove.c.diff?cvsroot=gcc&only_with_tag=sh-elf-4_1-branch&r1=1.166.18.2&r2=1.166.18.3 -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20211