[llvm] 26616c6 - [GlobalIsel][NFC] Harden MachineIRBuilder (#75465)

via llvm-commits llvm-commits at lists.llvm.org
Thu Dec 14 05:05:02 PST 2023


Author: Thorsten Schütt
Date: 2023-12-14T14:04:57+01:00
New Revision: 26616c62d1e4e379fd768a66292d92a7d61963f2

URL: https://github.com/llvm/llvm-project/commit/26616c62d1e4e379fd768a66292d92a7d61963f2
DIFF: https://github.com/llvm/llvm-project/commit/26616c62d1e4e379fd768a66292d92a7d61963f2.diff

LOG: [GlobalIsel][NFC] Harden MachineIRBuilder (#75465)

Protective measures against
https://github.com/llvm/llvm-project/pull/74502

Added: 
    

Modified: 
    llvm/lib/CodeGen/GlobalISel/MachineIRBuilder.cpp

Removed: 
    


################################################################################
diff  --git a/llvm/lib/CodeGen/GlobalISel/MachineIRBuilder.cpp b/llvm/lib/CodeGen/GlobalISel/MachineIRBuilder.cpp
index 6e1c0e907e8e41..a5827c26c04f48 100644
--- a/llvm/lib/CodeGen/GlobalISel/MachineIRBuilder.cpp
+++ b/llvm/lib/CodeGen/GlobalISel/MachineIRBuilder.cpp
@@ -314,7 +314,10 @@ MachineInstrBuilder MachineIRBuilder::buildConstant(const DstOp &Res,
   assert(EltTy.getScalarSizeInBits() == Val.getBitWidth() &&
          "creating constant with the wrong size");
 
-  if (Ty.isVector()) {
+  assert(!Ty.isScalableVector() &&
+         "unexpected scalable vector in buildConstant");
+
+  if (Ty.isFixedVector()) {
     auto Const = buildInstr(TargetOpcode::G_CONSTANT)
     .addDef(getMRI()->createGenericVirtualRegister(EltTy))
     .addCImm(&Val);
@@ -347,7 +350,10 @@ MachineInstrBuilder MachineIRBuilder::buildFConstant(const DstOp &Res,
 
   assert(!Ty.isPointer() && "invalid operand type");
 
-  if (Ty.isVector()) {
+  assert(!Ty.isScalableVector() &&
+         "unexpected scalable vector in buildFConstant");
+
+  if (Ty.isFixedVector()) {
     auto Const = buildInstr(TargetOpcode::G_FCONSTANT)
     .addDef(getMRI()->createGenericVirtualRegister(EltTy))
     .addFPImm(&Val);


        


More information about the llvm-commits mailing list