This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [Patch tree-ssa] RFC: Enable path threading for control variables (PR tree-optimization/54742).


On Thu, Jun 13, 2013 at 08:29:08PM +0100, Steve Ellcey wrote:
> On Fri, 2013-06-07 at 16:14 +0100, James Greenhalgh wrote:
> 
> > Beyond that, the path search code is modified from Steve's patch
> > to only perform one depth first search, and the path copy code
> > is modified to purge the region entry and exit edges for those
> > which traditional jump-threading may consider.
> > 
> > Opinions?
> > 
> > Thanks,
> > James Greenhalgh
> 
> Hi James,
> 
> I tried out your patch and I am not getting the speed up in
> coremark that I got with my patch.  I wonder if restricting it
> to one depth first search is the reason.  With my patch I was
> able to completely get rid of the switch statement, but with
> this patch it still exists.  Maybe we need an option to do
> multiple searches?
> 
> Steve Ellcey
> sellcey@mips.com
> 

Hi Steve,

Thanks for having a look at the patch, though you appear to get
very different results to my local build.

Comparing a bootstrapped native x86_64 compiler with my patch and
these flags:

  /work/gcc-build-jg-threading/build-x86/install/bin/gcc -S -O3 -Ilinux64 core_state.c

And a bootstrapped native x86_64 compiler with your patch and
these flags:

  /work/gcc-build-sje-threading/build-x86/install/bin/gcc -S -O3 -Ilinux64 -ftree-switch-shortcut core_state.c

I see only minor cosmetic differences (Placement of labels,
numbering of labels) between the two generated assembly files.

Perhaps you could share the flags you were using and I can try to
figure out which paths I seem to be missing. If I can't find them,
I'll happily revert to using your search strategy.

Regards,
James Greenhalgh


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]