From dd79d394de1e40e40a64f6661b50043058c5a45e Mon Sep 17 00:00:00 2001 From: Zdenek Dvorak Date: Wed, 29 Mar 2006 03:34:51 +0200 Subject: [PATCH] re PR middle-end/26643 (Linux matroxfb_probe miscompiled) PR tree-optimization/26643 * tree-ssa-loop-ivopts.c (find_interesting_uses_address): Do not handle bit_field_refs. From-SVN: r112483 --- gcc/ChangeLog | 6 ++++++ gcc/tree-ssa-loop-ivopts.c | 5 +++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 2db7f6663ae2..c6646319fde0 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2006-03-28 Zdenek Dvorak + + PR tree-optimization/26643 + * tree-ssa-loop-ivopts.c (find_interesting_uses_address): Do not handle + bit_field_refs. + 2006-03-28 Kaz Kojima * config/sh/sh.md (udivsi3_i4_int): Clobber MACH_REG and MACL_REG. diff --git a/gcc/tree-ssa-loop-ivopts.c b/gcc/tree-ssa-loop-ivopts.c index 9e310416c349..517b812607fa 100644 --- a/gcc/tree-ssa-loop-ivopts.c +++ b/gcc/tree-ssa-loop-ivopts.c @@ -1482,8 +1482,9 @@ find_interesting_uses_address (struct ivopts_data *data, tree stmt, tree *op_p) /* Ignore bitfields for now. Not really something terribly complicated to handle. TODO. */ - if (TREE_CODE (base) == COMPONENT_REF - && DECL_NONADDRESSABLE_P (TREE_OPERAND (base, 1))) + if (TREE_CODE (base) == BIT_FIELD_REF + || (TREE_CODE (base) == COMPONENT_REF + && DECL_NONADDRESSABLE_P (TREE_OPERAND (base, 1)))) goto fail; if (STRICT_ALIGNMENT -- 2.47.2