aboutsummaryrefslogtreecommitdiff
path: root/gcc/builtins.c
diff options
context:
space:
mode:
authorRichard Guenther <rguenther@suse.de>2010-09-01 13:28:46 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2010-09-01 13:28:46 +0000
commit23a534a102ad0310ca6ccb35717bb54e102ffb3e (patch)
tree49f5344b822f529a83c1f7785cefc66b2fc375d8 /gcc/builtins.c
parentd8b08ecdf6138d3b3bd0c6b47b58d794b4bd5521 (diff)
downloadgcc-23a534a102ad0310ca6ccb35717bb54e102ffb3e.zip
gcc-23a534a102ad0310ca6ccb35717bb54e102ffb3e.tar.gz
gcc-23a534a102ad0310ca6ccb35717bb54e102ffb3e.tar.bz2
alias.c (ao_ref_from_mem): Adjust.
2010-09-01 Richard Guenther <rguenther@suse.de> * alias.c (ao_ref_from_mem): Adjust. * builtins.c (get_object_alignment): Likewise. * cfgexpand.c (expand_debug_expr): Likewise. * gimple.c (get_base_address): Likewise. * tree-dfa.c (get_ref_base_and_extent): Likewise. (get_addr_base_and_unit_offset): Likewise. Fix for both TMR_SYMBOL and TMR_BASE being set. * tree-eh.c (tree_could_trap_p): Likewise. * gimplify.c (gimplify_expr): Do not attempt to gimplify TMR_SYMBOL. Always gimplify TMR_BASE. * tree-cfg.c (verify_types_in_gimple_reference): Verify TMR_BASE if there is a TMR_SYMBOL. * tree-pretty-print.c (dump_generic_node): Adjust. * tree-ssa-address.c (addr_for_mem_ref): Likewise. (tree_mem_ref_addr): Likewise. (create_mem_ref_raw): Likewise. (move_fixed_address_to_symbol): Likewise. (create_mem_ref): Likewise. (dump_mem_address): Likewise. * tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Adjust. Fix for both TMR_SYMBOL and TMR_BASE being set. (indirect_refs_may_alias_p): Likewise. * tree-ssa-operands.c (get_tmr_operands): Adjust. * tree.def (TARGET_MEM_REF): Adjust documentation. From-SVN: r163733
Diffstat (limited to 'gcc/builtins.c')
-rw-r--r--gcc/builtins.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/gcc/builtins.c b/gcc/builtins.c
index 4b540d8..2cebb0e 100644
--- a/gcc/builtins.c
+++ b/gcc/builtins.c
@@ -369,7 +369,8 @@ get_object_alignment (tree exp, unsigned int max_align)
else if (TREE_CODE (exp) == TARGET_MEM_REF
&& TMR_SYMBOL (exp))
{
- align = get_object_alignment (TMR_SYMBOL (exp), max_align);
+ align = get_object_alignment (TREE_OPERAND (TMR_SYMBOL (exp), 0),
+ max_align);
if (TMR_OFFSET (exp))
bitpos += TREE_INT_CST_LOW (TMR_OFFSET (exp)) * BITS_PER_UNIT;
if (TMR_INDEX (exp) && TMR_STEP (exp))
@@ -379,6 +380,8 @@ get_object_alignment (tree exp, unsigned int max_align)
}
else if (TMR_INDEX (exp))
align = BITS_PER_UNIT;
+ if (TMR_BASE (exp))
+ align = BITS_PER_UNIT;
}
else
align = BITS_PER_UNIT;