diff mbox series

tcg: Remove unused tcg_out_dupi_vec() stub

Message ID 20210110041039.512225-1-wataash@wataash.com (mailing list archive)
State New, archived
Headers show
Series tcg: Remove unused tcg_out_dupi_vec() stub | expand

Commit Message

Wataru Ashihara Jan. 10, 2021, 4:10 a.m. UTC
This fixes the build with --enable-tcg-interpreter:

  clang -Ilibqemu-arm-softmmu.fa.p -I. -I.. -Itarget/arm -I../target/arm -I../dtc/libfdt -I../capstone/include/capstone -Iqapi -Itrace -Iui -Iui/shader -I/usr/include/pixman-1 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -Xclang -fcolor-diagnostics -pipe -Wall -Winvalid-pch -Werror -std=gnu99 -g -m64 -mcx16 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wold-style-definition -Wtype-limits -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wempty-body -Wnested-externs -Wendif-labels -Wexpansion-to-defined -Wno-initializer-overrides -Wno-missing-include-dirs -Wno-shift-negative-value -Wno-string-plus-int -Wno-typedef-redefinition -Wno-tautological-type-limit-compare -fstack-protector-strong -isystem /home/wsh/qc/qemu/linux-headers -isystem linux-headers -iquote /home/wsh/qc/qemu/tcg/tci -iquote . -iquote /home/wsh/qc/qemu -iquote /home/wsh/qc/qemu/accel/tcg -iquote /home/wsh/qc/qemu/include -iquote /home/wsh/qc/qemu/disas/libvixl -pthread -fPIC -isystem../linux-headers -isystemlinux-headers -DNEED_CPU_H '-DCONFIG_TARGET="arm-softmmu-config-target.h"' '-DCONFIG_DEVICES="arm-softmmu-config-devices.h"' -MD -MQ libqemu-arm-softmmu.fa.p/tcg_tcg.c.o -MF libqemu-arm-softmmu.fa.p/tcg_tcg.c.o.d -o libqemu-arm-softmmu.fa.p/tcg_tcg.c.o -c ../tcg/tcg.c
  ../tcg/tcg.c:136:20: error: unused function 'tcg_out_dupi_vec' [-Werror,-Wunused-function]

Signed-off-by: Wataru Ashihara <wataash@wataash.com>
---
 tcg/tcg.c | 7 -------
 1 file changed, 7 deletions(-)

Comments

Philippe Mathieu-Daudé Jan. 10, 2021, 4:17 p.m. UTC | #1
Cc'ing Stefan.

