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 |
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.
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~
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'
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
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 --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)
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(-)