rs6000: Remove redundant initialization [PR106907]

Message ID 68bebda0-481b-e609-620e-985e8ac89e59@linux.vnet.ibm.com
State Committed
Commit 1669fad496ed6cc7ddea142e12af15e0b9f7f3b4
Headers
Series rs6000: Remove redundant initialization [PR106907] |

Checks

Context Check Description
linaro-tcwg-bot/tcwg_gcc_build--master-aarch64 success Testing passed
linaro-tcwg-bot/tcwg_gcc_build--master-arm success Testing passed

Commit Message

jeevitha June 7, 2023, 5:44 a.m. UTC
  PR106907 has few warnings spotted from cppcheck. In that addressing
redundant initialization issue. Here the initialized value of 'new_addr'
was overwritten before it was read. Updated the source by removing the
unnecessary initialization of 'new_addr'.

2023-06-07  Jeevitha Palanisamy  <jeevitha@linux.ibm.com>

gcc/
	PR target/106907
	* gcc/config/rs6000/rs6000.cc (rs6000_expand_vector_extract): Remove redundant
	initialization of new_addr.
  

Comments

Kewen.Lin June 29, 2023, 9:31 a.m. UTC | #1
Hi Jeevitha,

on 2023/6/7 13:44, P Jeevitha via Gcc-patches wrote:
> PR106907 has few warnings spotted from cppcheck. In that addressing
> redundant initialization issue. Here the initialized value of 'new_addr'
> was overwritten before it was read. Updated the source by removing the
> unnecessary initialization of 'new_addr'.

This is okay for trunk (no backports needed btw), this fix can even be
taken as obvious, thanks!

> 
> 2023-06-07  Jeevitha Palanisamy  <jeevitha@linux.ibm.com>
> 
> gcc/
> 	PR target/106907

One curious question is that this PR106907 seemed not to report this issue,
is there another PR reporting this?  Or do I miss something?

BR,
Kewen

> 	* gcc/config/rs6000/rs6000.cc (rs6000_expand_vector_extract): Remove redundant
> 	initialization of new_addr.
> 
> 
> diff --git a/gcc/config/rs6000/rs6000.cc b/gcc/config/rs6000/rs6000.cc
> index 42f49e4a56b..d994e004bd3 100644
> --- a/gcc/config/rs6000/rs6000.cc
> +++ b/gcc/config/rs6000/rs6000.cc
> @@ -7660,12 +7660,11 @@ rs6000_expand_vector_extract (rtx target, rtx vec, rtx elt)
>      {
>        unsigned int ele_size = GET_MODE_SIZE (inner_mode);
>        rtx num_ele_m1 = GEN_INT (GET_MODE_NUNITS (mode) - 1);
> -      rtx new_addr = gen_reg_rtx (Pmode);
>  
>        elt = gen_rtx_AND (Pmode, elt, num_ele_m1);
>        if (ele_size > 1)
>  	elt = gen_rtx_MULT (Pmode, elt, GEN_INT (ele_size));
> -      new_addr = gen_rtx_PLUS (Pmode, XEXP (mem, 0), elt);
> +      rtx new_addr = gen_rtx_PLUS (Pmode, XEXP (mem, 0), elt);
>        new_addr = change_address (mem, inner_mode, new_addr);
>        emit_move_insn (target, new_addr);
>      }
>
  
Peter Bergner July 10, 2023, 11:11 p.m. UTC | #2
On 6/29/23 4:31 AM, Kewen.Lin via Gcc-patches wrote:
> This is okay for trunk (no backports needed btw), this fix can even be
> taken as obvious, thanks!
> 
>>
>> 2023-06-07  Jeevitha Palanisamy  <jeevitha@linux.ibm.com>
>>
>> gcc/
>> 	PR target/106907
> 
> One curious question is that this PR106907 seemed not to report this issue,
> is there another PR reporting this?  Or do I miss something?

I think Jeevitha just ran cppcheck by hand and noticed the "new" warnings
and added them to the list of things to fixup.  Yeah, it would be nice to
add the new warnings to the PR for historical reasons.

Peter
  
Kewen.Lin July 11, 2023, 1:44 a.m. UTC | #3
on 2023/7/11 07:11, Peter Bergner wrote:
> On 6/29/23 4:31 AM, Kewen.Lin via Gcc-patches wrote:
>> This is okay for trunk (no backports needed btw), this fix can even be
>> taken as obvious, thanks!
>>
>>>
>>> 2023-06-07  Jeevitha Palanisamy  <jeevitha@linux.ibm.com>
>>>
>>> gcc/
>>> 	PR target/106907
>>
>> One curious question is that this PR106907 seemed not to report this issue,
>> is there another PR reporting this?  Or do I miss something?
> 
> I think Jeevitha just ran cppcheck by hand and noticed the "new" warnings
> and added them to the list of things to fixup.  Yeah, it would be nice to
> add the new warnings to the PR for historical reasons.

Thanks for clarifying it.  Yeah, I noticed Jeevitha added more comments to
that PR. :)

BR,
Kewen
  

Patch

diff --git a/gcc/config/rs6000/rs6000.cc b/gcc/config/rs6000/rs6000.cc
index 42f49e4a56b..d994e004bd3 100644
--- a/gcc/config/rs6000/rs6000.cc
+++ b/gcc/config/rs6000/rs6000.cc
@@ -7660,12 +7660,11 @@  rs6000_expand_vector_extract (rtx target, rtx vec, rtx elt)
     {
       unsigned int ele_size = GET_MODE_SIZE (inner_mode);
       rtx num_ele_m1 = GEN_INT (GET_MODE_NUNITS (mode) - 1);
-      rtx new_addr = gen_reg_rtx (Pmode);
 
       elt = gen_rtx_AND (Pmode, elt, num_ele_m1);
       if (ele_size > 1)
 	elt = gen_rtx_MULT (Pmode, elt, GEN_INT (ele_size));
-      new_addr = gen_rtx_PLUS (Pmode, XEXP (mem, 0), elt);
+      rtx new_addr = gen_rtx_PLUS (Pmode, XEXP (mem, 0), elt);
       new_addr = change_address (mem, inner_mode, new_addr);
       emit_move_insn (target, new_addr);
     }