Re: [PATCH] RISC-V: Add missing torture-init and torture-finish for rvv.exp
On 5/30/23 11:43, Vineet Gupta wrote: On 5/26/23 16:38, Vineet Gupta wrote: On 5/25/23 13:26, Thomas Schwinge wrote: I'm pasting a snippet of gcc.log. Issue is indeed triggered by rvv.exp which needs some love. I'd intentionally asked to "see a complete 'gcc.log' file where the ERRORs are visible". The full log files are humongous - even xz compressed is ~ 7 MB - how can I share that w/o the list dropping it. I guess I can try emailing it you directly on work email - if that's OK. The torture-{init,finish} needs to be in riscv.exp not rvv.exp Running full tests now. I still don't understand this. My current theory would be that some other '*.exp' file runs 'torture-init' and then prematurely ends without 'torture-finish', and thus the torture testing state bleeds into the next '*.exp' file(s). I'd hoped that I could pinpoint that via "a complete 'gcc.log' file where the ERRORs are visible". Seems likely. So back to good old printf style debugging: I added dumping of the dup options to see what exactly was leaking. setup #1 - riscv.exp: Added torture-init/finish - Deleted rvv.exp (to isolate the problem) ... Setup #2 - riscv.exp: Added torture-init/finish - riscv.exp: commented away ADDITIONAL_TORTURE_OPTIONS line - rvv.exp remains, unchanged ... In the 3rd setup, I've removed riscv.exp and rvv.exp and running the testsuite: errors still show. So we are iterating over multilib combinations. Things are fine for the first one. The initial flags comprise of DG_TORTURE_OPTIONS from gcc-dg.exp (-O0, -O1 ) However when the 2nd multilib runs, it seems the old ones are not getting cleared, hence the splat. I've posted the fix [1] . printf/send_user() to the rescue ! @Thomas I fat fingered the send and missed CC'ing you on the patches. Thx, -Vineet [1] https://gcc.gnu.org/pipermail/gcc-patches/2023-May/620263.html
Re: [PATCH] RISC-V: Add missing torture-init and torture-finish for rvv.exp
On 5/26/23 16:38, Vineet Gupta wrote: On 5/25/23 13:26, Thomas Schwinge wrote: I'm pasting a snippet of gcc.log. Issue is indeed triggered by rvv.exp which needs some love. I'd intentionally asked to "see a complete 'gcc.log' file where the ERRORs are visible". The full log files are humongous - even xz compressed is ~ 7 MB - how can I share that w/o the list dropping it. I guess I can try emailing it you directly on work email - if that's OK. The torture-{init,finish} needs to be in riscv.exp not rvv.exp Running full tests now. I still don't understand this. My current theory would be that some other '*.exp' file runs 'torture-init' and then prematurely ends without 'torture-finish', and thus the torture testing state bleeds into the next '*.exp' file(s). I'd hoped that I could pinpoint that via "a complete 'gcc.log' file where the ERRORs are visible". Seems likely. So back to good old printf style debugging: I added dumping of the dup options to see what exactly was leaking. setup #1 - riscv.exp: Added torture-init/finish - Deleted rvv.exp (to isolate the problem) ... Setup #2 - riscv.exp: Added torture-init/finish - riscv.exp: commented away ADDITIONAL_TORTURE_OPTIONS line - rvv.exp remains, unchanged ... In the 3rd setup, I've removed riscv.exp and rvv.exp and running the testsuite: errors still show. So we are iterating over multilib combinations. Things are fine for the first one. The initial flags comprise of DG_TORTURE_OPTIONS from gcc-dg.exp (-O0, -O1 ) However when the 2nd multilib runs, it seems the old ones are not getting cleared, hence the splat. --->8--- === gcc tests === Schedule of variations: riscv-sim/-march=rv32imac/-mabi=ilp32/-mcmodel=medlow riscv-sim/-march=rv32imafdc/-mabi=ilp32d/-mcmodel=medlow riscv-sim/-march=rv64imac/-mabi=lp64/-mcmodel=medlow riscv-sim/-march=rv64imafdc/-mabi=lp64d/-mcmodel=medlow Running target riscv-sim/-march=rv32imac/-mabi=ilp32/-mcmodel=medlow Using /scratch/vineetg/gnu/INSTALL/tc-up-230524-273895500425/share/dejagnu/baseboards/riscv-sim.exp as board description file for target. Using /scratch/vineetg/gnu/INSTALL/tc-up-230524-273895500425/share/dejagnu/config/sim.exp as generic interface file for target. Using /scratch/vineetg/gnu/INSTALL/tc-up-230524-273895500425/share/dejagnu/baseboards/basic-sim.exp as board description file for target. Using /scratch/vineetg/gnu/toolchain-upstream-pristine/gcc/gcc/testsuite/config/default.exp as tool-and-target-specific interface file. Running /scratch/vineetg/gnu/toolchain-upstream-pristine/gcc/gcc/testsuite/gcc.c-torture/compile/compile.exp ... Running /scratch/vineetg/gnu/toolchain-upstream-pristine/gcc/gcc/testsuite/gcc.c-torture/execute/builtins/builtins.exp ... Running /scratch/vineetg/gnu/toolchain-upstream-pristine/gcc/gcc/testsuite/gcc.c-torture/execute/execute.exp ... Running /scratch/vineetg/gnu/toolchain-upstream-pristine/gcc/gcc/testsuite/gcc.c-torture/execute/ieee/ieee.exp ... Running /scratch/vineetg/gnu/toolchain-upstream-pristine/gcc/gcc/testsuite/gcc.c-torture/unsorted/unsorted.exp ... Running /scratch/vineetg/gnu/toolchain-upstream-pristine/gcc/gcc/testsuite/gcc.dg/analyzer/analyzer.exp ... Running /scratch/vineetg/gnu/toolchain-upstream-pristine/gcc/gcc/testsuite/gcc.dg/analyzer/torture/analyzer-torture.exp ... Running /scratch/vineetg/gnu/toolchain-upstream-pristine/gcc/gcc/testsuite/gcc.dg/asan/asan.exp ... Running /scratch/vineetg/gnu/toolchain-upstream-pristine/gcc/gcc/testsuite/gcc.dg/atomic/atomic.exp ... Running /scratch/vineetg/gnu/toolchain-upstream-pristine/gcc/gcc/testsuite/gcc.dg/autopar/autopar.exp ... Running /scratch/vineetg/gnu/toolchain-upstream-pristine/gcc/gcc/testsuite/gcc.dg/charset/charset.exp ... Running /scratch/vineetg/gnu/toolchain-upstream-pristine/gcc/gcc/testsuite/gcc.dg/compat/compat.exp ... Running /scratch/vineetg/gnu/toolchain-upstream-pristine/gcc/gcc/testsuite/gcc.dg/compat/struct-layout-1.exp ... Running /scratch/vineetg/gnu/toolchain-upstream-pristine/gcc/gcc/testsuite/gcc.dg/cpp/cpp.exp ... Running /scratch/vineetg/gnu/toolchain-upstream-pristine/gcc/gcc/testsuite/gcc.dg/cpp/trad/trad.exp ... Running /scratch/vineetg/gnu/toolchain-upstream-pristine/gcc/gcc/testsuite/gcc.dg/debug/btf/btf.exp ... Running /scratch/vineetg/gnu/toolchain-upstream-pristine/gcc/gcc/testsuite/gcc.dg/debug/ctf/ctf.exp ... Running /scratch/vineetg/gnu/toolchain-upstream-pristine/gcc/gcc/testsuite/gcc.dg/debug/debug.exp ... Running /scratch/vineetg/gnu/toolchain-upstream-pristine/gcc/gcc/testsuite/gcc.dg/debug/dwarf2/dwarf2.exp ... Running /scratch/vineetg/gnu/toolchain-upstream-pristine/gcc/gcc/testsuite/gcc.dg/dfp/dfp.exp ... Running /scratch/vineetg/gnu/toolchain-upstream-pristine/gcc/gcc/testsuite/gcc.dg/dg.exp ... XPASS: gcc.dg/attr-alloc_size-11.c missing range info for signed char (test for warnings, line 50) XPASS: gcc.dg/attr-alloc_size-11.c missing range info
Re: [PATCH] RISC-V: Add missing torture-init and torture-finish for rvv.exp
On 5/25/23 13:26, Thomas Schwinge wrote: I'm pasting a snippet of gcc.log. Issue is indeed triggered by rvv.exp which needs some love. I'd intentionally asked to "see a complete 'gcc.log' file where the ERRORs are visible". The full log files are humongous - even xz compressed is ~ 7 MB - how can I share that w/o the list dropping it. I guess I can try emailing it you directly on work email - if that's OK. The torture-{init,finish} needs to be in riscv.exp not rvv.exp Running full tests now. I still don't understand this. My current theory would be that some other '*.exp' file runs 'torture-init' and then prematurely ends without 'torture-finish', and thus the torture testing state bleeds into the next '*.exp' file(s). I'd hoped that I could pinpoint that via "a complete 'gcc.log' file where the ERRORs are visible". Seems likely. So back to good old printf style debugging: I added dumping of the dup options to see what exactly was leaking. setup #1 - riscv.exp: Added torture-init/finish - Deleted rvv.exp (to isolate the problem) Leaking toggles are from torture-options.exp where the debug prints themselves are added. A trimmed version of gcc.log is at [1] --->8- Running /scratch/vineetg/gnu/toolchain-upstream/gcc/gcc/testsuite/gcc.target/pru/pru.exp ... testcase /scratch/vineetg/gnu/toolchain-upstream/gcc/gcc/testsuite/gcc.target/pru/pru.exp completed in 0 seconds Running /scratch/vineetg/gnu/toolchain-upstream/gcc/gcc/testsuite/gcc.target/riscv/riscv.exp ... ERROR: tcl error sourcing /scratch/vineetg/gnu/toolchain-upstream/gcc/gcc/testsuite/gcc.target/riscv/riscv.exp. ERROR: tcl error code NONE ERROR: torture-init: LTO_TORTURE_OPTIONS is not empty as expected = "{ -O2 -flto -fno-use-linker-plugin -flto-partition=none } { -O2 -flto -fuse-linker-plugin -fno-fat-lto-objects }" while executing "error "torture-init: LTO_TORTURE_OPTIONS is not empty as expected = \"${LTO_TORTURE_OPTIONS}\""" invoked from within "if [info exists LTO_TORTURE_OPTIONS] { error "torture-init: LTO_TORTURE_OPTIONS is not empty as expected = \"${LTO_TORTURE_OPTIONS}\"" }" (procedure "torture-init" line 12) invoked from within "torture-init" (file "/scratch/vineetg/gnu/toolchain-upstream/gcc/gcc/testsuite/gcc.target/riscv/riscv.exp" line 44) invoked from within "source /scratch/vineetg/gnu/toolchain-upstream/gcc/gcc/testsuite/gcc.target/riscv/riscv.exp" ("uplevel" body line 1) invoked from within "uplevel #0 source /scratch/vineetg/gnu/toolchain-upstream/gcc/gcc/testsuite/gcc.target/riscv/riscv.exp" invoked from within "catch "uplevel #0 source $test_file_name" msg" UNRESOLVED: testcase '/scratch/vineetg/gnu/toolchain-upstream/gcc/gcc/testsuite/gcc.target/riscv/riscv.exp' aborted due to Tcl error testcase /scratch/vineetg/gnu/toolchain-upstream/gcc/gcc/testsuite/gcc.target/riscv/riscv.exp completed in 0 seconds --->8--- Setup #2 - riscv.exp: Added torture-init/finish - riscv.exp: commented away ADDITIONAL_TORTURE_OPTIONS line - rvv.exp remains, unchanged This has more errors since I'm actually running all multilib variants. --->8--- testcase /scratch/vineetg/gnu/toolchain-upstream2/gcc/gcc/testsuite/gcc.target/riscv/riscv.exp completed in 0 seconds Running /scratch/vineetg/gnu/toolchain-upstream2/gcc/gcc/testsuite/gcc.target/riscv/rvv/rvv.exp ... ERROR: tcl error sourcing /scratch/vineetg/gnu/toolchain-upstream2/gcc/gcc/testsuite/gcc.target/riscv/rvv/rvv.exp. ERROR: tcl error code NONE ERROR: torture-init: LTO_TORTURE_OPTIONS is not empty as expected = "{ -O2 -flto -fno-use-linker-plugin -flto-partition=none } { -O2 -flto -fuse-linker-plugin -fno-fat-lto-objects }" while executing "error "torture-init: LTO_TORTURE_OPTIONS is not empty as expected = \"${LTO_TORTURE_OPTIONS}\""" invoked from within "if [info exists LTO_TORTURE_OPTIONS] { error "torture-init: LTO_TORTURE_OPTIONS is not empty as expected = \"${LTO_TORTURE_OPTIONS}\"" }" (procedure "torture-init" line 12) invoked from within "torture-init" (file "/scratch/vineetg/gnu/toolchain-upstream2/gcc/gcc/testsuite/gcc.target/riscv/rvv/rvv.exp" line 42) invoked from within "source /scratch/vineetg/gnu/toolchain-upstream2/gcc/gcc/testsuite/gcc.target/riscv/rvv/rvv.exp" ("uplevel" body line 1) invoked from within "uplevel #0 source /scratch/vineetg/gnu/toolchain-upstream2/gcc/gcc/testsuite/gcc.target/riscv/rvv/rvv.exp" invoked from within "catch "uplevel #0 source $test_file_name" msg" UNRESOLVED: testcase '/scratch/vineetg/gnu/toolchain-upstream2/gcc/gcc/testsuite/gcc.target/riscv/rvv/rvv.exp' aborted due to Tcl error ... Running /scratch/vineetg/gnu/toolchain-upstream2/gcc/gcc/testsuite/gcc.c-torture/execute/builtins/builtins.exp ... ERROR: tcl error sourcing /scratch/vineetg/gnu/toolchain-upstream2/gcc/gcc/testsuite/gcc.c-torture/execute/builtins/builtins.exp. ERROR: tcl error code NONE ERROR: torture
Re: [PATCH] RISC-V: Add missing torture-init and torture-finish for rvv.exp
Hi! On 2023-05-24T15:13:19-0700, Vineet Gupta wrote: > On 5/24/23 13:34, Thomas Schwinge wrote: >> Yeah, at this point I'm not sure whether my recent changes really are >> related/relevant here. >> >>> Apparently in addition to Kito's patch below, If I comment out the >>> additional torture options, failures go down drastically. >> Meaning that *all* those ERRORs disappear? > > No but they reduced significantly. Anyhow I think the issue should be > simple enough for someone familiar with how the tcl stuff works... I'm here to help -- but you'll have to help me to help you, please. >>> diff --git a/gcc/testsuite/gcc.target/riscv/riscv.exp >>> b/gcc/testsuite/gcc.target/riscv/riscv.exp >>> >>> -lappend ADDITIONAL_TORTURE_OPTIONS {-Og -g} {-Oz} >>> +#lappend ADDITIONAL_TORTURE_OPTIONS {-Og -g} {-Oz} >>> >>> @Thomas, do you have some thoughts on how to fix riscv.exp properly in >>> light of recent changes to exp files. >> I'm trying to understand this, but so far don't. Can I please see a >> complete 'gcc.log' file where the ERRORs are visible? > So we are at bleeding edge gcc from today > 2023-05-24 ec2e86274427 Fortran: reject bad DIM argument of SIZE > intrinsic in simplification [PR104350] > > With an additional fix from Kito along the lines of.. > > diff --git a/gcc/testsuite/gcc.target/riscv/rvv/rvv.exp > b/gcc/testsuite/gcc.target/riscv/rvv/rvv.exp > > dg-init > +torture-init > > # All done. > +torture-finish > dg-finish That shouldn't be necessary here? > I'm pasting a snippet of gcc.log. Issue is indeed triggered by rvv.exp > which needs some love. I'd intentionally asked to "see a complete 'gcc.log' file where the ERRORs are visible". On 2023-05-24T16:12:20-0700, Vineet Gupta wrote: > On 5/24/23 15:13, Vineet Gupta wrote: >> >> PASS: gcc.target/riscv/zmmul-2.c -O2 -flto -fuse-linker-plugin >> -fno-fat-lto-objects (test for excess errors) >> PASS: gcc.target/riscv/zmmul-2.c -O2 -flto -fuse-linker-plugin >> -fno-fat-lto-objects scan-assembler-times mul\t 1 >> PASS: gcc.target/riscv/zmmul-2.c -O2 -flto -fuse-linker-plugin >> -fno-fat-lto-objects scan-assembler-not div\t >> PASS: gcc.target/riscv/zmmul-2.c -O2 -flto -fuse-linker-plugin >> -fno-fat-lto-objects scan-assembler-not rem\t >> testcase >> /scratch/vineetg/gnu/toolchain-upstream/gcc/gcc/testsuite/gcc.target/riscv/riscv.exp >> >> completed in 60 seconds >> Running >> /scratch/vineetg/gnu/toolchain-upstream/gcc/gcc/testsuite/gcc.target/riscv/rvv/rvv.exp >> >> ... >> ERROR: tcl error sourcing >> /scratch/vineetg/gnu/toolchain-upstream/gcc/gcc/testsuite/gcc.target/riscv/rvv/rvv.exp. >> ERROR: tcl error code NONE >> ERROR: torture-init: torture_without_loops is not empty as expected I'd seen this before, in your earlier emails. > Never mind. Looks like I found the issue - with just trial and error and > no idea of how this stuff works. Instead of "magic", let's please try to properly work this out. > The torture-{init,finish} needs to be in riscv.exp not rvv.exp > Running full tests now. I still don't understand this. My current theory would be that some other '*.exp' file runs 'torture-init' and then prematurely ends without 'torture-finish', and thus the torture testing state bleeds into the next '*.exp' file(s). I'd hoped that I could pinpoint that via "a complete 'gcc.log' file where the ERRORs are visible". Grüße Thomas
Re: [PATCH] RISC-V: Add missing torture-init and torture-finish for rvv.exp
On 5/24/23 17:12, Vineet Gupta wrote: On 5/24/23 15:13, Vineet Gupta wrote: PASS: gcc.target/riscv/zmmul-2.c -O2 -flto -fuse-linker-plugin -fno-fat-lto-objects (test for excess errors) PASS: gcc.target/riscv/zmmul-2.c -O2 -flto -fuse-linker-plugin -fno-fat-lto-objects scan-assembler-times mul\t 1 PASS: gcc.target/riscv/zmmul-2.c -O2 -flto -fuse-linker-plugin -fno-fat-lto-objects scan-assembler-not div\t PASS: gcc.target/riscv/zmmul-2.c -O2 -flto -fuse-linker-plugin -fno-fat-lto-objects scan-assembler-not rem\t testcase /scratch/vineetg/gnu/toolchain-upstream/gcc/gcc/testsuite/gcc.target/riscv/riscv.exp completed in 60 seconds Running /scratch/vineetg/gnu/toolchain-upstream/gcc/gcc/testsuite/gcc.target/riscv/rvv/rvv.exp ... ERROR: tcl error sourcing /scratch/vineetg/gnu/toolchain-upstream/gcc/gcc/testsuite/gcc.target/riscv/rvv/rvv.exp. ERROR: tcl error code NONE ERROR: torture-init: torture_without_loops is not empty as expected while executing "error "torture-init: torture_without_loops is not empty as expected"" invoked from within "if [info exists torture_without_loops] { error "torture-init: torture_without_loops is not empty as expected" }" (procedure "torture-init" line 4) invoked from within "torture-init" (file "/scratch/vineetg/gnu/toolchain-upstream/gcc/gcc/testsuite/gcc.target/riscv/rvv/rvv.exp" line 42) invoked from within "source /scratch/vineetg/gnu/toolchain-upstream/gcc/gcc/testsuite/gcc.target/riscv/rvv/rvv.exp" ("uplevel" body line 1) invoked from within "uplevel #0 source /scratch/vineetg/gnu/toolchain-upstream/gcc/gcc/testsuite/gcc.target/riscv/rvv/rvv.exp" invoked from within "catch "uplevel #0 source $test_file_name" msg" UNRESOLVED: testcase '/scratch/vineetg/gnu/toolchain-upstream/gcc/gcc/testsuite/gcc.target/riscv/rvv/rvv.exp' aborted due to Tcl error testcase /scratch/vineetg/gnu/toolchain-upstream/gcc/gcc/testsuite/gcc.target/riscv/rvv/rvv.exp completed in 0 seconds Running /scratch/vineetg/gnu/toolchain-upstream/gcc/gcc/testsuite/gcc.target/rl78/rl78.exp ... ... Never mind. Looks like I found the issue - with just trial and error and no idea of how this stuff works. The torture-{init,finish} needs to be in riscv.exp not rvv.exp Running full tests now. Trial and error is how I think most of us deal with the TCL insanity. I have found send_user (aka printf debugging) to be quite helpful through the years. There's also verbosity and trace options, but they can be painfully hard to interpret. jeff
Re: [PATCH] RISC-V: Add missing torture-init and torture-finish for rvv.exp
On Wed, 24 May 2023 16:12:20 PDT (-0700), Vineet Gupta wrote: On 5/24/23 15:13, Vineet Gupta wrote: PASS: gcc.target/riscv/zmmul-2.c -O2 -flto -fuse-linker-plugin -fno-fat-lto-objects (test for excess errors) PASS: gcc.target/riscv/zmmul-2.c -O2 -flto -fuse-linker-plugin -fno-fat-lto-objects scan-assembler-times mul\t 1 PASS: gcc.target/riscv/zmmul-2.c -O2 -flto -fuse-linker-plugin -fno-fat-lto-objects scan-assembler-not div\t PASS: gcc.target/riscv/zmmul-2.c -O2 -flto -fuse-linker-plugin -fno-fat-lto-objects scan-assembler-not rem\t testcase /scratch/vineetg/gnu/toolchain-upstream/gcc/gcc/testsuite/gcc.target/riscv/riscv.exp completed in 60 seconds Running /scratch/vineetg/gnu/toolchain-upstream/gcc/gcc/testsuite/gcc.target/riscv/rvv/rvv.exp ... ERROR: tcl error sourcing /scratch/vineetg/gnu/toolchain-upstream/gcc/gcc/testsuite/gcc.target/riscv/rvv/rvv.exp. ERROR: tcl error code NONE ERROR: torture-init: torture_without_loops is not empty as expected while executing "error "torture-init: torture_without_loops is not empty as expected"" invoked from within "if [info exists torture_without_loops] { error "torture-init: torture_without_loops is not empty as expected" }" (procedure "torture-init" line 4) invoked from within "torture-init" (file "/scratch/vineetg/gnu/toolchain-upstream/gcc/gcc/testsuite/gcc.target/riscv/rvv/rvv.exp" line 42) invoked from within "source /scratch/vineetg/gnu/toolchain-upstream/gcc/gcc/testsuite/gcc.target/riscv/rvv/rvv.exp" ("uplevel" body line 1) invoked from within "uplevel #0 source /scratch/vineetg/gnu/toolchain-upstream/gcc/gcc/testsuite/gcc.target/riscv/rvv/rvv.exp" invoked from within "catch "uplevel #0 source $test_file_name" msg" UNRESOLVED: testcase '/scratch/vineetg/gnu/toolchain-upstream/gcc/gcc/testsuite/gcc.target/riscv/rvv/rvv.exp' aborted due to Tcl error testcase /scratch/vineetg/gnu/toolchain-upstream/gcc/gcc/testsuite/gcc.target/riscv/rvv/rvv.exp completed in 0 seconds Running /scratch/vineetg/gnu/toolchain-upstream/gcc/gcc/testsuite/gcc.target/rl78/rl78.exp ... ... Never mind. Looks like I found the issue - with just trial and error and no idea of how this stuff works. The torture-{init,finish} needs to be in riscv.exp not rvv.exp Running full tests now. Thanks! -Vineet
Re: [PATCH] RISC-V: Add missing torture-init and torture-finish for rvv.exp
On 5/24/23 15:13, Vineet Gupta wrote: PASS: gcc.target/riscv/zmmul-2.c -O2 -flto -fuse-linker-plugin -fno-fat-lto-objects (test for excess errors) PASS: gcc.target/riscv/zmmul-2.c -O2 -flto -fuse-linker-plugin -fno-fat-lto-objects scan-assembler-times mul\t 1 PASS: gcc.target/riscv/zmmul-2.c -O2 -flto -fuse-linker-plugin -fno-fat-lto-objects scan-assembler-not div\t PASS: gcc.target/riscv/zmmul-2.c -O2 -flto -fuse-linker-plugin -fno-fat-lto-objects scan-assembler-not rem\t testcase /scratch/vineetg/gnu/toolchain-upstream/gcc/gcc/testsuite/gcc.target/riscv/riscv.exp completed in 60 seconds Running /scratch/vineetg/gnu/toolchain-upstream/gcc/gcc/testsuite/gcc.target/riscv/rvv/rvv.exp ... ERROR: tcl error sourcing /scratch/vineetg/gnu/toolchain-upstream/gcc/gcc/testsuite/gcc.target/riscv/rvv/rvv.exp. ERROR: tcl error code NONE ERROR: torture-init: torture_without_loops is not empty as expected while executing "error "torture-init: torture_without_loops is not empty as expected"" invoked from within "if [info exists torture_without_loops] { error "torture-init: torture_without_loops is not empty as expected" }" (procedure "torture-init" line 4) invoked from within "torture-init" (file "/scratch/vineetg/gnu/toolchain-upstream/gcc/gcc/testsuite/gcc.target/riscv/rvv/rvv.exp" line 42) invoked from within "source /scratch/vineetg/gnu/toolchain-upstream/gcc/gcc/testsuite/gcc.target/riscv/rvv/rvv.exp" ("uplevel" body line 1) invoked from within "uplevel #0 source /scratch/vineetg/gnu/toolchain-upstream/gcc/gcc/testsuite/gcc.target/riscv/rvv/rvv.exp" invoked from within "catch "uplevel #0 source $test_file_name" msg" UNRESOLVED: testcase '/scratch/vineetg/gnu/toolchain-upstream/gcc/gcc/testsuite/gcc.target/riscv/rvv/rvv.exp' aborted due to Tcl error testcase /scratch/vineetg/gnu/toolchain-upstream/gcc/gcc/testsuite/gcc.target/riscv/rvv/rvv.exp completed in 0 seconds Running /scratch/vineetg/gnu/toolchain-upstream/gcc/gcc/testsuite/gcc.target/rl78/rl78.exp ... ... Never mind. Looks like I found the issue - with just trial and error and no idea of how this stuff works. The torture-{init,finish} needs to be in riscv.exp not rvv.exp Running full tests now. -Vineet
Re: [PATCH] RISC-V: Add missing torture-init and torture-finish for rvv.exp
On 5/24/23 13:34, Thomas Schwinge wrote: Yeah, at this point I'm not sure whether my recent changes really are related/relevant here. Apparently in addition to Kito's patch below, If I comment out the additional torture options, failures go down drastically. Meaning that *all* those ERRORs disappear? No but they reduced significantly. Anyhow I think the issue should be simple enough for someone familiar with how the tcl stuff works... diff --git a/gcc/testsuite/gcc.target/riscv/riscv.exp b/gcc/testsuite/gcc.target/riscv/riscv.exp -lappend ADDITIONAL_TORTURE_OPTIONS {-Og -g} {-Oz} +#lappend ADDITIONAL_TORTURE_OPTIONS {-Og -g} {-Oz} @Thomas, do you have some thoughts on how to fix riscv.exp properly in light of recent changes to exp files. I'm trying to understand this, but so far don't. Can I please see a complete 'gcc.log' file where the ERRORs are visible? So we are at bleeding edge gcc from today 2023-05-24 ec2e86274427 Fortran: reject bad DIM argument of SIZE intrinsic in simplification [PR104350] With an additional fix from Kito along the lines of.. diff --git a/gcc/testsuite/gcc.target/riscv/rvv/rvv.exp b/gcc/testsuite/gcc.target/riscv/rvv/rvv.exp dg-init +torture-init # All done. +torture-finish dg-finish I'm pasting a snippet of gcc.log. Issue is indeed triggered by rvv.exp which needs some love. PASS: gcc.target/riscv/zmmul-2.c -O2 -flto -fuse-linker-plugin -fno-fat-lto-objects (test for excess errors) PASS: gcc.target/riscv/zmmul-2.c -O2 -flto -fuse-linker-plugin -fno-fat-lto-objects scan-assembler-times mul\t 1 PASS: gcc.target/riscv/zmmul-2.c -O2 -flto -fuse-linker-plugin -fno-fat-lto-objects scan-assembler-not div\t PASS: gcc.target/riscv/zmmul-2.c -O2 -flto -fuse-linker-plugin -fno-fat-lto-objects scan-assembler-not rem\t testcase /scratch/vineetg/gnu/toolchain-upstream/gcc/gcc/testsuite/gcc.target/riscv/riscv.exp completed in 60 seconds Running /scratch/vineetg/gnu/toolchain-upstream/gcc/gcc/testsuite/gcc.target/riscv/rvv/rvv.exp ... ERROR: tcl error sourcing /scratch/vineetg/gnu/toolchain-upstream/gcc/gcc/testsuite/gcc.target/riscv/rvv/rvv.exp. ERROR: tcl error code NONE ERROR: torture-init: torture_without_loops is not empty as expected while executing "error "torture-init: torture_without_loops is not empty as expected"" invoked from within "if [info exists torture_without_loops] { error "torture-init: torture_without_loops is not empty as expected" }" (procedure "torture-init" line 4) invoked from within "torture-init" (file "/scratch/vineetg/gnu/toolchain-upstream/gcc/gcc/testsuite/gcc.target/riscv/rvv/rvv.exp" line 42) invoked from within "source /scratch/vineetg/gnu/toolchain-upstream/gcc/gcc/testsuite/gcc.target/riscv/rvv/rvv.exp" ("uplevel" body line 1) invoked from within "uplevel #0 source /scratch/vineetg/gnu/toolchain-upstream/gcc/gcc/testsuite/gcc.target/riscv/rvv/rvv.exp" invoked from within "catch "uplevel #0 source $test_file_name" msg" UNRESOLVED: testcase '/scratch/vineetg/gnu/toolchain-upstream/gcc/gcc/testsuite/gcc.target/riscv/rvv/rvv.exp' aborted due to Tcl error testcase /scratch/vineetg/gnu/toolchain-upstream/gcc/gcc/testsuite/gcc.target/riscv/rvv/rvv.exp completed in 0 seconds Running /scratch/vineetg/gnu/toolchain-upstream/gcc/gcc/testsuite/gcc.target/rl78/rl78.exp ... ...
Re: [PATCH] RISC-V: Add missing torture-init and torture-finish for rvv.exp
Hi! On 2023-05-24T11:18:35-0700, Vineet Gupta wrote: > On 5/22/23 20:52, Vineet Gupta wrote: >> On 5/22/23 02:17, Kito Cheng wrote: >>> Ooops, seems still some issue around here, >> >> Yep still 5000 fails :-( >> >>> but I found something might >>> related this issue: >>> >>> https://github.com/gcc-mirror/gcc/commit/d6654a4be3ba44c0d57be7c8a51d76d9721345e1 >>> >>> >>> https://github.com/gcc-mirror/gcc/commit/23c49bb8d09bc3bfce9a08be637cf32ac014de56 >>> >>> >> >> It seems both of these patches are essentially doing what yours did. >> So something else is amiss still. Yeah, at this point I'm not sure whether my recent changes really are related/relevant here. > Apparently in addition to Kito's patch below, If I comment out the > additional torture options, failures go down drastically. Meaning that *all* those ERRORs disappear? > diff --git a/gcc/testsuite/gcc.target/riscv/riscv.exp > b/gcc/testsuite/gcc.target/riscv/riscv.exp > > -lappend ADDITIONAL_TORTURE_OPTIONS {-Og -g} {-Oz} > +#lappend ADDITIONAL_TORTURE_OPTIONS {-Og -g} {-Oz} > > @Thomas, do you have some thoughts on how to fix riscv.exp properly in > light of recent changes to exp files. I'm trying to understand this, but so far don't. Can I please see a complete 'gcc.log' file where the ERRORs are visible? Grüße Thomas >>> On Mon, May 22, 2023 at 2:42 PM Kito Cheng >>> wrote: Hi Vineet: Could you help to test this patch, this could resolve that issue on our machine, but I would like to also work for other env. Thanks :) --- We got bunch of following error message for multi-lib run: ERROR: torture-init: torture_without_loops is not empty as expected ERROR: tcl error code NONE And seems we need torture-init and torture-finish around the test loop. gcc/testsuite/ChangeLog: * gcc.target/riscv/rvv/rvv.exp: Add torture-init and torture-finish. --- gcc/testsuite/gcc.target/riscv/rvv/rvv.exp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/gcc/testsuite/gcc.target/riscv/rvv/rvv.exp b/gcc/testsuite/gcc.target/riscv/rvv/rvv.exp index bc99cc0c3cf4..19179564361a 100644 --- a/gcc/testsuite/gcc.target/riscv/rvv/rvv.exp +++ b/gcc/testsuite/gcc.target/riscv/rvv/rvv.exp @@ -39,6 +39,7 @@ if [istarget riscv32-*-*] then { # Initialize `dg'. dg-init +torture-init # Main loop. set CFLAGS "$DEFAULT_CFLAGS -march=$gcc_march -mabi=$gcc_mabi -O3" @@ -69,5 +70,7 @@ foreach op $AUTOVEC_TEST_OPTS { dg-runtest [lsort [glob -nocomplain $srcdir/$subdir/autovec/vls-vlmax/*.\[cS\]]] \ "-std=c99 -O3 -ftree-vectorize --param riscv-autovec-preference=fixed-vlmax" $CFLAGS +torture-finish + # All done. dg-finish -- 2.40.1 >>
Re: [PATCH] RISC-V: Add missing torture-init and torture-finish for rvv.exp
+CC Thomas and Maciej On 5/22/23 20:52, Vineet Gupta wrote: On 5/22/23 02:17, Kito Cheng wrote: Ooops, seems still some issue around here, Yep still 5000 fails :-( but I found something might related this issue: https://github.com/gcc-mirror/gcc/commit/d6654a4be3ba44c0d57be7c8a51d76d9721345e1 https://github.com/gcc-mirror/gcc/commit/23c49bb8d09bc3bfce9a08be637cf32ac014de56 It seems both of these patches are essentially doing what yours did. So something else is amiss still. Apparently in addition to Kito's patch below, If I comment out the additional torture options, failures go down drastically. diff --git a/gcc/testsuite/gcc.target/riscv/riscv.exp b/gcc/testsuite/gcc.target/riscv/riscv.exp -lappend ADDITIONAL_TORTURE_OPTIONS {-Og -g} {-Oz} +#lappend ADDITIONAL_TORTURE_OPTIONS {-Og -g} {-Oz} @Thomas, do you have some thoughts on how to fix riscv.exp properly in light of recent changes to exp files. Thx, -Vineet On Mon, May 22, 2023 at 2:42 PM Kito Cheng wrote: Hi Vineet: Could you help to test this patch, this could resolve that issue on our machine, but I would like to also work for other env. Thanks :) --- We got bunch of following error message for multi-lib run: ERROR: torture-init: torture_without_loops is not empty as expected ERROR: tcl error code NONE And seems we need torture-init and torture-finish around the test loop. gcc/testsuite/ChangeLog: * gcc.target/riscv/rvv/rvv.exp: Add torture-init and torture-finish. --- gcc/testsuite/gcc.target/riscv/rvv/rvv.exp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/gcc/testsuite/gcc.target/riscv/rvv/rvv.exp b/gcc/testsuite/gcc.target/riscv/rvv/rvv.exp index bc99cc0c3cf4..19179564361a 100644 --- a/gcc/testsuite/gcc.target/riscv/rvv/rvv.exp +++ b/gcc/testsuite/gcc.target/riscv/rvv/rvv.exp @@ -39,6 +39,7 @@ if [istarget riscv32-*-*] then { # Initialize `dg'. dg-init +torture-init # Main loop. set CFLAGS "$DEFAULT_CFLAGS -march=$gcc_march -mabi=$gcc_mabi -O3" @@ -69,5 +70,7 @@ foreach op $AUTOVEC_TEST_OPTS { dg-runtest [lsort [glob -nocomplain $srcdir/$subdir/autovec/vls-vlmax/*.\[cS\]]] \ "-std=c99 -O3 -ftree-vectorize --param riscv-autovec-preference=fixed-vlmax" $CFLAGS +torture-finish + # All done. dg-finish -- 2.40.1
Re: [PATCH] RISC-V: Add missing torture-init and torture-finish for rvv.exp
On 5/22/23 02:17, Kito Cheng wrote: Ooops, seems still some issue around here, Yep still 5000 fails :-( but I found something might related this issue: https://github.com/gcc-mirror/gcc/commit/d6654a4be3ba44c0d57be7c8a51d76d9721345e1 https://github.com/gcc-mirror/gcc/commit/23c49bb8d09bc3bfce9a08be637cf32ac014de56 It seems both of these patches are essentially doing what yours did. So something else is amiss still. Thx, -Vineet On Mon, May 22, 2023 at 2:42 PM Kito Cheng wrote: Hi Vineet: Could you help to test this patch, this could resolve that issue on our machine, but I would like to also work for other env. Thanks :) --- We got bunch of following error message for multi-lib run: ERROR: torture-init: torture_without_loops is not empty as expected ERROR: tcl error code NONE And seems we need torture-init and torture-finish around the test loop. gcc/testsuite/ChangeLog: * gcc.target/riscv/rvv/rvv.exp: Add torture-init and torture-finish. --- gcc/testsuite/gcc.target/riscv/rvv/rvv.exp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/gcc/testsuite/gcc.target/riscv/rvv/rvv.exp b/gcc/testsuite/gcc.target/riscv/rvv/rvv.exp index bc99cc0c3cf4..19179564361a 100644 --- a/gcc/testsuite/gcc.target/riscv/rvv/rvv.exp +++ b/gcc/testsuite/gcc.target/riscv/rvv/rvv.exp @@ -39,6 +39,7 @@ if [istarget riscv32-*-*] then { # Initialize `dg'. dg-init +torture-init # Main loop. set CFLAGS "$DEFAULT_CFLAGS -march=$gcc_march -mabi=$gcc_mabi -O3" @@ -69,5 +70,7 @@ foreach op $AUTOVEC_TEST_OPTS { dg-runtest [lsort [glob -nocomplain $srcdir/$subdir/autovec/vls-vlmax/*.\[cS\]]] \ "-std=c99 -O3 -ftree-vectorize --param riscv-autovec-preference=fixed-vlmax" $CFLAGS +torture-finish + # All done. dg-finish -- 2.40.1
Re: [PATCH] RISC-V: Add missing torture-init and torture-finish for rvv.exp
Ooops, seems still some issue around here, but I found something might related this issue: https://github.com/gcc-mirror/gcc/commit/d6654a4be3ba44c0d57be7c8a51d76d9721345e1 https://github.com/gcc-mirror/gcc/commit/23c49bb8d09bc3bfce9a08be637cf32ac014de56 On Mon, May 22, 2023 at 2:42 PM Kito Cheng wrote: > > Hi Vineet: > > Could you help to test this patch, this could resolve that issue on our > machine, but I would like to also work for other env. > > Thanks :) > > --- > > We got bunch of following error message for multi-lib run: > > ERROR: torture-init: torture_without_loops is not empty as expected > ERROR: tcl error code NONE > > And seems we need torture-init and torture-finish around the test > loop. > > gcc/testsuite/ChangeLog: > > * gcc.target/riscv/rvv/rvv.exp: Add torture-init and > torture-finish. > --- > gcc/testsuite/gcc.target/riscv/rvv/rvv.exp | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/gcc/testsuite/gcc.target/riscv/rvv/rvv.exp > b/gcc/testsuite/gcc.target/riscv/rvv/rvv.exp > index bc99cc0c3cf4..19179564361a 100644 > --- a/gcc/testsuite/gcc.target/riscv/rvv/rvv.exp > +++ b/gcc/testsuite/gcc.target/riscv/rvv/rvv.exp > @@ -39,6 +39,7 @@ if [istarget riscv32-*-*] then { > > # Initialize `dg'. > dg-init > +torture-init > > # Main loop. > set CFLAGS "$DEFAULT_CFLAGS -march=$gcc_march -mabi=$gcc_mabi -O3" > @@ -69,5 +70,7 @@ foreach op $AUTOVEC_TEST_OPTS { > dg-runtest [lsort [glob -nocomplain > $srcdir/$subdir/autovec/vls-vlmax/*.\[cS\]]] \ > "-std=c99 -O3 -ftree-vectorize --param > riscv-autovec-preference=fixed-vlmax" $CFLAGS > > +torture-finish > + > # All done. > dg-finish > -- > 2.40.1 >
[PATCH] RISC-V: Add missing torture-init and torture-finish for rvv.exp
Hi Vineet: Could you help to test this patch, this could resolve that issue on our machine, but I would like to also work for other env. Thanks :) --- We got bunch of following error message for multi-lib run: ERROR: torture-init: torture_without_loops is not empty as expected ERROR: tcl error code NONE And seems we need torture-init and torture-finish around the test loop. gcc/testsuite/ChangeLog: * gcc.target/riscv/rvv/rvv.exp: Add torture-init and torture-finish. --- gcc/testsuite/gcc.target/riscv/rvv/rvv.exp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/gcc/testsuite/gcc.target/riscv/rvv/rvv.exp b/gcc/testsuite/gcc.target/riscv/rvv/rvv.exp index bc99cc0c3cf4..19179564361a 100644 --- a/gcc/testsuite/gcc.target/riscv/rvv/rvv.exp +++ b/gcc/testsuite/gcc.target/riscv/rvv/rvv.exp @@ -39,6 +39,7 @@ if [istarget riscv32-*-*] then { # Initialize `dg'. dg-init +torture-init # Main loop. set CFLAGS "$DEFAULT_CFLAGS -march=$gcc_march -mabi=$gcc_mabi -O3" @@ -69,5 +70,7 @@ foreach op $AUTOVEC_TEST_OPTS { dg-runtest [lsort [glob -nocomplain $srcdir/$subdir/autovec/vls-vlmax/*.\[cS\]]] \ "-std=c99 -O3 -ftree-vectorize --param riscv-autovec-preference=fixed-vlmax" $CFLAGS +torture-finish + # All done. dg-finish -- 2.40.1