Re: [PATCH] tree-optimization/PR112774 - SCEV: extend the chrec tree with a nonwrapping flag

2023-12-07 Thread Hao Liu OS
gnu.org/g:2efe3a7de0107618397264017fb045f237764cc7 Thanks, Hao. From: Richard Biener Sent: Thursday, December 7, 2023 22:12 To: Hao Liu OS Cc: GCC-patches@gcc.gnu.org Subject: Re: [PATCH] tree-optimization/PR112774 - SCEV: extend the chrec tree with a nonwrapping flag On Thu, Dec 7,

Re: [PATCH] tree-optimization/PR112774 - SCEV: extend the chrec tree with a nonwrapping flag

2023-12-07 Thread Richard Biener
ion: /* The following table lists the uses of each of the above flags and for which types of nodes they are defined. ... OK with that change. Let's see how it goes ... Thanks, Richard. > Thanks, > Hao > > ____________ > From: Richard Biener > Sent: Wednesday, Decem

Re: [PATCH] tree-optimization/PR112774 - SCEV: extend the chrec tree with a nonwrapping flag

2023-12-07 Thread Hao Liu OS
h such unsigned access pattern, and it can get huge improvements. Thanks, Hao From: Richard Biener Sent: Wednesday, December 6, 2023 19:49 To: Hao Liu OS Cc: GCC-patches@gcc.gnu.org Subject: Re: [PATCH] tree-optimization/PR112774 - SCEV: extend the chrec tr

Re: [PATCH] tree-optimization/PR112774 - SCEV: extend the chrec tree with a nonwrapping flag

2023-12-06 Thread Richard Biener
* Accessors for the chains of recurrences. */ > -#define CHREC_LEFT(NODE) TREE_OPERAND (POLYNOMIAL_CHREC_CHECK > (NODE), 0) > -#define CHREC_RIGHT(NODE) TREE_OPERAND (POLYNOMIAL_CHREC_CHECK > (NODE), 1) > -#define CHREC_VARIABLE(NODE) POLYNOMIAL_CHREC_CHECK > (NODE)->base.u

Re: [PATCH] tree-optimization/PR112774 - SCEV: extend the chrec tree with a nonwrapping flag

2023-12-06 Thread Hao Liu OS
e label associated with the given label expression. */ -- 2.34.1 ________ From: Hao Liu OS Sent: Monday, December 4, 2023 18:05 To: GCC-patches@gcc.gnu.org Subject: [PATCH] tree-optimization/PR112774 - SCEV: extend the chrec tree with a nonwrapping flag Loop

[PATCH] tree-optimization/PR112774 - SCEV: extend the chrec tree with a nonwrapping flag

2023-12-04 Thread Hao Liu OS
Loop vecotorization can not optimize following case due to SCEV is not affine failure (i+offset may overflow): int A[1024 * 2]; int foo (unsigned offset, unsigned N) { int sum = 0; for (unsigned i = 0; i < N; i++) sum += A[i + offset]; return sum; }