Hongyu Wang 5603bb17fc [SPR] i386: Only enable small loop unrolling in backend [PR 107692]
Followed by the discussion in pr107692, -munroll-only-small-loops
Does not turns on/off -funroll-loops, and current check in
pass_rtl_unroll_loops::gate would cause -fno-unroll-loops do not take
effect. Revert the change about targetm.loop_unroll_adjust and apply
the backend option change to strictly follow the rule that
-funroll-loops takes full control of loop unrolling, and
munroll-only-small-loops just change its behavior to unroll small size
loops.

gcc/ChangeLog:

	PR target/107692
	* common/config/i386/i386-common.cc (ix86_optimization_table):
	Enable loop unroll O2, disable -fweb and -frename-registers
       	by default.
       	* config/i386/i386-options.cc
       	(ix86_override_options_after_change):
       	Disable small loop unroll when funroll-loops enabled, reset
       	cunroll_grow_size when it is not explicitly enabled.
       	(ix86_option_override_internal): Call
       	ix86_override_options_after_change instead of calling
       	ix86_recompute_optlev_based_flags and ix86_default_align
       	separately.
	* config/i386/i386.cc (ix86_loop_unroll_adjust): Adjust unroll
	factor if -munroll-only-small-loops enabled.
	* loop-init.cc (pass_rtl_unroll_loops::gate): Do not enable
	loop unrolling for -O2-speed.
	(pass_rtl_unroll_loops::execute): Rmove
	targetm.loop_unroll_adjust check.

gcc/testsuite/ChangeLog:

	PR target/107692
       	* gcc.dg/guality/loop-1.c: Remove additional option for ia32.
       	* gcc.target/i386/pr86270.c: Add -fno-unroll-loops.
       	* gcc.target/i386/pr93002.c: Likewise.

url:https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=8caf155a3d6e23e47bf55068ad23c23d4655a054
2022-11-30 09:17:52 +08:00
2022-11-02 10:28:23 +08:00
2022-08-01 14:28:55 +00:00
2022-08-01 14:28:55 +00:00

gcc-12

Description

gcc multi-version toolset for openEuler

Software Architecture

Software architecture description

Installation

  1. xxxx
  2. xxxx
  3. xxxx

Instructions

  1. xxxx
  2. xxxx
  3. xxxx

Contribution

  1. Fork the repository
  2. Create Feat_xxx branch
  3. Commit your code
  4. Create Pull Request

Gitee Feature

  1. You can use Readme_XXX.md to support different languages, such as Readme_en.md, Readme_zh.md
  2. Gitee blog blog.gitee.com
  3. Explore open source project https://gitee.com/explore
  4. The most valuable open source project GVP
  5. The manual of Gitee https://gitee.com/help
  6. The most popular members https://gitee.com/gitee-stars/
Description
No description provided
Readme 245 MiB
Languages
Diff 100%