<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Mon, Sep 1, 2014 at 2:16 PM, David Majnemer <span dir="ltr"><<a href="mailto:david.majnemer@gmail.com" target="_blank">david.majnemer@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">
<div><div class="h5">On Mon, Sep 1, 2014 at 2:09 PM, Renato Golin <span dir="ltr"><<a href="mailto:renato.golin@linaro.org" target="_blank">renato.golin@linaro.org</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div>On 1 September 2014 20:14, Doug Gilmore <<a href="mailto:Doug.Gilmore@imgtec.com" target="_blank">Doug.Gilmore@imgtec.com</a>> wrote:<br>


> Unfortunately it is also just in SPASS, so it probably doesn't provide much help in<br>
> producing an isolated test case.<br>
<br>
</div>Shame.<br>
<br>
On my side, the problem seems to be simplifying a read from a constant<br>
pool or global area to an indirect register read, is that the same in<br>
your case? There's a lot of inlining going on in that area, making it<br>
harder to guess the pattern. What I did was to compile with the patch<br>
in on -O2, and with the patch reverted on -O2 and compare the debug<br>
disassembly just before the exception happens.<br>
<br>
I don't think that's the *only* place that optimisation changed the<br>
whole test-suite, so I believe it's just a corner case that both MIPS<br>
and ARM have in common that probably x86 doesn't. If your problem<br>
breaks on the same place, at least we know that's true.<br>
<br>
Nuno,<br>
<br>
You seem to have an idea of what could break the assumption, maybe you<br>
can try a few cases on opt if the value of the pointer comes from a<br>
global offset or a local constant?<br></blockquote><div><br></div></div></div><div>I've figured out the problem, a fix is on it's way.</div><div><br></div><div>The problem wasn't the math behind the transform; there was a bug in the way I wrote the pattern matching.</div>
</div></div></div></blockquote><div><br></div><div>This should be fixed in r216890.  Thanks everyone for your help in tracking this down!</div><div><br></div><div>I had trouble reproducing it until I finally tried a 32-bit x86 build of SPASS...</div>
<div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">

<div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<br>
cheers,<br>
--renato<br>
</blockquote></div><br></div></div>
</blockquote></div><br></div></div>