[cfe-dev] Handling of builtin_constant_p

陳韋任 via cfe-dev cfe-dev at lists.llvm.org
Fri Oct 27 04:12:21 PDT 2017


`grep -r "builtin_constant_p"` under tool/clang shows some hints. For
example, check VisitConditionalOperator if you want.

HTH,
chenwj

2017-10-27 11:22 GMT+08:00 Bharathi Seshadri via cfe-dev <
cfe-dev at lists.llvm.org>:

> Hi,
>
> I'm trying to understand where __builtin_constant_p is folded in the
> front-end. It appears to be handled differently when placed in an if
> condition or in a conditional expression.
>
> In the example below, I see that it is folded in
> CodeGenFunction::EmitBuiltinExpr() in CGBuiltin.cpp
> int x = __builtin_constant_p(100);
>
> But for cases like the ones below, it appears to be folded much
> earlier and it doesn't reach EmitBuiltinExpr().
>
> int x = __builtin_constant_p(100)? 10: 20;
>
> if (__builtin_constant_p(100)) { ... }
>
> Any pointers on what functions to look up for the above case would be
> very helpful.
>
> Thanks,
> Bharathi
> _______________________________________________
> cfe-dev mailing list
> cfe-dev at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev
>



-- 
Wei-Ren Chen (陳韋任)
Homepage: https://people.cs.nctu.edu.tw/~chenwj
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20171027/812a682f/attachment.html>


More information about the cfe-dev mailing list