diff options
author | Marc Glisse <marc.glisse@inria.fr> | 2013-04-03 14:54:50 +0200 |
---|---|---|
committer | Marc Glisse <glisse@gcc.gnu.org> | 2013-04-03 12:54:50 +0000 |
commit | 3fa352988912a70aeeea7e8cdd79466c287c18f1 (patch) | |
tree | 6b7c7c72bff2b1fe534b35aeca0f7784c1776826 /gcc | |
parent | 46e1f4bffb5f5127a2ed1332fb7580ccaf8306dc (diff) | |
download | gcc-3fa352988912a70aeeea7e8cdd79466c287c18f1.zip gcc-3fa352988912a70aeeea7e8cdd79466c287c18f1.tar.gz gcc-3fa352988912a70aeeea7e8cdd79466c287c18f1.tar.bz2 |
tree-flow-inline.h (get_addr_base_and_unit_offset_1): Handle BIT_FIELD_REF.
2013-04-03 Marc Glisse <marc.glisse@inria.fr>
* tree-flow-inline.h (get_addr_base_and_unit_offset_1): Handle
BIT_FIELD_REF.
From-SVN: r197409
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/tree-flow-inline.h | 8 |
2 files changed, 12 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index a9120a4..1acdadb 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2013-04-03 Marc Glisse <marc.glisse@inria.fr> + + * tree-flow-inline.h (get_addr_base_and_unit_offset_1): Handle + BIT_FIELD_REF. + 2013-04-03 Ulrich Weigand <Ulrich.Weigand@de.ibm.com> * config/spu/spu.c (emit_nop_for_insn): Handle JUMP_TABLE_DATA. diff --git a/gcc/tree-flow-inline.h b/gcc/tree-flow-inline.h index e3a70bf..d5b2185 100644 --- a/gcc/tree-flow-inline.h +++ b/gcc/tree-flow-inline.h @@ -1246,7 +1246,13 @@ get_addr_base_and_unit_offset_1 (tree exp, HOST_WIDE_INT *poffset, switch (TREE_CODE (exp)) { case BIT_FIELD_REF: - return NULL_TREE; + { + HOST_WIDE_INT this_off = TREE_INT_CST_LOW (TREE_OPERAND (exp, 2)); + if (this_off % BITS_PER_UNIT) + return NULL_TREE; + byte_offset += this_off / BITS_PER_UNIT; + } + break; case COMPONENT_REF: { |