This is the mail archive of the 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: Proposal for path splitting for reduction in register pressure for Loops.

On March 8, 2015 3:39:08 PM CET, Ajit Kumar Agarwal <> wrote:
>Hello All:
>The path splitting that replicates the code for better Data flow
>Analysis available. One of the properties
>of path splitting removes the joining nodes for the forked path like
>IF-THEN-ELSE and the Loops. 
>The removal of joining nodes makes the path splitted into two
>independent paths. 
>The increase in register Pressures for the loops are the performance
>bottleneck and sometimes
>lead to spill code in loops.
>The removal of joining nodes like loops and IF-THEN-ELSE makes the
>target independent optimization like
>CSE and Partial redundancy Elimination effective. Along with ease of
>these optimization the path splitting 
>reduces the registers because Of the Liveness wont intersect because of
>independent splitted path. The 
>ease of less intersection of liveness Reduces the register pressure for
>the Loops, thus better register
>allocation and less spilling code for Loops.
>The heuristics used in IRA code for register pressure will have better
>impact on the splitted path and thus
>optimized code.
>Thoughts Please?

Are you talking about loop unswitching?


>Thanks & Regards

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