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

[PR rtl-optimization/41619] [4.4/4.5/4.6 regression] ICE in insert_save (caller-save.c) for SPEC CPU2000's 252.eon


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

At the heart of this problem is an inconsistency between the method
save_call_clobbered_regs uses to determine what registers need to be
saved at call sites and the method setup_save_areas used when
- -fno-ira-share-save-slots is used.

This patch eliminates one of the 3 hunks of code which determines what
regs are live across calls.  In doing so it eliminates the inconsistency
which is triggering the ICE.

Oh how I long for the day when caller-save can just go away...

Bootstrapped and regression tested, including a second bootstrap &
regression test where -fno-ira-share-save-slots was on by default.

I've included two versions of the diff.  The first ignores whitespace
differences caused by code reindention and makes the patch easier to
read.  The second is the actual patch.

Apparently I'm the listed maintainer for caller-save.c; however, I'd
appreciate a sanity check.



-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
Comment: Using GnuPG with Fedora - http://enigmail.mozdev.org/

iQEcBAEBAgAGBQJNOKyYAAoJEBRtltQi2kC7N60IAIqY7Sgq+9OPAIa4wYFU+c3A
4n7dmVlP2giS4qLJMhkzniAttosdHxpEXICEcjkmUPEWWDjCxtoCMkUyXaqZ4dC9
RmUjvaD5nXLJkWuFAM319ghvanFEHDb6YnZA1HYdMLLXCeMYXDDe3ahPGWw2P6h0
iL6qsins2FYlLqaEg0zaBK1Wx91R5C+zBXlYJfWD0VvaQQlZymyIFkHtLVvYGvNR
pCFl+SnIzYFzFw/82xEYW93l6SzOJwWRlswJwnZTINHrtDcL1G/tHc0FmNeP6Hw5
H5lk+KzcS+1Uu4M/5POzdIPDefb+17lnD2IeCOrniuawEOiqhc2DqlG9Ew3Enw0=
=3Byq
-----END PGP SIGNATURE-----

Attachment: P1
Description: Text document

Attachment: P2
Description: Text document


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