This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: Aliasing patches
- To: rth at cygnus dot com
- Subject: Re: Aliasing patches
- From: kenner at vlsi1 dot ultra dot nyu dot edu (Richard Kenner)
- Date: Thu, 1 Jun 00 06:40:04 EDT
- Cc: gcc-patches at gcc dot gnu dot org
Did you really test this on an Alpha? Run the testsuite and look
at the results I mean? I have trouble believing that.
I did, though it was probably on a slightly earlier version of the
code. I had bugs that showed up elsewhere and fixed them and I'm now
not sure I re-rean the test suite after that.
This fails because loop decided that 'x' does not alias anything
in the loop. Looking at the gcse dump immediately picks out the
highly suspicious
(insn 41 39 42 (set (reg:QI 79)
(mem:QI (reg:DI 78) 6)) 202 {reload_inqi_help-3} (nil)
(nil))
Note the non-zero alias set. Which is clearly wrong from an ISO C
standpoint.
Right. That's incorrect. It's supposed to be 0, so that's probably
just a simple bug and the cause of the failure.
For the stack frame load for 'c += x', we have
(insn 56 86 57 (set (reg:DI 80)
(mem:DI (reg:DI 63 FP) 12)) 204 {reload_inqi_help-1} (nil)
(nil))
This one looks correct.