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.