================
@@ -2336,16 +2336,9 @@ bool Type::isArithmeticType() const {
 }
 
 bool Type::hasBooleanRepresentation() const {
-  if (isBooleanType())
-    return true;
-
-  if (const EnumType *ET = getAs<EnumType>())
-    return ET->getDecl()->getIntegerType()->isBooleanType();
-
-  if (const AtomicType *AT = getAs<AtomicType>())
-    return AT->getValueType()->hasBooleanRepresentation();
-
-  return false;
+  if (const auto *VT = dyn_cast<VectorType>(CanonicalType))
----------------
andykaylor wrote:

@AaronBallman In case you haven't dug into the background, I move this function 
here from CGExpr.cpp (where it was a static function) with the goal of sharing 
the implementation between the LLVM IR codegen and the ClangIR codegen. It's 
used a couple of different ways there (and the CIR uses will be equivalent), 
but I think "will this end up as an i1" is a fair summary.

I just moved the function without changing it in any other way. However, that 
created the potential problem that it might not have been doing what people 
familiar with the other has*Representation functions would expect, so the 
question of consistency, or at least congruency, comes into play for people who 
weren't already using the function.

https://github.com/llvm/llvm-project/pull/136038
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to