This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: GCC 4.1.2 Port - Is live analysis going wrong?
- From: Eric Botcazou <ebotcazou at adacore dot com>
- To: "Mohamed Shafi" <shafitvm at gmail dot com>
- Cc: gcc at gcc dot gnu dot org
- Date: Fri, 16 May 2008 20:09:57 +0200
- Subject: Re: GCC 4.1.2 Port - Is live analysis going wrong?
- References: <ba0bd44d0805140743u2f209e04u1904e867927a7a05@mail.gmail.com>
> (insn 211 210 215 1 (set (reg:HI 1 R1 [+2 ])
> (subreg:HI (reg/v:SF 207 [ d.104 ]) 2)) 4 {movhi_regmove}
> (insn_list:REG_DEP_TRUE 208 (nil))
> (nil))
>
> (call_insn/u 215 211 217 1 (set (reg:HI 0 R0)
> (call:HI (mem:HI (reg/f:HI 234) [0 S2 A16])
> (const_int 0 [0x0]))) 25 {*call_value_internal_long}
> (insn_list:REG_DEP_ANTI 207 (insn_list:REG_DEP_ANTI 209
> (insn_list:REG_DEP_TRUE 213 (insn_list:REG_DEP_TRUE 212
> (insn_list:REG_DEP_TRUE 211 (insn_list:REG_DEP_TRUE 210
> (insn_list:REG_DEP_ANTI 208 (nil))))))))
> (expr_list:REG_DEAD (reg:SF 2 R2)
> (insn_list:REG_RETVAL 210 (expr_list:REG_EH_REGION (const_int
> -1 [0xffffffff])
> (nil))))
> (expr_list:REG_DEP_TRUE (use (reg:SF 2 R2))
> (expr_list:REG_DEP_TRUE (use (reg:SF 0 R0))
> (nil))))
> [...]
> Things go wrong in "call_insn/u 215". Target has R0 and R1 are the
> parameter registers.
There should probably be a USE for R1 on the call insn then, like for R0.
Why is it there for the latter and not for the former?
--
Eric Botcazou