[llvm] 246e83e - [GlobalISel] Remove buildSequence (NFC)
Kazu Hirata via llvm-commits
llvm-commits at lists.llvm.org
Mon Jun 13 06:58:42 PDT 2022
Author: Kazu Hirata
Date: 2022-06-13T06:58:36-07:00
New Revision: 246e83e9737b4f79d33598538b54b393b86e22d4
URL: https://github.com/llvm/llvm-project/commit/246e83e9737b4f79d33598538b54b393b86e22d4
DIFF: https://github.com/llvm/llvm-project/commit/246e83e9737b4f79d33598538b54b393b86e22d4.diff
LOG: [GlobalISel] Remove buildSequence (NFC)
The last use was removed on Jun 27, 2019 in commit
8138996128cd17d78d9d3e6ef7b49987565cb310.
Added:
Modified:
llvm/include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h
llvm/lib/CodeGen/GlobalISel/MachineIRBuilder.cpp
Removed:
################################################################################
diff --git a/llvm/include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h b/llvm/include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h
index 7fe9252824c73..16ba568c1be95 100644
--- a/llvm/include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h
+++ b/llvm/include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h
@@ -949,22 +949,6 @@ class MachineIRBuilder {
/// Build and insert \p Res = IMPLICIT_DEF.
MachineInstrBuilder buildUndef(const DstOp &Res);
- /// Build and insert instructions to put \p Ops together at the specified p
- /// Indices to form a larger register.
- ///
- /// If the types of the input registers are uniform and cover the entirity of
- /// \p Res then a G_MERGE_VALUES will be produced. Otherwise an IMPLICIT_DEF
- /// followed by a sequence of G_INSERT instructions.
- ///
- /// \pre setBasicBlock or setMI must have been called.
- /// \pre The final element of the sequence must not extend past the end of the
- /// destination register.
- /// \pre The bits defined by each Op (derived from index and scalar size) must
- /// not overlap.
- /// \pre \p Indices must be in ascending order of bit position.
- void buildSequence(Register Res, ArrayRef<Register> Ops,
- ArrayRef<uint64_t> Indices);
-
/// Build and insert \p Res = G_MERGE_VALUES \p Op0, ...
///
/// G_MERGE_VALUES combines the input elements contiguously into a larger
diff --git a/llvm/lib/CodeGen/GlobalISel/MachineIRBuilder.cpp b/llvm/lib/CodeGen/GlobalISel/MachineIRBuilder.cpp
index b2c5f310cd464..19ebf46191a90 100644
--- a/llvm/lib/CodeGen/GlobalISel/MachineIRBuilder.cpp
+++ b/llvm/lib/CodeGen/GlobalISel/MachineIRBuilder.cpp
@@ -566,47 +566,6 @@ MachineInstrBuilder MachineIRBuilder::buildExtract(const DstOp &Dst,
return Extract;
}
-void MachineIRBuilder::buildSequence(Register Res, ArrayRef<Register> Ops,
- ArrayRef<uint64_t> Indices) {
-#ifndef NDEBUG
- assert(Ops.size() == Indices.size() && "incompatible args");
- assert(!Ops.empty() && "invalid trivial sequence");
- assert(llvm::is_sorted(Indices) &&
- "sequence offsets must be in ascending order");
-
- assert(getMRI()->getType(Res).isValid() && "invalid operand type");
- for (auto Op : Ops)
- assert(getMRI()->getType(Op).isValid() && "invalid operand type");
-#endif
-
- LLT ResTy = getMRI()->getType(Res);
- LLT OpTy = getMRI()->getType(Ops[0]);
- unsigned OpSize = OpTy.getSizeInBits();
- bool MaybeMerge = true;
- for (unsigned i = 0; i < Ops.size(); ++i) {
- if (getMRI()->getType(Ops[i]) != OpTy || Indices[i] != i * OpSize) {
- MaybeMerge = false;
- break;
- }
- }
-
- if (MaybeMerge && Ops.size() * OpSize == ResTy.getSizeInBits()) {
- buildMerge(Res, Ops);
- return;
- }
-
- Register ResIn = getMRI()->createGenericVirtualRegister(ResTy);
- buildUndef(ResIn);
-
- for (unsigned i = 0; i < Ops.size(); ++i) {
- Register ResOut = i + 1 == Ops.size()
- ? Res
- : getMRI()->createGenericVirtualRegister(ResTy);
- buildInsert(ResOut, ResIn, Ops[i], Indices[i]);
- ResIn = ResOut;
- }
-}
-
MachineInstrBuilder MachineIRBuilder::buildUndef(const DstOp &Res) {
return buildInstr(TargetOpcode::G_IMPLICIT_DEF, {Res}, {});
}
More information about the llvm-commits
mailing list