void added a comment.

In D54355#1326494 <https://reviews.llvm.org/D54355#1326494>, @craig.topper 
wrote:

> I'm seeing a case where an inline assembly 'n' constraint is behaving 
> differently in -O0 now. Previously we would evaluate the __builtin_constant_p 
> as part of the EvaluateAsInt call in CodeGenFunction::EmitAsmInput, but I 
> think we're not doing that now. This causes us to fail later because the 
> constraint wasn't satisfied since we were in -O0 and thus we didn't optimize 
> the rest of the expression. The test case we have is a nasty mix of 
> __builtin_constant_p, __builtin_choose_expr, and __builtin_classify_type. I 
> can see about sharing it if needed.


`__builtin_constant_p()` is known to have different semantics at `-O0` than it 
does during optimizations. That said, we shouldn't be intentionally generating 
incorrect code. Could you test it against gcc to see if it has the same 
semantics? Otherwise, please add a testcase. :-)


Repository:
  rC Clang

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D54355/new/

https://reviews.llvm.org/D54355



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to