This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug rtl-optimization/51447] [4.6/4.7/4.8 Regression] global register variable definition incorrectly removed as dead code
- From: "steven at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Mon, 12 Nov 2012 20:22:05 +0000
- Subject: [Bug rtl-optimization/51447] [4.6/4.7/4.8 Regression] global register variable definition incorrectly removed as dead code
- Auto-submitted: auto-generated
- References: <bug-51447-4@http.gcc.gnu.org/bugzilla/>
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51447
--- Comment #14 from Steven Bosscher <steven at gcc dot gnu.org> 2012-11-12 20:22:05 UTC ---
Author: steven
Date: Mon Nov 12 20:21:59 2012
New Revision: 193453
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=193453
Log:
gcc/
PR rtl-optimization/51447
* df-scan.c (df_get_entry_block_def_set): Add global regs to the set.
* df-problems.c (df_lr_local_compute): Make global regs always live.
* dce.c (deletable_insn_p): Make insns setting a global reg
inherently necessary.
testsuite/
PR rtl-optimization/51447
* gcc.c-torture/execute/pr51447.c: New test.
Added:
trunk/gcc/testsuite/gcc.c-torture/execute/pr51447.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/dce.c
trunk/gcc/df-problems.c
trunk/gcc/df-scan.c
trunk/gcc/testsuite/ChangeLog