re PR rtl-optimization/32372 (ICE in df_refs_verify, at df-scan.c:4065)
PR middle-end/32372 * cse.c (cse_insn): Avoid invalid sharing in between register note and the insn pattern. From-SVN: r126122
This commit is contained in:
parent
4e63b362a7
commit
acff804059
@ -1,3 +1,9 @@
|
|||||||
|
2007-06-29 Jan Hubicka <jh@suse.cz>
|
||||||
|
|
||||||
|
PR middle-end/32372
|
||||||
|
* cse.c (cse_insn): Avoid invalid sharing in between register note and
|
||||||
|
the insn pattern.
|
||||||
|
|
||||||
2007-06-29 Anatoly Sokolov <aesok@post.ru>
|
2007-06-29 Anatoly Sokolov <aesok@post.ru>
|
||||||
|
|
||||||
PR target/32335
|
PR target/32335
|
||||||
|
@ -4181,7 +4181,7 @@ cse_insn (rtx insn, rtx libcall_insn)
|
|||||||
canon_reg (XEXP (tem, 0), insn);
|
canon_reg (XEXP (tem, 0), insn);
|
||||||
apply_change_group ();
|
apply_change_group ();
|
||||||
src_eqv = fold_rtx (XEXP (tem, 0), insn);
|
src_eqv = fold_rtx (XEXP (tem, 0), insn);
|
||||||
XEXP (tem, 0) = src_eqv;
|
XEXP (tem, 0) = copy_rtx (src_eqv);
|
||||||
df_notes_rescan (insn);
|
df_notes_rescan (insn);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -7012,7 +7012,7 @@ struct tree_opt_pass pass_cse =
|
|||||||
0, /* properties_provided */
|
0, /* properties_provided */
|
||||||
0, /* properties_destroyed */
|
0, /* properties_destroyed */
|
||||||
0, /* todo_flags_start */
|
0, /* todo_flags_start */
|
||||||
TODO_df_finish |
|
TODO_df_finish | TODO_verify_rtl_sharing |
|
||||||
TODO_dump_func |
|
TODO_dump_func |
|
||||||
TODO_ggc_collect |
|
TODO_ggc_collect |
|
||||||
TODO_verify_flow, /* todo_flags_finish */
|
TODO_verify_flow, /* todo_flags_finish */
|
||||||
@ -7070,7 +7070,7 @@ struct tree_opt_pass pass_cse2 =
|
|||||||
0, /* properties_provided */
|
0, /* properties_provided */
|
||||||
0, /* properties_destroyed */
|
0, /* properties_destroyed */
|
||||||
0, /* todo_flags_start */
|
0, /* todo_flags_start */
|
||||||
TODO_df_finish |
|
TODO_df_finish | TODO_verify_rtl_sharing |
|
||||||
TODO_dump_func |
|
TODO_dump_func |
|
||||||
TODO_ggc_collect |
|
TODO_ggc_collect |
|
||||||
TODO_verify_flow, /* todo_flags_finish */
|
TODO_verify_flow, /* todo_flags_finish */
|
||||||
|
@ -1,3 +1,8 @@
|
|||||||
|
2007-06-29 Jan Hubicka <jh@suse.cz>
|
||||||
|
|
||||||
|
PR middle-end/32372
|
||||||
|
* gcc.c-torture/compile/pr32372.c: new.
|
||||||
|
|
||||||
2007-06-29 Daniel Franke <franke.daniel@gmail.com>
|
2007-06-29 Daniel Franke <franke.daniel@gmail.com>
|
||||||
|
|
||||||
* gfortran.dg/operator_3.f90: New test.
|
* gfortran.dg/operator_3.f90: New test.
|
||||||
|
21
gcc/testsuite/gcc.c-torture/compile/pr32372.c
Normal file
21
gcc/testsuite/gcc.c-torture/compile/pr32372.c
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
typedef struct AVCodecContext
|
||||||
|
{
|
||||||
|
int flags;
|
||||||
|
void *priv_data;
|
||||||
|
char codec_name[32];
|
||||||
|
}
|
||||||
|
AVCodecContext;
|
||||||
|
typedef struct ScanTable
|
||||||
|
{
|
||||||
|
int obmc;
|
||||||
|
int umvplus;
|
||||||
|
int h263_aic;
|
||||||
|
}
|
||||||
|
MpegEncContext;
|
||||||
|
MPV_encode_init (AVCodecContext *avctx)
|
||||||
|
{
|
||||||
|
MpegEncContext *s = avctx->priv_data;
|
||||||
|
s->umvplus = (avctx->flags & 0x02000000) ? 1 : 0;
|
||||||
|
s->h263_aic = (avctx->flags & 0x01000000) ? 1 : 0;
|
||||||
|
s->h263_aic = s->obmc || s->umvplus;
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user