This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug rtl-optimization/50427] IRA fails to detect conflict
- From: "bigotp at acm dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Fri, 16 Sep 2011 10:25:31 +0000
- Subject: [Bug rtl-optimization/50427] IRA fails to detect conflict
- Auto-submitted: auto-generated
- References: <bug-50427-4@http.gcc.gnu.org/bugzilla/>
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50427
--- Comment #1 from Peter A. Bigot <bigotp at acm dot org> 2011-09-16 10:25:31 UTC ---
Created attachment 25302
--> http://gcc.gnu.org/bugzilla/attachment.cgi?id=25302
Potential fix for problem
As far as I can tell, IRA misses this because it doesn't detect that the back
end has generated RTL with pre-assigned general-purpose hard registers.
Whether this technique is valid or not, it is also used in the avr backend for
the same purpose (preparing to call a support routine that does not follow the
standard ABI), though in that case the use is deeper in a parallel insn.
The attached patch appears to fix the problem in my situation. I'd appreciate
any comments and suggestions if there's a better solution.