* [Bug rtl-optimization/99421] ICE:in code_motion_process_successors, at sel-sched.c:6389 on aarch64
2021-03-05 20:31 [Bug rtl-optimization/99421] New: ICE:in code_motion_process_successors, at sel-sched.c:6389 on aarch64 qinzhao at gcc dot gnu.org
@ 2021-03-06 8:30 ` marxin at gcc dot gnu.org
2021-03-06 16:33 ` qinzhao at gcc dot gnu.org
` (8 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: marxin at gcc dot gnu.org @ 2021-03-06 8:30 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99421
Martin Liška <marxin at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |WAITING
Ever confirmed|0 |1
CC| |marxin at gcc dot gnu.org
Last reconfirmed| |2021-03-06
--- Comment #1 from Martin Liška <marxin at gcc dot gnu.org> ---
Please provide the mentioned tarball and what compiler options are used for the
SPEC run?
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug rtl-optimization/99421] ICE:in code_motion_process_successors, at sel-sched.c:6389 on aarch64
2021-03-05 20:31 [Bug rtl-optimization/99421] New: ICE:in code_motion_process_successors, at sel-sched.c:6389 on aarch64 qinzhao at gcc dot gnu.org
2021-03-06 8:30 ` [Bug rtl-optimization/99421] " marxin at gcc dot gnu.org
@ 2021-03-06 16:33 ` qinzhao at gcc dot gnu.org
2021-03-08 8:16 ` marxin at gcc dot gnu.org
` (7 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: qinzhao at gcc dot gnu.org @ 2021-03-06 16:33 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99421
--- Comment #2 from qinzhao at gcc dot gnu.org ---
Created attachment 50318
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=50318&action=edit
tar ball to repeat the failure
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug rtl-optimization/99421] ICE:in code_motion_process_successors, at sel-sched.c:6389 on aarch64
2021-03-05 20:31 [Bug rtl-optimization/99421] New: ICE:in code_motion_process_successors, at sel-sched.c:6389 on aarch64 qinzhao at gcc dot gnu.org
2021-03-06 8:30 ` [Bug rtl-optimization/99421] " marxin at gcc dot gnu.org
2021-03-06 16:33 ` qinzhao at gcc dot gnu.org
@ 2021-03-08 8:16 ` marxin at gcc dot gnu.org
2021-03-08 8:16 ` marxin at gcc dot gnu.org
` (6 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: marxin at gcc dot gnu.org @ 2021-03-08 8:16 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99421
--- Comment #3 from Martin Liška <marxin at gcc dot gnu.org> ---
Confirmed, reduced test-case:
$ cat predict.ii
typedef struct {
int *use
} ssa_use_operand_t;
enum { GIMPLE_PHI, GIMPLE_UNARY_RHS, GIMPLE_SINGLE_RHS } gimple_num_ops;
gimple_call_fndecl_addr_0_0, gimple_call_num_args, gimple_phi_num_args,
gimple_phi_arg_imm_use_ptr_gs_0_0, expr_expected_value_1___trans_tmp_13,
expr_expected_value_1___trans_tmp_11, expr_expected_value_1_def_0_0,
expr_expected_value_1_new_val, expr_expected_value_1_val_0_1,
expr_expected_value_1_code, expr_expected_value_1_op1,
expr_expected_value_1___trans_tmp_4, expr_expected_value_1___trans_tmp_2,
expr_expected_value_1_decl_0_0, expr_expected_value_1_val;
*expr_expected_value_1_op0;
get_gimple_rhs_class() {}
gimple_call_fndecl() {
addr();
if (gimple_call_fndecl_addr_0_0)
return addr;
return 0;
}
bb_estimate_probability_locally_bb() {
# 2 "predict.c"
}
static *expr_expected_value_1() {
if (get_gimple_rhs_class == GIMPLE_SINGLE_RHS) {
if (expr_expected_value_1_op0)
return expr_expected_value_1_op0;
if (expr_expected_value_1_code)
return 0;
if (bitmap_bit_p())
return 0;
bitmap_set_bit();
if (expr_expected_value_1_def_0_0) {
int n = gimple_phi_num_args, val;
for (; n;) {
gimple_phi_arg_imm_use_ptr_gs_0_0 ? fancy_abort() : 0;
ssa_use_operand_t *use;
if (use->use == 0)
continue;
expr_expected_value_1();
if (expr_expected_value_1_new_val)
return 0;
if (!val)
;
else if (operand_equal_p())
return 0;
}
return expr_expected_value_1_new_val;
}
if (expr_expected_value_1___trans_tmp_11) {
if (gimple_op())
return 0;
gimple_op();
gimple_assign_rhs1();
gimple_assign_rhs_code();
if (gimple_num_ops)
gimple_op();
return expr_expected_value_1();
}
if (expr_expected_value_1___trans_tmp_13) {
int decl = gimple_call_fndecl();
if (!decl)
return 0;
if (expr_expected_value_1_decl_0_0) {
if (gimple_call_num_args)
return 0;
gimple_call_arg();
if (expr_expected_value_1_val_0_1)
return &expr_expected_value_1_val;
return gimple_call_arg();
}
}
return 0;
}
if (get_gimple_rhs_class()) {
int *res;
expr_expected_value_1();
if (expr_expected_value_1_op0)
return 0;
expr_expected_value_1();
if (expr_expected_value_1_op1)
return 0;
fold_build2_stat_loc();
if (expr_expected_value_1___trans_tmp_2)
return res;
return 0;
}
if (get_gimple_rhs_class == GIMPLE_UNARY_RHS) {
int *res;
expr_expected_value_1();
if (expr_expected_value_1_op0)
return 0;
fold_build1_stat_loc();
if (expr_expected_value_1___trans_tmp_4)
return res;
return 0;
}
return 0;
}
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug rtl-optimization/99421] ICE:in code_motion_process_successors, at sel-sched.c:6389 on aarch64
2021-03-05 20:31 [Bug rtl-optimization/99421] New: ICE:in code_motion_process_successors, at sel-sched.c:6389 on aarch64 qinzhao at gcc dot gnu.org
` (2 preceding siblings ...)
2021-03-08 8:16 ` marxin at gcc dot gnu.org
@ 2021-03-08 8:16 ` marxin at gcc dot gnu.org
2021-03-08 15:39 ` qinzhao at gcc dot gnu.org
` (5 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: marxin at gcc dot gnu.org @ 2021-03-08 8:16 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99421
Martin Liška <marxin at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Blocks| |85099
Status|WAITING |NEW
Referenced Bugs:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85099
[Bug 85099] [meta-bug] selective scheduling issues
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug rtl-optimization/99421] ICE:in code_motion_process_successors, at sel-sched.c:6389 on aarch64
2021-03-05 20:31 [Bug rtl-optimization/99421] New: ICE:in code_motion_process_successors, at sel-sched.c:6389 on aarch64 qinzhao at gcc dot gnu.org
` (3 preceding siblings ...)
2021-03-08 8:16 ` marxin at gcc dot gnu.org
@ 2021-03-08 15:39 ` qinzhao at gcc dot gnu.org
2021-03-08 17:58 ` marxin at gcc dot gnu.org
` (4 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: qinzhao at gcc dot gnu.org @ 2021-03-08 15:39 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99421
--- Comment #4 from qinzhao at gcc dot gnu.org ---
(In reply to Martin Liška from comment #3)
> Confirmed, reduced test-case:
>
just curious, how did you reduce the testing case with -fprofile-use? (I tried
Creduce, but failed)
another question, how to repeat the failure with this reduced testing case?
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug rtl-optimization/99421] ICE:in code_motion_process_successors, at sel-sched.c:6389 on aarch64
2021-03-05 20:31 [Bug rtl-optimization/99421] New: ICE:in code_motion_process_successors, at sel-sched.c:6389 on aarch64 qinzhao at gcc dot gnu.org
` (4 preceding siblings ...)
2021-03-08 15:39 ` qinzhao at gcc dot gnu.org
@ 2021-03-08 17:58 ` marxin at gcc dot gnu.org
2021-03-09 9:49 ` marxin at gcc dot gnu.org
` (3 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: marxin at gcc dot gnu.org @ 2021-03-08 17:58 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99421
--- Comment #5 from Martin Liška <marxin at gcc dot gnu.org> ---
(In reply to qinzhao from comment #4)
> (In reply to Martin Liška from comment #3)
> > Confirmed, reduced test-case:
> >
> just curious, how did you reduce the testing case with -fprofile-use? (I
Sure. I used C-Vise:
https://github.com/marxin/cvise
with a built cross compiler:
cvise -c 'cp ~/Programming/gcc2/objdir/gcc/predict.gcda . &&
/home/marxin/Programming/gcc2/objdir/gcc/xgcc -B
/home/marxin/Programming/gcc2/objdir/gcc/ -fprofile-use -fselective-scheduling
-fselective-scheduling2 -fsel-sched-pipelining -g -O3 -fno-strict-aliasing -c
predict.i 2>&1 | grep code_motion_process_successors' predict.i
> tried Creduce, but failed)
> another question, how to repeat the failure with this reduced testing case?
Note that one can theoretically reduce also the .gcda file. I have an
experimental pass for it in C-Vise and I will likely upstream it.
Does it explain all your questions?
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug rtl-optimization/99421] ICE:in code_motion_process_successors, at sel-sched.c:6389 on aarch64
2021-03-05 20:31 [Bug rtl-optimization/99421] New: ICE:in code_motion_process_successors, at sel-sched.c:6389 on aarch64 qinzhao at gcc dot gnu.org
` (5 preceding siblings ...)
2021-03-08 17:58 ` marxin at gcc dot gnu.org
@ 2021-03-09 9:49 ` marxin at gcc dot gnu.org
2021-03-09 9:50 ` marxin at gcc dot gnu.org
` (2 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: marxin at gcc dot gnu.org @ 2021-03-09 9:49 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99421
--- Comment #6 from Martin Liška <marxin at gcc dot gnu.org> ---
> Note that one can theoretically reduce also the .gcda file. I have an
> experimental pass for it in C-Vise and I will likely upstream it.
I've just added that here:
https://github.com/marxin/cvise/commit/ee714eeaa18f617d288dfee676d3f911a8edc2c8
with the commit, one can reduce the GCDA file:
$ ./cvise.py -n1 --pass-group=binary -c 'cp
~/Programming/gcc2/objdir/gcc/predict.i . &&
/home/marxin/Programming/gcc2/objdir/gcc/xgcc -B
/home/marxin/Programming/gcc2/objdir/gcc/ -fprofile-use -fselective-scheduling
-fselective-scheduling2 -fsel-sched-pipelining -g -O3 -fno-strict-aliasing -c
predict.i 2>&1 | grep code_motion_process_successors' predict.gcda
...
00:00:00 INFO running 1 interestingness test in parallel
00:00:00 INFO INITIAL PASSES
00:00:00 INFO ===< GCDABinaryPass::None >===
00:00:00 INFO (30.0%, 8148 bytes)
00:00:01 INFO (63.9%, 4200 bytes)
00:00:01 INFO (71.0%, 3372 bytes)
00:00:02 INFO (89.8%, 1184 bytes)
00:00:02 INFO (92.2%, 904 bytes)
00:00:03 INFO (92.9%, 828 bytes)
00:00:03 INFO (96.1%, 448 bytes)
00:00:03 INFO MAIN PASSES
00:00:03 INFO Termination check: size was 448; now 448
00:00:03 INFO CLEANUP PASSES
00:00:03 INFO ===================== done ====================
===< PASS statistics >===
pass name time (s) time (%)
worked failed total executed
GCDABinaryPass::None 3.36 92.65
7 12 20
Runtime: 4 seconds
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug rtl-optimization/99421] ICE:in code_motion_process_successors, at sel-sched.c:6389 on aarch64
2021-03-05 20:31 [Bug rtl-optimization/99421] New: ICE:in code_motion_process_successors, at sel-sched.c:6389 on aarch64 qinzhao at gcc dot gnu.org
` (6 preceding siblings ...)
2021-03-09 9:49 ` marxin at gcc dot gnu.org
@ 2021-03-09 9:50 ` marxin at gcc dot gnu.org
2021-03-09 16:39 ` qing.zhao at oracle dot com
2021-03-09 17:12 ` marxin at gcc dot gnu.org
9 siblings, 0 replies; 11+ messages in thread
From: marxin at gcc dot gnu.org @ 2021-03-09 9:50 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99421
--- Comment #7 from Martin Liška <marxin at gcc dot gnu.org> ---
Created attachment 50336
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=50336&action=edit
Reduced gcda file
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug rtl-optimization/99421] ICE:in code_motion_process_successors, at sel-sched.c:6389 on aarch64
2021-03-05 20:31 [Bug rtl-optimization/99421] New: ICE:in code_motion_process_successors, at sel-sched.c:6389 on aarch64 qinzhao at gcc dot gnu.org
` (7 preceding siblings ...)
2021-03-09 9:50 ` marxin at gcc dot gnu.org
@ 2021-03-09 16:39 ` qing.zhao at oracle dot com
2021-03-09 17:12 ` marxin at gcc dot gnu.org
9 siblings, 0 replies; 11+ messages in thread
From: qing.zhao at oracle dot com @ 2021-03-09 16:39 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99421
--- Comment #8 from Qing Zhao <qing.zhao at oracle dot com> ---
> On Mar 8, 2021, at 11:58 AM, marxin at gcc dot gnu.org <gcc-bugzilla@gcc.gnu.org> wrote:
>
> Sure. I used C-Vise:
> https://github.com/marxin/cvise
>From my understanding, cvise is similar as creduce, but faster.
So, I am still wondering why creduce cannot reduce testing cases when using
profiling feedback due to
Profiling mismatch? But cvise can do this? Does Cvise reduce source code and
.gcda file at the same
time?
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug rtl-optimization/99421] ICE:in code_motion_process_successors, at sel-sched.c:6389 on aarch64
2021-03-05 20:31 [Bug rtl-optimization/99421] New: ICE:in code_motion_process_successors, at sel-sched.c:6389 on aarch64 qinzhao at gcc dot gnu.org
` (8 preceding siblings ...)
2021-03-09 16:39 ` qing.zhao at oracle dot com
@ 2021-03-09 17:12 ` marxin at gcc dot gnu.org
9 siblings, 0 replies; 11+ messages in thread
From: marxin at gcc dot gnu.org @ 2021-03-09 17:12 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99421
--- Comment #9 from Martin Liška <marxin at gcc dot gnu.org> ---
(In reply to Qing Zhao from comment #8)
> > On Mar 8, 2021, at 11:58 AM, marxin at gcc dot gnu.org <gcc-bugzilla@gcc.gnu.org> wrote:
> >
> > Sure. I used C-Vise:
> > https://github.com/marxin/cvise
>
> From my understanding, cvise is similar as creduce, but faster.
Exactly.
> So, I am still wondering why creduce cannot reduce testing cases when using
> profiling feedback due to
> Profiling mismatch?
Show me your interestingness test and error message you see and I can guess.
I guess you miss copying of .gcda file into a working directory where each
reduction attempt happens.
> But cvise can do this? Does Cvise reduce source code and
> .gcda file at the same
> time?
No, it's a separate reduction.
^ permalink raw reply [flat|nested] 11+ messages in thread