This is the mail archive of the mailing list for the GCC project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: rfc NOP vs CONVERT (was: Simplifying Gimple Generation)


On Tue, 20 Nov 2012, Martin Jambor wrote:

> > +++ gcc/ipa-cp.c	2009-09-29 15:29:05.000000000 +0200
> > @@ -298,7 +298,7 @@ ipcp_lattice_from_jfunc (struct ipa_node
> >  	return;
> >        cst = caller_lat->constant;
> >  
> > -      if (jfunc->value.pass_through.operation != NOP_EXPR)
> > +      if (! CONVERT_EXPR_CODE_P (jfunc->value.pass_through.operation))
> >  	cst = fold_binary (jfunc->value.pass_through.operation,
> >  			   TREE_TYPE (cst), cst,
> >  			   jfunc->value.pass_through.operand);
> This will of course work but it is a bit strange, jump functions do
> not do any conversions, NOP_EXPR operation really means they do
> nothing to the value they pass.  Similarly in ipa-prop.c.

I see.  So you're using NOP_EXPR really just as marker tree code not with 
its usual semantics (which includes conversions).  My goal really was to 
totally get rid of any mention of NOP_EXPR starting with the middle end, 
with the next goal then being to exclusively use CONVERT_EXPR everywhere.

So, while looking strange, I think IPA could also work with that marker 
being CONVERT_EXPR ultimately.  Deserves a comment, though.  And hey, who 
knows, perhaps eventually the jump functions could also express value 
conversion :)


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]