[PATCH] D29369: [ubsan] Omit superflous overflow checks for promoted arithmetic (PR20193)
    Eli Friedman via Phabricator via cfe-commits 
    cfe-commits at lists.llvm.org
       
    Wed Feb  1 10:36:06 PST 2017
    
    
  
efriedma added inline comments.
================
Comment at: lib/CodeGen/CGExprScalar.cpp:72
+  if (const auto *UO = dyn_cast<UnaryOperator>(Op.E))
+    return IsPromotedInteger(UO->getSubExpr());
+
----------------
Checking isPromotableIntegerType doesn't work the way you want it to; types can be "promoted" without actually widening them.  For example, enum types are promotable, and in C++ wchar_t is promotable.
https://reviews.llvm.org/D29369
    
    
More information about the cfe-commits
mailing list