On 12/25/13, 20:03, Ivan Kazmenko wrote:
----- L2C: mov -03D0900h[EDX*4][EBP],EDX mov ECX,EDX inc EDX cmp EDX,0F4240h jb L2C -----
You should have said that all instructions are redundant :) Looks like the array got optimized out, but then the optimizer stopped. The ECX likely refers to the 'i' loop variable. When the array write code got optimized out, the compile could have figured out that 'i' was in turn unused as well and remove it too. And then, the foreach, etc...
You can file backend bugs on the same site.