Commit 46275300 by Kito Cheng

re PR tree-optimization/90883 (Generated code is worse if returned struct is unnamed)

After add --param max-inline-insns-size=1 all target will remove the
redundant store at dse1, except some targets like AArch64 and MIPS will
expand the struct initialization into loop due to CLEAR_RATIO.

Tested on cross compiler of riscv32, riscv64, x86, x86_64, mips, mips64,
aarch64, nds32 and arm.

gcc/testsuite/ChangeLog

	PR tree-optimization/90883
	* g++.dg/tree-ssa/pr90883.c: Add --param max-inline-insns-size=1.
	Add aarch64-*-* mips*-*-* to XFAIL.
parent 5358e8f5
2020-03-06 Kito Cheng <kito.cheng@sifive.com>
PR tree-optimization/90883
* g++.dg/tree-ssa/pr90883.c: Add --param max-inline-insns-size=1.
Add aarch64-*-* mips*-*-* to XFAIL.
2020-03-05 H.J. Lu <hongjiu.lu@intel.com>
PR target/89229
......
// { dg-options "-O2 -Os -fdump-tree-dse-details -std=c++11" }
// { dg-options "-O2 -Os -fdump-tree-dse-details -std=c++11 --param max-inline-insns-size=1" }
class C
......@@ -15,6 +15,6 @@
// We want to match enough here to capture that we deleted an empty
// constructor store
// { dg-final { scan-tree-dump "Deleted redundant store: .*\.a = {}" "dse1" { target { ! i?86-*-* } } } }
// { dg-final { scan-tree-dump "Deleted redundant store: .*\.a = {}" "dse2" { target i?86-*-* } } }
// aarch64 and mips will expand to loop to clear because CLEAR_RATIO.
// { dg-final { scan-tree-dump "Deleted redundant store: .*\.a = {}" "dse1" { xfail { aarch64-*-* mips*-*-* } } } }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment