aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree.h
diff options
context:
space:
mode:
authorRichard Guenther <rguenther@suse.de>2010-09-06 13:26:13 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2010-09-06 13:26:13 +0000
commitbe1ac4ecae4317082e9a45c86f3b90e0e429e78f (patch)
treeae7fc5c26853d1f5d2558a8bfd07474392012be4 /gcc/tree.h
parent863a75787c5765257e516afa538dee2e22d6d0ad (diff)
downloadgcc-be1ac4ecae4317082e9a45c86f3b90e0e429e78f.zip
gcc-be1ac4ecae4317082e9a45c86f3b90e0e429e78f.tar.gz
gcc-be1ac4ecae4317082e9a45c86f3b90e0e429e78f.tar.bz2
tree.def (MISALIGNED_INDIRECT_REF): Remove.
2010-09-06 Richard Guenther <rguenther@suse.de> * tree.def (MISALIGNED_INDIRECT_REF): Remove. * tree.h (INDIRECT_REF_P): Only check for INDIRECT_REF. (build_aligned_type): Declare. * tree.c (check_qualified_type): Also compare TYPE_ALIGN. (check_aligned_type): New function. (build_aligned_type): Likewise. * expr.c (expand_assignment): Handle misaligned stores via TARGET_MEM_REF and MEM_REF using movmisalign_optab. (expand_expr_real_1): Likewise. (safe_from_p): Remove MISALIGNED_INDIRECT_REF handling. * tree-vect-stmts.c (vectorizable_store): Do not build MISALIGNED_INDIRECT_REF but initialize alignment information. (vectorizable_load): Likewise. * builtins.c (get_object_alignment): Remove MISALIGNED_INDIRECT_REF handling. * cfgexpand.c (expand_debug_expr): Likewise. * dwarf2out.c (loc_list_from_tree): Likewise. * fold-const.c (maybe_lvalue_p): Likewise. (operand_equal_p): Likewise. (build_fold_addr_expr_with_type_loc): Likewise. * gimplify.c (gimplify_addr_expr): Likewise. (gimplify_expr): Likewise. * tree-cfg.c (verify_types_in_gimple_min_lval): Likewise. (verify_gimple_assign_single): Likewise. * tree-dump.c (dequeue_and_dump): Likewise. (tree_could_trap_p): Likewise. * tree-predcom.c (ref_at_iteration): Likewise. * tree-pretty-print.c (dump_generic_node): Likewise. (op_code_prio): Likewise. (op_symbol_code): Likewise. * tree-ssa-ccp.c (get_value_from_alignment): Likewise. * tree-ssa-loop-im.c (for_each_index): Likewise. (gen_lsm_tmp_name): Likewise. * tree-ssa-loop-ivopts.c (idx_find_step): Likewise. (find_interesting_uses_address): Likewise. * tree-ssa-loop-prefetch.c (idx_analyze_ref): Likewise. * tree-ssa-operands.c (get_expr_operands): Likewise. * tree-ssa-pre.c (create_component_ref_by_pieces_1): Likewise. * tree-ssa-sccvn.c (copy_reference_ops_from_ref): Likewise. (ao_ref_init_from_vn_reference): Likewise. * tree.c (staticp): Likewise. (build1_stat): Likewise. (reference_alias_ptr_type): Likewise. * emit-rtl.c (set_mem_attributes_minus_bitpos): Likewise. * config/rs6000/rs6000.c (rs6000_check_sdmode): Remove MISALIGNED_INDIRECT_REF handling. From-SVN: r163915
Diffstat (limited to 'gcc/tree.h')
-rw-r--r--gcc/tree.h12
1 files changed, 7 insertions, 5 deletions
diff --git a/gcc/tree.h b/gcc/tree.h
index e667742..815ba9c 100644
--- a/gcc/tree.h
+++ b/gcc/tree.h
@@ -117,8 +117,7 @@ extern const enum tree_code_class tree_code_type[];
ascending code order. */
#define INDIRECT_REF_P(CODE)\
- (TREE_CODE (CODE) == INDIRECT_REF \
- || TREE_CODE (CODE) == MISALIGNED_INDIRECT_REF)
+ (TREE_CODE (CODE) == INDIRECT_REF)
/* Nonzero if CODE represents a reference. */
@@ -602,7 +601,7 @@ struct GTY(()) tree_common {
all types
TREE_THIS_NOTRAP in
- (ALIGN/MISALIGNED_)INDIRECT_REF, ARRAY_REF, ARRAY_RANGE_REF
+ INDIRECT_REF, ARRAY_REF, ARRAY_RANGE_REF
deprecated_flag:
@@ -1250,8 +1249,7 @@ extern void omp_clause_range_check_failed (const_tree, const char *, int,
/* Nonzero means this node will not trap. In an INDIRECT_REF, means
accessing the memory pointed to won't generate a trap. However,
this only applies to an object when used appropriately: it doesn't
- mean that writing a READONLY mem won't trap. Similarly for
- MISALIGNED_INDIRECT_REF.
+ mean that writing a READONLY mem won't trap.
In ARRAY_REF and ARRAY_RANGE_REF means that we know that the index
(or slice of the array) always belongs to the range of the array.
@@ -4306,6 +4304,10 @@ extern tree get_qualified_type (tree, int);
extern tree build_qualified_type (tree, int);
+/* Create a variant of type T with alignment ALIGN. */
+
+extern tree build_aligned_type (tree, unsigned int);
+
/* Like build_qualified_type, but only deals with the `const' and
`volatile' qualifiers. This interface is retained for backwards
compatibility with the various front-ends; new code should use