aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/trans-expr.c
diff options
context:
space:
mode:
authorEnkovich Ilya <ilya.enkovich@intel.com>2011-09-08 13:41:27 +0000
committerH.J. Lu <hjl@gcc.gnu.org>2011-09-08 06:41:27 -0700
commitd275ab8b8056a692e67d0f1a46bc766762f62806 (patch)
tree7ab64f0e1c0d2389927e770b85b9d813bf850f3e /gcc/fortran/trans-expr.c
parent868141900a1c1c7a76c5a48625dbfa1e81d8051c (diff)
downloadgcc-d275ab8b8056a692e67d0f1a46bc766762f62806.zip
gcc-d275ab8b8056a692e67d0f1a46bc766762f62806.tar.gz
gcc-d275ab8b8056a692e67d0f1a46bc766762f62806.tar.bz2
Improve AGU stalls avoidance optimization.
2011-09-08 Enkovich Ilya <ilya.enkovich@intel.com> * config/i386/i386-protos.h (ix86_lea_outperforms): New. (ix86_avoid_lea_for_add): Likewise. (ix86_avoid_lea_for_addr): Likewise. (ix86_split_lea_for_addr): Likewise. * config/i386/i386.c (LEA_MAX_STALL): New. (increase_distance): Likewise. (insn_defines_reg): Likewise. (insn_uses_reg_mem): Likewise. (distance_non_agu_define_in_bb): Likewise. (distance_agu_use_in_bb): Likewise. (ix86_lea_outperforms): Likewise. (ix86_ok_to_clobber_flags): Likewise. (ix86_avoid_lea_for_add): Likewise. (ix86_avoid_lea_for_addr): Likewise. (ix86_split_lea_for_addr): Likewise. (distance_non_agu_define): Search in pred BBs added. (distance_agu_use): Search in succ BBs added. (IX86_LEA_PRIORITY): Value changed from 2 to 0. (LEA_SEARCH_THRESHOLD): Now depends on LEA_MAX_STALL. (ix86_lea_for_add_ok): Use ix86_lea_outperforms to make decision. * config/i386/i386.md: Split added to transform non destructive add into move and add. (lea_1): transformed into insn_and_split to avoid AGU stalls. (lea<mode>_2): Likewise. From-SVN: r178689
Diffstat (limited to 'gcc/fortran/trans-expr.c')
0 files changed, 0 insertions, 0 deletions