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]

Proposal for path splitting for reduction in register pressure for Loops.

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?

Thanks & Regards


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