]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
arm: fix bootstrap after MVE changes
authorTamar Christina <tamar.christina@arm.com>
Sun, 15 Dec 2024 13:21:44 +0000 (13:21 +0000)
committerTamar Christina <tamar.christina@arm.com>
Sun, 15 Dec 2024 13:21:44 +0000 (13:21 +0000)
The recent commits for MVE on Saturday have broken armhf bootstrap due to a
-Werror false positive:

    inlined from 'virtual rtx_def* {anonymous}::vstrq_scatter_base_impl::expand(arm_mve::function_expander&) const' at /gcc/config/arm/arm-mve-builtins-base.cc:352:17:
./genrtl.h:38:16: error: 'new_base' may be used uninitialized [-Werror=maybe-uninitialized]
   38 |   XEXP (rt, 1) = arg1;
/gcc/config/arm/arm-mve-builtins-base.cc: In member function 'virtual rtx_def* {anonymous}::vstrq_scatter_base_impl::expand(arm_mve::function_expander&) const':
/gcc/config/arm/arm-mve-builtins-base.cc:311:26: note: 'new_base' was declared here
  311 |     rtx insns, base_ptr, new_base;
      |                          ^~~~~~~~
In function 'rtx_def* init_rtx_fmt_ee(rtx, machine_mode, rtx, rtx)',
    inlined from 'rtx_def* gen_rtx_fmt_ee_stat(rtx_code, machine_mode, rtx, rtx)' at ./genrtl.h:50:26,
    inlined from 'virtual rtx_def* {anonymous}::vldrq_gather_base_impl::expand(arm_mve::function_expander&) const' at /gcc/config/arm/arm-mve-builtins-base.cc:527:17:
./genrtl.h:38:16: error: 'new_base' may be used uninitialized [-Werror=maybe-uninitialized]
   38 |   XEXP (rt, 1) = arg1;
/gcc/config/arm/arm-mve-builtins-base.cc: In member function 'virtual rtx_def* {anonymous}::vldrq_gather_base_impl::expand(arm_mve::function_expander&) const':
/gcc/config/arm/arm-mve-builtins-base.cc:486:26: note: 'new_base' was declared here
  486 |     rtx insns, base_ptr, new_base;

To fix it I just initialize the value.

gcc/ChangeLog:

* config/arm/arm-mve-builtins-base.cc (expand): Initialize new_base.

gcc/config/arm/arm-mve-builtins-base.cc

index 723004b53d7baf8a1a8ffe9b5f58fe0636228704..ef3c504b1b304674ff93b9b0d7c7a5ea2fc501d2 100644 (file)
@@ -308,7 +308,7 @@ public:
   rtx expand (function_expander &e) const override
   {
     insn_code icode;
-    rtx insns, base_ptr, new_base;
+    rtx insns, base_ptr, new_base = NULL_RTX;
     machine_mode base_mode;
 
     if ((e.mode_suffix_id != MODE_none)
@@ -483,7 +483,7 @@ public:
   rtx expand (function_expander &e) const override
   {
     insn_code icode;
-    rtx insns, base_ptr, new_base;
+    rtx insns, base_ptr, new_base = NULL_RTX;
     machine_mode base_mode;
 
     if ((e.mode_suffix_id != MODE_none)