I'm graduate student in Korea and interested in the optimization eliminating mov
instruction during compile time.
Especially, in ARM ISA, I have observed that the mov instruction is used to handle stack operation (push
or pop
) and PC address handling for procedure call.
During compile time, mov
instructions can be eliminated by using high optimization level, but the mov
instruction in ARM architecture is used to handle procedure call. Thus, I think that they cannot be eliminated unlike general mov instruction for inter-register data copy.
Can these mov
instructions for procedure call be eliminated during compile time? It there anybody who knows these concepts or sources?
I can't find such information...
Modified at 2017. 10. 24.
When I build the source code with gcc compiler, I could find that there are still mov
instructions that handle stack
pointer and frame
pointer.
To cut a long story short, I want to know specific case that mov
instructions are never eliminated by compiler optimization or somethings. I suggest there must be that case.