This is the mail archive of the
mailing list for the GCC project.
More methods of reducing the register pressure
- From: Ajit Kumar Agarwal <ajit dot kumar dot agarwal at xilinx dot com>
- To: "vmakarov at redhat dot com" <vmakarov at redhat dot com>, "gcc at gcc dot gnu dot org" <gcc at gcc dot gnu dot org>
- Cc: Vinod Kathail <vinodk at xilinx dot com>, Shail Aditya Gupta <shailadi at xilinx dot com>, Vidhumouli Hunsigida <vidhum at xilinx dot com>, "Nagaraju Mekala" <nmekala at xilinx dot com>
- Date: Sun, 19 Apr 2015 15:28:33 +0000
- Subject: More methods of reducing the register pressure
- Authentication-results: sourceware.org; auth=none
- Authentication-results: spf=pass (sender IP is 18.104.22.168) smtp.mailfrom=xilinx.com; gcc.gnu.org; dkim=none (message not signed) header.d=none;
To reduce the register pressure, I am proposing the following methods of reducing the registers.
1. Assigning same registers or sharing same register for the logical registers having the same value.
To determine the logical registers having the same value is the real challenge. Is there is any way in
GCC to determine the logical registers having the same value?
2. For the architecture with the self-modifying instructions the DEF-USE will not overlap and can
Do the better register allocator and thus reclaiming the registers when it's no longer used.
Such self-modifying instructions can assign the same registers.
OP R1 -------------Definition.
... No used.
OP R1,R1 ----------------self-modifying.
...... Not Used
OP R1, R1 ------------ Self-modifying.
To reduce the registers pressure such cases with self-modifying instructions with the architecture
Support will not overlap as the use is done after it's defined. And also the USE will be after the DEF
Making the life time as not overlap and can assign the same registers.
Such cases needs to be handled separately for the better register pressure usage.
Thanks & Regards