Closed Quuxplusone closed 15 years ago
Bugzilla Link | PR2964 |
Status | RESOLVED FIXED |
Importance | P normal |
Reported by | Chris Lattner (clattner@nondot.org) |
Reported on | 2008-10-28 01:53:39 -0700 |
Last modified on | 2008-10-29 13:42:41 -0700 |
Version | 1.0 |
Hardware | PC All |
CC | dalej@apple.com, evan.cheng@apple.com, llvm-bugs@lists.llvm.org |
Fixed by commit(s) | |
Attachments | |
Blocks | |
Blocked by | |
See also |
I precipitated this by marking MFCR as using all 7 CR subregisters, which it does. This exposed two underlying problems:
It saves callee-saved CR subregisters (and, I think, other registers, the code appears generic) if they are used; it needs to do this only if they're stored into. (I already fixed the same problem for LR.)
It saves CR subregisters individually (it is saving CR2,3 and 4 which are callee-saved) instead of saving CR as a unit. It always did this and nobody noticed before.
I'll take care of this.
Thanks Dale!
I've reverted the change that exposed this for now, thus "fixing" the problem.
Awesome, thanks Dale. I added a testcase here:
http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20081027/069103.html