This is the mail archive of the
gcc-help@gcc.gnu.org
mailing list for the GCC project.
ARM - register liveness problem
- From: Vidacs Laszlo <lac at rgai dot hu>
- To: gcc-help at gcc dot gnu dot org
- Date: Wed, 26 Feb 2003 17:51:19 +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 lfmfd instruction. Can anybody help?
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, r0 @ 3 *arm_movsi_insn/1
mov r0, #8 @ 19 *arm_movsi_insn/1
bl func @ 21 *call_symbol
mov r4, r4, asr #16 @ 26 *arm_shiftsi3
and r4, r4, #255 @ 27 *arm_andsi3_insn/1
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)"