On 1/10/21 5:10 AM, Wataru Ashihara wrote:
> This fixes the build with --enable-tcg-interpreter:
> 
>   clang -Ilibqemu-arm-softmmu.fa.p -I. -I.. -Itarget/arm -I../target/arm -I../dtc/libfdt -I../capstone/include/capstone -Iqapi -Itrace -Iui -Iui/shader -I/usr/include/pixman-1 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -Xclang -fcolor-diagnostics -pipe -Wall -Winvalid-pch -Werror -std=gnu99 -g -m64 -mcx16 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wold-style-definition -Wtype-limits -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wempty-body -Wnested-externs -Wendif-labels -Wexpansion-to-defined -Wno-initializer-overrides -Wno-missing-include-dirs -Wno-shift-negative-value -Wno-string-plus-int -Wno-typedef-redefinition -Wno-tautological-type-limit-compare -fstack-protector-strong -isystem /home/wsh/qc/qemu/linux-headers -isystem linux-headers -iquote /home/wsh/qc/qemu/tcg/tci -iquote . -iquote /home/wsh/qc/qemu -iquote /home/wsh/qc/qemu/accel/tcg -iquote /home/wsh/qc/qemu/include -iquote /home/wsh/qc/qemu/disas/libvixl -pthread -fPIC -isystem../linux-headers -isystemlinux-headers -DNEED_CPU_H '-DCONFIG_TARGET="arm-softmmu-config-target.h"' '-DCONFIG_DEVICES="arm-softmmu-config-devices.h"' -MD -MQ libqemu-arm-softmmu.fa.p/tcg_tcg.c.o -MF libqemu-arm-softmmu.fa.p/tcg_tcg.c.o.d -o libqemu-arm-softmmu.fa.p/tcg_tcg.c.o -c ../tcg/tcg.c
>   ../tcg/tcg.c:136:20: error: unused function 'tcg_out_dupi_vec' [-Werror,-Wunused-function]
> 
> Signed-off-by: Wataru Ashihara <wataash@wataash.com>
> ---
>  tcg/tcg.c | 7 -------
>  1 file changed, 7 deletions(-)
> 
> diff --git a/tcg/tcg.c b/tcg/tcg.c
> index 472bf1755b..32df149b12 100644
> --- a/tcg/tcg.c
> +++ b/tcg/tcg.c
> @@ -117,8 +117,6 @@ static bool tcg_out_dup_vec(TCGContext *s, TCGType type, unsigned vece,
>                              TCGReg dst, TCGReg src);
>  static bool tcg_out_dupm_vec(TCGContext *s, TCGType type, unsigned vece,
>                               TCGReg dst, TCGReg base, intptr_t offset);
> -static void tcg_out_dupi_vec(TCGContext *s, TCGType type,
> -                             TCGReg dst, tcg_target_long arg);
>  static void tcg_out_vec_op(TCGContext *s, TCGOpcode opc, unsigned vecl,
>                             unsigned vece, const TCGArg *args,
>                             const int *const_args);
> @@ -133,11 +131,6 @@ static inline bool tcg_out_dupm_vec(TCGContext *s, TCGType type, unsigned vece,
>  {
>      g_assert_not_reached();
>  }
> -static inline void tcg_out_dupi_vec(TCGContext *s, TCGType type,
> -                                    TCGReg dst, tcg_target_long arg)
> -{
> -    g_assert_not_reached();
> -}
>  static inline void tcg_out_vec_op(TCGContext *s, TCGOpcode opc, unsigned vecl,
>                                    unsigned vece, const TCGArg *args,
>                                    const int *const_args)

AFAIK TCI does not support vectors, using them would trigger
tcg_debug_assert(type == TCG_TYPE_I64) in tcg_out_movi().

As your approach might break other backends, I'm going to
send an alternate patch using __attribute__((unused)).

Thanks for reporting this,

Phil.
Richard Henderson Jan. 10, 2021, 6:23 p.m. UTC | #2
On 1/9/21 6:10 PM, Wataru Ashihara wrote:
> This fixes the build with --enable-tcg-interpreter:
> 
>   clang -Ilibqemu-arm-softmmu.fa.p -I. -I.. -Itarget/arm -I../target/arm -I../dtc/libfdt -I../capstone/include/capstone -Iqapi -Itrace -Iui -Iui/shader -I/usr/include/pixman-1 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -Xclang -fcolor-diagnostics -pipe -Wall -Winvalid-pch -Werror -std=gnu99 -g -m64 -mcx16 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wold-style-definition -Wtype-limits -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wempty-body -Wnested-externs -Wendif-labels -Wexpansion-to-defined -Wno-initializer-overrides -Wno-missing-include-dirs -Wno-shift-negative-value -Wno-string-plus-int -Wno-typedef-redefinition -Wno-tautological-type-limit-compare -fstack-protector-strong -isystem /home/wsh/qc/qemu/linux-headers -isystem linux-headers -iquote /home/wsh/qc/qemu/tcg/tci -iquote . -iquote /home/wsh/qc/qemu -iquote /home/wsh/qc/qemu/accel/tcg -iquote /home/wsh/qc/qemu/include -iquote /home/wsh/qc/qemu/disas/libvixl -pthread -fPIC -isystem../linux-headers -isystemlinux-headers -DNEED_CPU_H '-DCONFIG_TARGET="arm-softmmu-config-target.h"' '-DCONFIG_DEVICES="arm-softmmu-config-devices.h"' -MD -MQ libqemu-arm-softmmu.fa.p/tcg_tcg.c.o -MF libqemu-arm-softmmu.fa.p/tcg_tcg.c.o.d -o libqemu-arm-softmmu.fa.p/tcg_tcg.c.o -c ../tcg/tcg.c
>   ../tcg/tcg.c:136:20: error: unused function 'tcg_out_dupi_vec' [-Werror,-Wunused-function]


What version of clang?
With clang 10, I can't even run configure without --disable-werror.



r~
Philippe Mathieu-Daudé Jan. 10, 2021, 9:32 p.m. UTC | #3
On 1/10/21 7:23 PM, Richard Henderson wrote:
> On 1/9/21 6:10 PM, Wataru Ashihara wrote:
>> This fixes the build with --enable-tcg-interpreter:
>>
>>   clang -Ilibqemu-arm-softmmu.fa.p -I. -I.. -Itarget/arm -I../target/arm -I../dtc/libfdt -I../capstone/include/capstone -Iqapi -Itrace -Iui -Iui/shader -I/usr/include/pixman-1 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -Xclang -fcolor-diagnostics -pipe -Wall -Winvalid-pch -Werror -std=gnu99 -g -m64 -mcx16 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wold-style-definition -Wtype-limits -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wempty-body -Wnested-externs -Wendif-labels -Wexpansion-to-defined -Wno-initializer-overrides -Wno-missing-include-dirs -Wno-shift-negative-value -Wno-string-plus-int -Wno-typedef-redefinition -Wno-tautological-type-limit-compare -fstack-protector-strong -isystem /home/wsh/qc/qemu/linux-headers -isystem linux-headers -iquote /home/wsh/qc/qemu/tcg/tci -iquote . -iquote /home/wsh/qc/qemu -iquote /home/wsh/qc/qemu/accel/tcg -iquote /home/wsh/qc/qemu/include -iquote /home/wsh/qc/qemu/disas/libvixl -pthread -fPIC -isystem../linux-headers -isystemlinux-headers -DNEED_CPU_H '-DCONFIG_TARGET="arm-softmmu-config-target.h"' '-DCONFIG_DEVICES="arm-softmmu-config-devices.h"' -MD -MQ libqemu-arm-softmmu.fa.p/tcg_tcg.c.o -MF libqemu-arm-softmmu.fa.p/tcg_tcg.c.o.d -o libqemu-arm-softmmu.fa.p/tcg_tcg.c.o -c ../tcg/tcg.c
>>   ../tcg/tcg.c:136:20: error: unused function 'tcg_out_dupi_vec' [-Werror,-Wunused-function]
> 
> 
> What version of clang?
> With clang 10, I can't even run configure without --disable-werror.

clang version 10.0.1 (Fedora 10.0.1-3.fc32)

I tested using:

../configure '--cc=clang' '--cxx=clang++' \
 '--extra-cflags=-Wunused-function' '--enable-tcg-interpreter' \
 '--disable-tools' '--target-list=arm-softmmu'
Wataru Ashihara Jan. 11, 2021, 3:19 a.m. UTC | #4
Philippe, Richard, thank you for reviewing.

On 2021/01/11 1:17, Philippe Mathieu-Daudé wrote:
> Cc'ing Stefan.
> 
> On 1/10/21 5:10 AM, Wataru Ashihara wrote:
>> This fixes the build with --enable-tcg-interpreter:
>>
>>   clang -Ilibqemu-arm-softmmu.fa.p -I. -I.. -Itarget/arm -I../target/arm -I../dtc/libfdt -I../capstone/include/capstone -Iqapi -Itrace -Iui -Iui/shader -I/usr/include/pixman-1 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -Xclang -fcolor-diagnostics -pipe -Wall -Winvalid-pch -Werror -std=gnu99 -g -m64 -mcx16 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wold-style-definition -Wtype-limits -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wempty-body -Wnested-externs -Wendif-labels -Wexpansion-to-defined -Wno-initializer-overrides -Wno-missing-include-dirs -Wno-shift-negative-value -Wno-string-plus-int -Wno-typedef-redefinition -Wno-tautological-type-limit-compare -fstack-protector-strong -isystem /home/wsh/qc/qemu/linux-headers -isystem linux-headers -iquote /home/wsh/qc/qemu/tcg/tci -iquote . -iquote /home/wsh/qc/qemu -iquote /home/wsh/qc/qemu/accel/tcg -iquote /home/wsh/qc/qemu/include -iquote /home/wsh/qc/qemu/disas/libvixl -pthread -fPIC -isystem../linux-headers -isystemlinux-headers -DNEED_CPU_H '-DCONFIG_TARGET="arm-softmmu-config-target.h"' '-DCONFIG_DEVICES="arm-softmmu-config-devices.h"' -MD -MQ libqemu-arm-softmmu.fa.p/tcg_tcg.c.o -MF libqemu-arm-softmmu.fa.p/tcg_tcg.c.o.d -o libqemu-arm-softmmu.fa.p/tcg_tcg.c.o -c ../tcg/tcg.c
>>   ../tcg/tcg.c:136:20: error: unused function 'tcg_out_dupi_vec' [-Werror,-Wunused-function]
>>
>> Signed-off-by: Wataru Ashihara <wataash@wataash.com>
>> ---
>>  tcg/tcg.c | 7 -------
>>  1 file changed, 7 deletions(-)
>>
>> diff --git a/tcg/tcg.c b/tcg/tcg.c
>> index 472bf1755b..32df149b12 100644
>> --- a/tcg/tcg.c
>> +++ b/tcg/tcg.c
>> @@ -117,8 +117,6 @@ static bool tcg_out_dup_vec(TCGContext *s, TCGType type, unsigned vece,
>>                              TCGReg dst, TCGReg src);
>>  static bool tcg_out_dupm_vec(TCGContext *s, TCGType type, unsigned vece,
>>                               TCGReg dst, TCGReg base, intptr_t offset);
>> -static void tcg_out_dupi_vec(TCGContext *s, TCGType type,
>> -                             TCGReg dst, tcg_target_long arg);
>>  static void tcg_out_vec_op(TCGContext *s, TCGOpcode opc, unsigned vecl,
>>                             unsigned vece, const TCGArg *args,
>>                             const int *const_args);
>> @@ -133,11 +131,6 @@ static inline bool tcg_out_dupm_vec(TCGContext *s, TCGType type, unsigned vece,
>>  {
>>      g_assert_not_reached();
>>  }
>> -static inline void tcg_out_dupi_vec(TCGContext *s, TCGType type,
>> -                                    TCGReg dst, tcg_target_long arg)
>> -{
>> -    g_assert_not_reached();
>> -}
>>  static inline void tcg_out_vec_op(TCGContext *s, TCGOpcode opc, unsigned vecl,
>>                                    unsigned vece, const TCGArg *args,
>>                                    const int *const_args)
> 
> AFAIK TCI does not support vectors, using them would trigger
> tcg_debug_assert(type == TCG_TYPE_I64) in tcg_out_movi().
> 
> As your approach might break other backends, I'm going to
> send an alternate patch using __attribute__((unused)).

Currently it doesn't. Unlike all the other tcg_out_*(),
tcg_out_dupi_vec() is not used in tcg.c as discussed in [1].

> 
> Thanks for reporting this,
> 
> Phil.
> 

I discard this patch in favor of the unconditionally-using way mentioned
in [1].

Thanks.

[1]: https://lists.nongnu.org/archive/html/qemu-devel/2021-01/msg01647.html
Wataru Ashihara Jan. 11, 2021, 3:20 a.m. UTC | #5
On 2021/01/11 6:32, Philippe Mathieu-Daudé wrote:
> On 1/10/21 7:23 PM, Richard Henderson wrote:
>> On 1/9/21 6:10 PM, Wataru Ashihara wrote:
>>> This fixes the build with --enable-tcg-interpreter:
>>>
>>>   clang -Ilibqemu-arm-softmmu.fa.p -I. -I.. -Itarget/arm -I../target/arm -I../dtc/libfdt -I../capstone/include/capstone -Iqapi -Itrace -Iui -Iui/shader -I/usr/include/pixman-1 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -Xclang -fcolor-diagnostics -pipe -Wall -Winvalid-pch -Werror -std=gnu99 -g -m64 -mcx16 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wold-style-definition -Wtype-limits -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wempty-body -Wnested-externs -Wendif-labels -Wexpansion-to-defined -Wno-initializer-overrides -Wno-missing-include-dirs -Wno-shift-negative-value -Wno-string-plus-int -Wno-typedef-redefinition -Wno-tautological-type-limit-compare -fstack-protector-strong -isystem /home/wsh/qc/qemu/linux-headers -isystem linux-headers -iquote /home/wsh/qc/qemu/tcg/tci -iquote . -iquote /home/wsh/qc/qemu -iquote /home/wsh/qc/qemu/accel/tcg -iquote /home/wsh/qc/qemu/include -iquote /home/wsh/qc/qemu/disas/libvixl -pthread -fPIC -isystem../linux-headers -isystemlinux-headers -DNEED_CPU_H '-DCONFIG_TARGET="arm-softmmu-config-target.h"' '-DCONFIG_DEVICES="arm-softmmu-config-devices.h"' -MD -MQ libqemu-arm-softmmu.fa.p/tcg_tcg.c.o -MF libqemu-arm-softmmu.fa.p/tcg_tcg.c.o.d -o libqemu-arm-softmmu.fa.p/tcg_tcg.c.o -c ../tcg/tcg.c
>>>   ../tcg/tcg.c:136:20: error: unused function 'tcg_out_dupi_vec' [-Werror,-Wunused-function]
>>
>>
>> What version of clang?
>> With clang 10, I can't even run configure without --disable-werror.
> 
> clang version 10.0.1 (Fedora 10.0.1-3.fc32)
> 
> I tested using:
> 
> ../configure '--cc=clang' '--cxx=clang++' \
>  '--extra-cflags=-Wunused-function' '--enable-tcg-interpreter' \
>  '--disable-tools' '--target-list=arm-softmmu'
> 

  $ clang --version
  clang version 10.0.0-4ubuntu1
  Target: x86_64-pc-linux-gnu
  Thread model: posix
  InstalledDir: /usr/bin

And I configured with:

  ../configure --prefix=$HOME/opt/qemu-tci --cc=clang --host-cc=clang --cxx=clang++ --enable-debug --enable-tcg-interpreter --enable-debug-tcg --enable-debug-info --enable-debug-mutex
diff mbox series

Patch

diff --git a/tcg/tcg.c b/tcg/tcg.c
index 472bf1755b..32df149b12 100644
--- a/tcg/tcg.c
+++ b/tcg/tcg.c
@@ -117,8 +117,6 @@  static bool tcg_out_dup_vec(TCGContext *s, TCGType type, unsigned vece,
                             TCGReg dst, TCGReg src);
 static bool tcg_out_dupm_vec(TCGContext *s, TCGType type, unsigned vece,
                              TCGReg dst, TCGReg base, intptr_t offset);
-static void tcg_out_dupi_vec(TCGContext *s, TCGType type,
-                             TCGReg dst, tcg_target_long arg);
 static void tcg_out_vec_op(TCGContext *s, TCGOpcode opc, unsigned vecl,
                            unsigned vece, const TCGArg *args,
                            const int *const_args);
@@ -133,11 +131,6 @@  static inline bool tcg_out_dupm_vec(TCGContext *s, TCGType type, unsigned vece,
 {
     g_assert_not_reached();
 }
-static inline void tcg_out_dupi_vec(TCGContext *s, TCGType type,
-                                    TCGReg dst, tcg_target_long arg)
-{
-    g_assert_not_reached();
-}
 static inline void tcg_out_vec_op(TCGContext *s, TCGOpcode opc, unsigned vecl,
                                   unsigned vece, const TCGArg *args,
                                   const int *const_args)