* [Bug tree-optimization/62012] Loop is not vectorized after function inlining (SCEV)
2014-08-04 14:48 [Bug tree-optimization/62012] New: Loop is not vectorized after function inlining (SCEV) ysrumyan at gmail dot com
@ 2014-08-04 14:51 ` ysrumyan at gmail dot com
2014-09-08 10:59 ` ysrumyan at gmail dot com
` (4 subsequent siblings)
5 siblings, 0 replies; 7+ messages in thread
From: ysrumyan at gmail dot com @ 2014-08-04 14:51 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62012
--- Comment #1 from Yuri Rumyantsev <ysrumyan at gmail dot com> ---
Created attachment 33241
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=33241&action=edit
test-case to reproduce
Options to compile are:
-Ofast -m64 -march=core-avx2 -fopenmp
and macros -DPARAM can be used to get vectorizable version of test.
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Bug tree-optimization/62012] Loop is not vectorized after function inlining (SCEV)
2014-08-04 14:48 [Bug tree-optimization/62012] New: Loop is not vectorized after function inlining (SCEV) ysrumyan at gmail dot com
2014-08-04 14:51 ` [Bug tree-optimization/62012] " ysrumyan at gmail dot com
@ 2014-09-08 10:59 ` ysrumyan at gmail dot com
2014-09-08 11:29 ` rguenth at gcc dot gnu.org
` (3 subsequent siblings)
5 siblings, 0 replies; 7+ messages in thread
From: ysrumyan at gmail dot com @ 2014-09-08 10:59 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62012
--- Comment #2 from Yuri Rumyantsev <ysrumyan at gmail dot com> ---
Any updates?
Thanks.
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Bug tree-optimization/62012] Loop is not vectorized after function inlining (SCEV)
2014-08-04 14:48 [Bug tree-optimization/62012] New: Loop is not vectorized after function inlining (SCEV) ysrumyan at gmail dot com
2014-08-04 14:51 ` [Bug tree-optimization/62012] " ysrumyan at gmail dot com
2014-09-08 10:59 ` ysrumyan at gmail dot com
@ 2014-09-08 11:29 ` rguenth at gcc dot gnu.org
2014-09-09 13:57 ` ysrumyan at gmail dot com
` (2 subsequent siblings)
5 siblings, 0 replies; 7+ messages in thread
From: rguenth at gcc dot gnu.org @ 2014-09-08 11:29 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62012
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |WAITING
Last reconfirmed| |2014-09-08
Ever confirmed|0 |1
--- Comment #3 from Richard Biener <rguenth at gcc dot gnu.org> ---
So it's independend of LTO.
Confirmed. We have
_28 = &MEM[(struct Array *)&fa + 256B].a[0] + _3;
*_28 = u_23;
which SCEV messes up because it ends up with
(instantiate_scev
(instantiate_below = 4)
(evolution_loop = 1)
(chrec = &MEM[(struct Array *)&fa + 256B].a[0])
(res = &MEM[(struct Array *)&fa + 256B].a[0]))
(instantiate_scev
(instantiate_below = 4)
(evolution_loop = 1)
(chrec = {(long unsigned int) first_6(D) * 4, +, 4}_1)
(res = {(long unsigned int) first_6(D) * 4, +, 4}_1))
(set_scalar_evolution
instantiated_below = 4
(scalar = _13)
(scalar_evolution = {&MEM[(struct Array *)&fa + 256B].a[(sizetype)
first_6(D)], +, 4}_1))
)
failed: evolution of base is not affine.
Not sure why it thinks that.
Btw, on trunk we now vectorize this just fine probably because of the fix
for PR63148 which avoids moving first_6 * 4 inside the array-ref and we
get
(scalar_evolution = {&MEM[(struct Array *)&fa + 256B].a[0] + (sizetype)
((long unsigned int) first_6(D) * 4), +, 4}_1))
)
success.
instead.
So - can you re-check please?
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Bug tree-optimization/62012] Loop is not vectorized after function inlining (SCEV)
2014-08-04 14:48 [Bug tree-optimization/62012] New: Loop is not vectorized after function inlining (SCEV) ysrumyan at gmail dot com
` (2 preceding siblings ...)
2014-09-08 11:29 ` rguenth at gcc dot gnu.org
@ 2014-09-09 13:57 ` ysrumyan at gmail dot com
2014-09-09 14:01 ` ysrumyan at gmail dot com
2014-09-09 14:04 ` rguenth at gcc dot gnu.org
5 siblings, 0 replies; 7+ messages in thread
From: ysrumyan at gmail dot com @ 2014-09-09 13:57 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62012
--- Comment #4 from Yuri Rumyantsev <ysrumyan at gmail dot com> ---
I checked that our benchmark is successfully vectorized with function inlining.
So this bug must be closed as fixed/resolved.
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Bug tree-optimization/62012] Loop is not vectorized after function inlining (SCEV)
2014-08-04 14:48 [Bug tree-optimization/62012] New: Loop is not vectorized after function inlining (SCEV) ysrumyan at gmail dot com
` (3 preceding siblings ...)
2014-09-09 13:57 ` ysrumyan at gmail dot com
@ 2014-09-09 14:01 ` ysrumyan at gmail dot com
2014-09-09 14:04 ` rguenth at gcc dot gnu.org
5 siblings, 0 replies; 7+ messages in thread
From: ysrumyan at gmail dot com @ 2014-09-09 14:01 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62012
--- Comment #5 from Yuri Rumyantsev <ysrumyan at gmail dot com> ---
You can close this bug as fixed/resolved (see my comment).
Thanks.
Yuri.
2014-09-08 15:29 GMT+04:00 rguenth at gcc dot gnu.org
<gcc-bugzilla@gcc.gnu.org>:
> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62012
>
> Richard Biener <rguenth at gcc dot gnu.org> changed:
>
> What |Removed |Added
> ----------------------------------------------------------------------------
> Status|UNCONFIRMED |WAITING
> Last reconfirmed| |2014-09-08
> Ever confirmed|0 |1
>
> --- Comment #3 from Richard Biener <rguenth at gcc dot gnu.org> ---
> So it's independend of LTO.
>
> Confirmed. We have
>
> _28 = &MEM[(struct Array *)&fa + 256B].a[0] + _3;
> *_28 = u_23;
>
> which SCEV messes up because it ends up with
>
> (instantiate_scev
> (instantiate_below = 4)
> (evolution_loop = 1)
> (chrec = &MEM[(struct Array *)&fa + 256B].a[0])
> (res = &MEM[(struct Array *)&fa + 256B].a[0]))
> (instantiate_scev
> (instantiate_below = 4)
> (evolution_loop = 1)
> (chrec = {(long unsigned int) first_6(D) * 4, +, 4}_1)
> (res = {(long unsigned int) first_6(D) * 4, +, 4}_1))
> (set_scalar_evolution
> instantiated_below = 4
> (scalar = _13)
> (scalar_evolution = {&MEM[(struct Array *)&fa + 256B].a[(sizetype)
> first_6(D)], +, 4}_1))
> )
> failed: evolution of base is not affine.
>
> Not sure why it thinks that.
>
> Btw, on trunk we now vectorize this just fine probably because of the fix
> for PR63148 which avoids moving first_6 * 4 inside the array-ref and we
> get
>
> (scalar_evolution = {&MEM[(struct Array *)&fa + 256B].a[0] + (sizetype)
> ((long unsigned int) first_6(D) * 4), +, 4}_1))
> )
> success.
>
> instead.
>
> So - can you re-check please?
>
> --
> You are receiving this mail because:
> You reported the bug.
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Bug tree-optimization/62012] Loop is not vectorized after function inlining (SCEV)
2014-08-04 14:48 [Bug tree-optimization/62012] New: Loop is not vectorized after function inlining (SCEV) ysrumyan at gmail dot com
` (4 preceding siblings ...)
2014-09-09 14:01 ` ysrumyan at gmail dot com
@ 2014-09-09 14:04 ` rguenth at gcc dot gnu.org
5 siblings, 0 replies; 7+ messages in thread
From: rguenth at gcc dot gnu.org @ 2014-09-09 14:04 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62012
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|WAITING |RESOLVED
Resolution|--- |FIXED
--- Comment #6 from Richard Biener <rguenth at gcc dot gnu.org> ---
Fixed.
^ permalink raw reply [flat|nested] 7+ messages in thread