This is the mail archive of the gcc@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]

Question on calculating register pressure before ira pass


Hi,
Currently I am working on improving hoist pass by calculating register
pressure and using the info to guide hoist process. It works well and
I will send a patch once I finish it.

In this work I reused codes in loop-invariant and called
ira_set_pseudo_classes function to calculate register pressure. The
problem is that ira_set_pseudo_classes sets pseudo_classes_defined_p
to TRUE, which causes function find_costs_and_classes scans
instructions only once to find the best reg class to use for each
allocno.

In my understanding, these part of codes is introduced for calculating
reg pressure in schedulor and loop-invariant. What I do not understand
is why we make IRA behave differently when register pressure is
calculated before IRA pass?

In the work of hoist, I found bigger regression in code size causes by
the changed behavior of IRA.

My questions are:
1. could somebody give some explanation on this.
2. Is it possible to calculate register pressure by reusing existing
code while do not change behavior of IRA?

I am not familiar with IRA so please forgive If I am wrong.

Thanks very much.

-- 
Best Regards.


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