This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH GCC][4/7]Choose exit edge/path when removing inner loop's exit statement
- From: Tom de Vries <Tom_deVries at mentor dot com>
- To: Richard Biener <richard dot guenther at gmail dot com>, Bin Cheng <Bin dot Cheng at arm dot com>
- Cc: "gcc-patches at gcc dot gnu dot org" <gcc-patches at gcc dot gnu dot org>, nd <nd at arm dot com>
- Date: Thu, 19 Oct 2017 10:31:02 +0200
- Subject: Re: [PATCH GCC][4/7]Choose exit edge/path when removing inner loop's exit statement
- Authentication-results: sourceware.org; auth=none
- References: <DB5PR0801MB2742F438A1EB9166EB09309DE7700@DB5PR0801MB2742.eurprd08.prod.outlook.com> <CAFiYyc36UqoxLHr9oujLLJTsHDRv4pnxOBHxgKK4OhqOF3=vxg@mail.gmail.com>
On 10/09/2017 03:34 PM, Richard Biener wrote:
On Thu, Oct 5, 2017 at 3:16 PM, Bin Cheng <Bin.Cheng@arm.com> wrote:
Hi,
Function generate_loops_for_partition chooses arbitrary path when removing exit
condition not in partition. This is fine for now because it's impossible to have
loop exit condition in case of innermost distribution. After extending to loop
nest distribution, we must choose exit edge/path for inner loop's exit condition,
otherwise an infinite empty loop will be generated. Test case added.
Bootstrap and test in patch set on x86_64 and AArch64, is it OK?
Ok.
Richard.
Thanks,
bin
2017-10-04 Bin Cheng <bin.cheng@arm.com>
* tree-loop-distribution.c (generate_loops_for_partition): Remove
inner loop's exit stmt by making it always exit the loop, otherwise
we would generate an infinite empty loop.
gcc/testsuite/ChangeLog
2017-10-04 Bin Cheng <bin.cheng@arm.com>
* gcc.dg/tree-ssa/ldist-27.c: New test.
Hi,
I've committed patch below to specify the stack size requirements of
this test-case (fixing the test failure for nvptx).
Does it make sense to trim down the test-case using #ifdef STACK_SIZE?
Thanks,
- Tom
Specify required stack size for gcc.dg/tree-ssa/ldist-27.c
2017-10-19 Tom de Vries <tom@codesourcery.com>
* gcc.dg/tree-ssa/ldist-27.c: Use dg-require-stack-size.
---
gcc/testsuite/gcc.dg/tree-ssa/ldist-27.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/gcc/testsuite/gcc.dg/tree-ssa/ldist-27.c b/gcc/testsuite/gcc.dg/tree-ssa/ldist-27.c
index 3580c65..cd9696e 100644
--- a/gcc/testsuite/gcc.dg/tree-ssa/ldist-27.c
+++ b/gcc/testsuite/gcc.dg/tree-ssa/ldist-27.c
@@ -1,5 +1,6 @@
/* { dg-do run } */
/* { dg-options "-O3 -ftree-loop-distribute-patterns -fdump-tree-ldist-details" } */
+/* { dg-require-stack-size "(300 + 200 + 300 * 200) * 8" } */
#define M (300)
#define N (200)