This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
ARM - register liveness problem
- From: Vidacs Laszlo <lac at rgai dot hu>
- To: gcc at gcc dot gnu dot org
- Date: Thu, 27 Feb 2003 15:25:30 +0100 (CET)
- Subject: ARM - register liveness problem
Hi all,
I would like to use register liveness information during the peephole2
phase. The peep2_regno_dead_p() function says that register r4 is live at
instruction marked with (*) in the example below, but i think it is dead
because of the ldmfd instruction. Why is it still considered live?
One more question: is it possible to read liveness information of flags
(C, Z, etc.) ?
Thanks in advance,
Laszlo Vidacs
----------------------------------------------------------------------
GCC: (GNU) 3.3 20030224 (prerelease)
Build & Host: Linux 2.4.20 i686 unknown, Target: arm-unknown-elf
...
mov r4, ...
...
mov r1, r4 @ 29 *arm_movsi_insn/1
(*) mov r0, #8 @ 28 *arm_movsi_insn/1
ldmfd sp!, {r4, lr} @ 47 sibcall_epilogue
b func @ 30 *sibcall_insn
.size foo, .-foo
.ident "GCC: (GNU) 3.3 20030224 (prerelease)"