On Fri, Mar 15, 2013 at 3:51 AM, Richard Biener
<richard.guent...@gmail.com> wrote:
> On Thu, Mar 14, 2013 at 10:08 PM, Marc Glisse <marc.gli...@inria.fr> wrote:
>> On Thu, 14 Mar 2013, Jakub Jelinek wrote:
>>
>>> I wonder if it wouldn't be better to fold the target builtins only later
>>> on
>>> (e.g. guard the folding with cfun && gimple_in_ssa_p (cfun) (or if we have
>>> any predicate that is set starting with gimplification or so)).
>>> Having all the FEs have to deal with myriads of weird tree codes etc.
>>> isn't
>>> IMHO desirable.
>>
>>
>> Wouldn't that prevent from using those builtins in constant expressions?
>> That seems undesirable. Maybe an alternative could be to push some of the
>> functionality from potential_constant_expression_1 to the middle-end?
>
> True, but is that bad?
>
> If we want to delay such folding then please don't do it with a magic flag
> but instead do the folding only via fold_stmt - that is, add a new target hook
> that folds a gimple call.  I bet we have only a very limited set of target 
> call
> foldings, so transitioning them all to fold gimple calls would be easy.

upon reflection, I think we don't want to delay.  the C++ front-end
needs to know (while type checking) whether a certain operation
can be evaluated at compile time and possibly get the value of the
operation.

-- Gaby

Reply via email to