This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug middle-end/22072] bizarre code for int*int/2 for -Os
- From: "vmakarov at redhat dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 6 Oct 2009 21:59:22 -0000
- Subject: [Bug middle-end/22072] bizarre code for int*int/2 for -Os
- References: <bug-22072-3511@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #14 from vmakarov at redhat dot com 2009-10-06 21:59 -------
IRA does not create a conflict for p66 and p67 (in function triangle). One
pseudo is earlyclobber. They should have a conflict. Therefore p67 gets wrong
hard register and reload fixes this by generation of additional move.
Actually I found a reason for this. It is a typo in
ira-lives.c::check_and_make_def_conflict (continue stmts should be instead of
returns in the loop). I'll submit the patch for a review soon.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22072