Bug 7497 – optimizer/inliner misplaces load instruction

Status
RESOLVED
Resolution
WORKSFORME
Severity
normal
Priority
P2
Component
dmd
Product
D
Version
D2
Platform
x86_64
OS
Linux
Creation time
2012-02-13T11:32:00Z
Last change time
2012-08-20T17:55:44Z
Assigned to
nobody
Creator
ellery-newcomer

Attachments

IDFilenameSummaryContent-TypeSize
1074xyz.dteh codeztext/x-dsrc1788

Comments

Comment #0 by ellery-newcomer — 2012-02-13T11:32:09Z
At least I'm guessing that is what is happening, as my intel x86_64 fu is weak. the compilation: dmd -O -inline xyz the fireworks: [email protected](61): dookie 6 the code: attached, I hope. Offending line is assert((z=xyz1!byte(0,8,5,6)) == 6,format("dookie %s",z)); // yay! 6==6 is false! Compiled without -O or -inline, or if the preceding assertion is removed, or if the following calls are removed, the assertion passes. This one was lots of fun to reduce.
Comment #1 by ellery-newcomer — 2012-02-13T11:33:18Z
Created attachment 1074 teh codez why did attachment creation fail? why did I know it would?
Comment #2 by ellery-newcomer — 2012-02-13T15:19:49Z
At least on dmd 2.057.. The 2.058 beta seems not to exhibit this behavior.
Comment #3 by code — 2012-02-13T16:43:03Z
Bisecting says that solving bug 7309 also fixed your issue. https://github.com/D-Programming-Language/dmd/commit/21c62d6 But I don't know if that's just a side-effect.
Comment #4 by lovelydear — 2012-04-20T00:14:30Z
(In reply to comment #2) > At least on dmd 2.057.. > > The 2.058 beta seems not to exhibit this behavior. Can't reproduce on 2.059 Win32 either.