On Mon, 17 Dec 2012, Jakub Jelinek wrote: > 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) > ...)) > ?
True ... > Also, the old code wouldn't let FUNCTION_DECL/LABEL_DECL through, you are > now letting those through, is that desirable? Yes, the oracle handles them just fine (by rejecting them). I'll adjust the patch. Richard.