[Bug middle-end/38428] [4.4 Regression] ice for Linux kernel code with -O2
--- Comment #6 from jakub at gcc dot gnu dot org 2008-12-06 21:17 --- Fixed. -- jakub at gcc dot gnu dot org changed: What|Removed |Added Status|NEW |RESOLVED Resolution||FIXED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38428
[Bug middle-end/38428] [4.4 Regression] ice for Linux kernel code with -O2
--- Comment #5 from jakub at gcc dot gnu dot org 2008-12-06 21:08 --- Subject: Bug 38428 Author: jakub Date: Sat Dec 6 21:06:43 2008 New Revision: 142527 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=142527 Log: PR middle-end/38428 * tree-ssa-operands.c (get_expr_operands) : Set gimple_set_has_volatile_ops if the BIT_FIELD_REF is volatile. * gcc.c-torture/compile/pr38428.c: New test. Added: trunk/gcc/testsuite/gcc.c-torture/compile/pr38428.c Modified: trunk/gcc/ChangeLog trunk/gcc/testsuite/ChangeLog trunk/gcc/tree-ssa-operands.c -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38428
[Bug middle-end/38428] [4.4 Regression] ice for Linux kernel code with -O2
--- Comment #4 from jakub at gcc dot gnu dot org 2008-12-06 13:06 --- Apparently caused by my PR37248 patch. We have a volatile bitfield, and the patch (similarly to 4.3) creates a TREE_THIS_VOLATILE TREE_SIDE_EFFECTS BIT_FIELD_REF, but apparently the trunk is upset about it. Either we just don't try to optimize volatile bitfields at all (don't create BIT_FIELD_REFs for them), or some changes are needed to handle volatile BIT_FIELD_REFs. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38428
[Bug middle-end/38428] [4.4 Regression] ice for Linux kernel code with -O2
--- Comment #3 from rguenth at gcc dot gnu dot org 2008-12-06 13:05 --- typedef unsigned int __u32; typedef __u32 uint32_t; typedef struct { volatile struct { uint32_t online : 1; } flags; } scsi_qla_host_t; int qla2x00_wait_for_hba_online(scsi_qla_host_t *ha) { int return_status; scsi_qla_host_t *pha = to_qla_parent(ha); if (pha->flags.online) return_status = (0x4000 & 0x3fff); else return_status = 0x102; return (return_status); } -- rguenth at gcc dot gnu dot org changed: What|Removed |Added Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 Last reconfirmed|-00-00 00:00:00 |2008-12-06 13:05:03 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38428
[Bug middle-end/38428] [4.4 Regression] ice for Linux kernel code with -O2
-- rguenth at gcc dot gnu dot org changed: What|Removed |Added Component|c |middle-end Keywords||ice-on-valid-code Known to work||4.3.2 Summary|ice for Linux kernel code |[4.4 Regression] ice for |with -O2|Linux kernel code with -O2 Target Milestone|--- |4.4.0 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38428