Re: Jump threading in tree dom pass prevents if-conversion following vectorization

2013-11-25 Thread Richard Biener
-Original Message- From: Jeff Law [mailto:l...@redhat.com] Sent: 22 November 2013 16:58 To: Bingfeng Mei; Andrew Pinski Cc: gcc@gcc.gnu.org Subject: Re: Jump threading in tree dom pass prevents if-conversion following vectorization On 11/22/13 04:03, Bingfeng Mei wrote: Well, in your

RE: Jump threading in tree dom pass prevents if-conversion following vectorization

2013-11-22 Thread Bingfeng Mei
] Sent: 21 November 2013 21:26 To: Bingfeng Mei Cc: gcc@gcc.gnu.org Subject: Re: Jump threading in tree dom pass prevents if-conversion following vectorization On Thu, Nov 21, 2013 at 7:11 AM, Bingfeng Mei b...@broadcom.com wrote: Hi, I am doing some investigation on loops can be vectorized

Re: Jump threading in tree dom pass prevents if-conversion following vectorization

2013-11-22 Thread James Greenhalgh
On Fri, Nov 22, 2013 at 11:03:22AM +, Bingfeng Mei wrote: Well, in your modified example, it is still due to jump threading that produce code of bad control flow that cannot be if-converted and vectorized, though in tree-vrp pass this time. Try this ~/install-4.8/bin/gcc

RE: Jump threading in tree dom pass prevents if-conversion following vectorization

2013-11-22 Thread Bingfeng Mei
[mailto:james.greenha...@arm.com] Sent: 22 November 2013 11:50 To: Bingfeng Mei Cc: Andrew Pinski; gcc@gcc.gnu.org Subject: Re: Jump threading in tree dom pass prevents if-conversion following vectorization On Fri, Nov 22, 2013 at 11:03:22AM +, Bingfeng Mei wrote: Well, in your modified example

Re: Jump threading in tree dom pass prevents if-conversion following vectorization

2013-11-22 Thread Richard Biener
threading in tree dom pass prevents if-conversion following vectorization On Thu, Nov 21, 2013 at 7:11 AM, Bingfeng Mei b...@broadcom.com wrote: Hi, I am doing some investigation on loops can be vectorized by LLVM, but not GCC. One example is loop that contains more than one if-else

Re: Jump threading in tree dom pass prevents if-conversion following vectorization

2013-11-22 Thread Jeff Law
On 11/22/13 04:03, Bingfeng Mei wrote: Well, in your modified example, it is still due to jump threading that produce code of bad control flow that cannot be if-converted and vectorized, though in tree-vrp pass this time. Try this ~/install-4.8/bin/gcc vect-ifconv-2.c -O2

RE: Jump threading in tree dom pass prevents if-conversion following vectorization

2013-11-22 Thread Bingfeng Mei
. Bingfeng -Original Message- From: Jeff Law [mailto:l...@redhat.com] Sent: 22 November 2013 16:58 To: Bingfeng Mei; Andrew Pinski Cc: gcc@gcc.gnu.org Subject: Re: Jump threading in tree dom pass prevents if-conversion following vectorization On 11/22/13 04:03, Bingfeng Mei wrote: Well

Re: Jump threading in tree dom pass prevents if-conversion following vectorization

2013-11-22 Thread Jeff Law
On 11/22/13 10:13, Bingfeng Mei wrote: So if we are about to fix this in if-conversion, we need to do both in tree rtl as both ifcvt ce passes cannot handle it. I am still not convinced jump threading is good for target with predicated execution (assuming no fix for if-conversion). I am

RE: Jump threading in tree dom pass prevents if-conversion following vectorization

2013-11-22 Thread Bingfeng Mei
be fixed without disabling jump threading. Bingfeng -Original Message- From: Jeff Law [mailto:l...@redhat.com] Sent: 22 November 2013 17:17 To: Bingfeng Mei; Andrew Pinski; Richard Biener Cc: gcc@gcc.gnu.org Subject: Re: Jump threading in tree dom pass prevents if-conversion following

Re: Jump threading in tree dom pass prevents if-conversion following vectorization

2013-11-22 Thread Alec Teal
[mailto:l...@redhat.com] Sent: 22 November 2013 17:17 To: Bingfeng Mei; Andrew Pinski; Richard Biener Cc: gcc@gcc.gnu.org Subject: Re: Jump threading in tree dom pass prevents if-conversion following vectorization On 11/22/13 10:13, Bingfeng Mei wrote: So if we are about to fix

Re: Jump threading in tree dom pass prevents if-conversion following vectorization

2013-11-22 Thread Steven Bosscher
On Fri, Nov 22, 2013 at 6:16 PM, Jeff Law wrote: I am still not convinced jump threading is good for target with predicated execution (assuming no fix for if-conversion). I am doing benchmarking on our target now. Try disabling only jump threading of back edges, loop latches, and jump