This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH] Remove "keep_aligning" from get_inner_reference
- From: Eric Botcazou <ebotcazou at adacore dot com>
- To: Richard Biener <richard dot guenther at gmail dot com>
- Cc: gcc-patches at gcc dot gnu dot org, Bernd Edlinger <bernd dot edlinger at hotmail dot de>, Martin Jambor <mjambor at suse dot cz>, Jakub Jelinek <jakub at redhat dot com>
- Date: Wed, 27 Nov 2013 13:45:01 +0100
- Subject: Re: [PATCH] Remove "keep_aligning" from get_inner_reference
- Authentication-results: sourceware.org; auth=none
- References: <20130910193228 dot GE6732 at virgil dot suse> <16305464 dot d0TmrtbqLF at polaris> <CAFiYyc3oyhT7hhx+oK+CXjByzgDPs8F9FeACE1hxQsAHVMSvrA at mail dot gmail dot com>
> Ah, get_object_alignment used keep_aligning ...
Yes, the patch contains the rather explicit hunks:
Index: gcc/builtins.c
===================================================================
--- gcc/builtins.c (revision 204101)
+++ gcc/builtins.c (working copy)
@@ -315,7 +315,7 @@ get_object_alignment_2 (tree exp, unsigned int *al
/* Get the innermost object and the constant (bitpos) and possibly
variable (offset) offset of the access. */
exp = get_inner_reference (exp, &bitsize, &bitpos, &offset,
- &mode, &unsignedp, &volatilep, true);
+ &mode, &unsignedp, &volatilep);
/* Extract alignment information from the innermost object and
possibly adjust bitpos and offset. */
@@ -346,10 +346,6 @@ get_object_alignment_2 (tree exp, unsigned int *al
align = DECL_ALIGN (exp);
known_alignment = true;
}
- else if (TREE_CODE (exp) == VIEW_CONVERT_EXPR)
- {
- align = TYPE_ALIGN (TREE_TYPE (exp));
- }
else if (TREE_CODE (exp) == INDIRECT_REF
|| TREE_CODE (exp) == MEM_REF
|| TREE_CODE (exp) == TARGET_MEM_REF)
--
Eric Botcazou