dmd simple loop disassembly - redundant instruction?
Lionello Lunesu
lionello at lunesu.remove.com
Thu Dec 26 00:08:13 PST 2013
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.
More information about the Digitalmars-d-learn
mailing list