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-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.agarwal@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.

Thanks,

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



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