Assignments to components of fields within a struct array are optimized away by the runtime optimizer#834
Assignments to components of fields within a struct array are optimized away by the runtime optimizer#834marsupial wants to merge 2 commits intoAcademySoftwareFoundation:mainfrom
Conversation
|
Are you already working on a solution, or just giving us the test and assuming that I'll find the fix? I'm truly not saying that in an accusatory way... I'm very happy to jump right on fixing this, but I don't want to do the work if it's a waste because you already are in the middle of it but haven't posted a PR yet. |
|
I assume nothing, so have at it! |
|
Yeah, I'm happy to take a stab at this. |
|
Good luck. In case it not too obvious already, it looked to be generating tmps for every access and not getting the aliasing or r/w boundary right. Which cause the runtime optimizer to think is can be elided as a useless write. c[0].rgb[0] = 123; -> |
Description
The following code leaves c[0].rgb[0] in an undefined state when the runtime optimizer is used:
Patch add ability to have a test pass who's diff operation fails.
Fixes nothing related to the bug, but adds a test showing the behavior.
Checklist: