-----Original Message-----
From: Bernhard Reutner-Fischer [mailto:rep.dot....@gmail.com] 
Sent: Tuesday, June 30, 2015 3:57 PM
To: Ajit Kumar Agarwal; l...@redhat.com; GCC Patches
Cc: Vinod Kathail; Shail Aditya Gupta; Vidhumouli Hunsigida; Nagaraju Mekala
Subject: Re: [Patch,tree-optimization]: Add new path Splitting pass on tree ssa 
representation

On June 30, 2015 10:16:01 AM GMT+02:00, Ajit Kumar Agarwal 
<ajit.kumar.agar...@xilinx.com> wrote:
>All:
>
>The below patch added a new path Splitting optimization pass on SSA 
>representation. The Path Splitting optimization Pass moves the join 
>block of if-then-else same as loop latch to its predecessors and get 
>merged with the predecessors Preserving the SSA representation.
>
>The patch is tested for Microblaze and i386 target. The EEMBC/Mibench 
>benchmarks is run with the Microblaze target And the performance gain 
>of 9.15% and rgbcmy01_lite(EEMBC benchmarks).
>The Deja GNU tests is run for Mircroblaze Target and no regression is 
>seen for Microblaze target and the new testcase attached are passed.
>
>For i386 bootstrapping goes through fine and the Spec cpu2000 
>benchmarks is run with this patch. Following observation were seen with 
>spec cpu2000 benchmarks.
>
>Ratio of path splitting change vs Ratio of not having path splitting 
>change is 3653.353 vs 3652.14 for INT benchmarks.
>Ratio of path splitting change vs Ratio of not having path splitting 
>change is  4353.812 vs 4345.351 for FP benchmarks.
>
>Based on comments from RFC patch following changes were done.
>
>1. Added a new pass for path splitting changes.
>2. Placed the new path  Splitting Optimization pass before the copy 
>propagation pass.
>3. The join block same as the Loop latch is wired into its predecessors 
>so that the CFG Cleanup pass will merge the blocks Wired together.
>4. Copy propagation routines added for path splitting changes is not 
>needed as suggested by Jeff. They are removed in the patch as The copy 
>propagation in the copied join blocks will be done by the existing copy 
>propagation pass and the update ssa pass.
>5. Only the propagation of phi results of the join block with the phi 
>argument is done which will not be done by the existing update_ssa Or 
>copy propagation pass on tree ssa representation.
>6. Added 2 tests.
>    a) compilation check  tests.
>   b) execution tests.

>>The 2 tests seem to be identical, so why do you have both?
>>Also, please remove cleanup-tree-dump, this is now done automatically.

The testcase path-split-1.c  is to check for execution which is present in 
gcc.dg top directory . The one
present in the gcc.dg/tree-ssa/path-split-2.c is to check the compilation as 
the action item is compilation. For the
execution tests path-split-1.c the action is compile and run.

Thanks & Regards
Ajit

Thanks,

>7. Refactoring of the code for the feasibility check and finding the 
>join block same as loop latch node.


Reply via email to