[llvm] [GlobalIsel][NFC] Harden MachineIRBuilder (PR #75465)
via llvm-commits
llvm-commits at lists.llvm.org
Thu Dec 14 03:32:34 PST 2023
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-llvm-globalisel
Author: Thorsten Schütt (tschuett)
<details>
<summary>Changes</summary>
Protective measures against https://github.com/llvm/llvm-project/pull/74502
---
Full diff: https://github.com/llvm/llvm-project/pull/75465.diff
1 Files Affected:
- (modified) llvm/lib/CodeGen/GlobalISel/MachineIRBuilder.cpp (+8-2)
``````````diff
diff --git a/llvm/lib/CodeGen/GlobalISel/MachineIRBuilder.cpp b/llvm/lib/CodeGen/GlobalISel/MachineIRBuilder.cpp
index 80e9c08e850b68..1bb9a3c6161dd7 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);
``````````
</details>
https://github.com/llvm/llvm-project/pull/75465
More information about the llvm-commits
mailing list