[PATCH] Fix PR54781
Jakub Jelinek
jakub@redhat.com
Mon Dec 17 12:58:00 GMT 2012
On Mon, Dec 17, 2012 at 01:45:54PM +0100, Richard Biener wrote:
> --- 283,302 ----
> if (base == NULL_TREE)
> return false;
>
> ! /* The tree oracle doesn't like bases that are neither decls
> ! nor indirect references of SSA names. */
> ! if (!DECL_P (base)
> ! && (TREE_CODE (base) != MEM_REF
> ! || TREE_CODE (TREE_OPERAND (base, 0)) != SSA_NAME)
> ! && (TREE_CODE (base) != TARGET_MEM_REF
> ! || TREE_CODE (TMR_BASE (base)) != SSA_NAME))
> return false;
Wouldn't it be far more readable if you used ! around the whole condition?
I.e.
if (!(DECL_P (base)
|| (TREE_CODE (base) == MEM_REF
&& TREE_CODE (TREE_OPERAND (base, 0)) == SSA_NAME)
...))
?
Also, the old code wouldn't let FUNCTION_DECL/LABEL_DECL through, you are
now letting those through, is that desirable?
Jakub
More information about the Gcc-patches
mailing list