CarolineConcatto created this revision.
Herald added subscribers: cfe-commits, psnobl, tschuett.
Herald added a reviewer: efriedma.
Herald added a project: clang.
CarolineConcatto requested review of this revision.

The patch replaces comparison greater/lower or equal than by
TypeSize::isKnownXY, where XY is: GE, GT, LE, LT
in the place where getPrimitiveSizeInBits is being used inside Clang.
TypeSize::isKnowXY is flexible and allows to compares mixing fixed
 width and scalable vector types.

This patch excludes:

- comparison with constant as in:

clang/lib/CodeGen/TargetInfo.cpp:2333 and

- constant type size as in: clang/lib/CodeGen/CGExpr.cpp:2992.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D89312

Files:
  clang/lib/CodeGen/CGBuiltin.cpp


Index: clang/lib/CodeGen/CGBuiltin.cpp
===================================================================
--- clang/lib/CodeGen/CGBuiltin.cpp
+++ clang/lib/CodeGen/CGBuiltin.cpp
@@ -5599,8 +5599,8 @@
 
   Value *Result = CGF.EmitNeonCall(F, Ops, s);
   llvm::Type *ResultType = CGF.ConvertType(E->getType());
-  if (ResultType->getPrimitiveSizeInBits() <
-      Result->getType()->getPrimitiveSizeInBits())
+  if (TypeSize::isKnownLT(ResultType->getPrimitiveSizeInBits(),
+                          Result->getType()->getPrimitiveSizeInBits()))
     return CGF.Builder.CreateExtractElement(Result, C0);
 
   return CGF.Builder.CreateBitCast(Result, ResultType, s);


Index: clang/lib/CodeGen/CGBuiltin.cpp
===================================================================
--- clang/lib/CodeGen/CGBuiltin.cpp
+++ clang/lib/CodeGen/CGBuiltin.cpp
@@ -5599,8 +5599,8 @@
 
   Value *Result = CGF.EmitNeonCall(F, Ops, s);
   llvm::Type *ResultType = CGF.ConvertType(E->getType());
-  if (ResultType->getPrimitiveSizeInBits() <
-      Result->getType()->getPrimitiveSizeInBits())
+  if (TypeSize::isKnownLT(ResultType->getPrimitiveSizeInBits(),
+                          Result->getType()->getPrimitiveSizeInBits()))
     return CGF.Builder.CreateExtractElement(Result, C0);
 
   return CGF.Builder.CreateBitCast(Result, ResultType, s);
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to