[llvm] [IRBuilder] Remove FPMathTag and OpBundles constructor arguments (PR #228013)
via llvm-commits
llvm-commits at lists.llvm.org
Thu Oct 1 02:48:36 PDT 2026
llvmorg-github-actions[bot] wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-llvm-ir
Author: Nikita Popov (nikic)
<details>
<summary>Changes</summary>
Remove the FPMathTag and OpBundles IRBuilder constructor arguments, which are never used in tree. The setDefaultFPMathTag() and setDefaultOperandBundles() APIs can be used instead.
---
Full diff: https://github.com/llvm/llvm-project/pull/228013.diff
1 Files Affected:
- (modified) llvm/include/llvm/IR/IRBuilder.h (+31-55)
``````````diff
diff --git a/llvm/include/llvm/IR/IRBuilder.h b/llvm/include/llvm/IR/IRBuilder.h
index 359d491adeebd..aba9e8faa919d 100644
--- a/llvm/include/llvm/IR/IRBuilder.h
+++ b/llvm/include/llvm/IR/IRBuilder.h
@@ -123,7 +123,7 @@ class IRBuilderBase {
const IRBuilderFolder &Folder;
const IRBuilderDefaultInserter &Inserter;
- MDNode *DefaultFPMathTag;
+ MDNode *DefaultFPMathTag = nullptr;
FastMathFlags FMF;
bool IsFPConstrained = false;
@@ -134,10 +134,8 @@ class IRBuilderBase {
public:
IRBuilderBase(LLVMContext &context, const IRBuilderFolder &Folder,
- const IRBuilderDefaultInserter &Inserter, MDNode *FPMathTag,
- ArrayRef<OperandBundleDef> OpBundles)
- : Context(context), Folder(Folder), Inserter(Inserter),
- DefaultFPMathTag(FPMathTag), DefaultOperandBundles(OpBundles) {
+ const IRBuilderDefaultInserter &Inserter)
+ : Context(context), Folder(Folder), Inserter(Inserter) {
ClearInsertionPoint();
}
@@ -2925,58 +2923,40 @@ class IRBuilder : public IRBuilderBase {
InserterTy Inserter;
public:
- IRBuilder(LLVMContext &C, FolderTy Folder, InserterTy Inserter,
- MDNode *FPMathTag = nullptr,
- ArrayRef<OperandBundleDef> OpBundles = {})
- : IRBuilderBase(C, this->Folder, this->Inserter, FPMathTag, OpBundles),
- Folder(Folder), Inserter(Inserter) {}
-
- IRBuilder(LLVMContext &C, FolderTy Folder, MDNode *FPMathTag = nullptr,
- ArrayRef<OperandBundleDef> OpBundles = {})
- : IRBuilderBase(C, this->Folder, this->Inserter, FPMathTag, OpBundles),
- Folder(Folder) {}
-
- explicit IRBuilder(LLVMContext &C, MDNode *FPMathTag = nullptr,
- ArrayRef<OperandBundleDef> OpBundles = {})
- : IRBuilderBase(C, this->Folder, this->Inserter, FPMathTag, OpBundles) {}
-
- explicit IRBuilder(BasicBlock *TheBB, FolderTy Folder,
- MDNode *FPMathTag = nullptr,
- ArrayRef<OperandBundleDef> OpBundles = {})
- : IRBuilderBase(TheBB->getContext(), this->Folder, this->Inserter,
- FPMathTag, OpBundles),
+ IRBuilder(LLVMContext &C, FolderTy Folder, InserterTy Inserter)
+ : IRBuilderBase(C, this->Folder, this->Inserter), Folder(Folder),
+ Inserter(Inserter) {}
+
+ IRBuilder(LLVMContext &C, FolderTy Folder)
+ : IRBuilderBase(C, this->Folder, this->Inserter), Folder(Folder) {}
+
+ explicit IRBuilder(LLVMContext &C)
+ : IRBuilderBase(C, this->Folder, this->Inserter) {}
+
+ explicit IRBuilder(BasicBlock *TheBB, FolderTy Folder)
+ : IRBuilderBase(TheBB->getContext(), this->Folder, this->Inserter),
Folder(Folder) {
SetInsertPoint(TheBB);
}
- explicit IRBuilder(BasicBlock *TheBB, MDNode *FPMathTag = nullptr,
- ArrayRef<OperandBundleDef> OpBundles = {})
- : IRBuilderBase(TheBB->getContext(), this->Folder, this->Inserter,
- FPMathTag, OpBundles) {
+ explicit IRBuilder(BasicBlock *TheBB)
+ : IRBuilderBase(TheBB->getContext(), this->Folder, this->Inserter) {
SetInsertPoint(TheBB);
}
- explicit IRBuilder(Instruction *IP, MDNode *FPMathTag = nullptr,
- ArrayRef<OperandBundleDef> OpBundles = {})
- : IRBuilderBase(IP->getContext(), this->Folder, this->Inserter, FPMathTag,
- OpBundles) {
+ explicit IRBuilder(Instruction *IP)
+ : IRBuilderBase(IP->getContext(), this->Folder, this->Inserter) {
SetInsertPoint(IP);
}
- IRBuilder(BasicBlock *TheBB, BasicBlock::iterator IP, FolderTy Folder,
- MDNode *FPMathTag = nullptr,
- ArrayRef<OperandBundleDef> OpBundles = {})
- : IRBuilderBase(TheBB->getContext(), this->Folder, this->Inserter,
- FPMathTag, OpBundles),
+ IRBuilder(BasicBlock *TheBB, BasicBlock::iterator IP, FolderTy Folder)
+ : IRBuilderBase(TheBB->getContext(), this->Folder, this->Inserter),
Folder(Folder) {
SetInsertPoint(TheBB, IP);
}
- IRBuilder(BasicBlock *TheBB, BasicBlock::iterator IP,
- MDNode *FPMathTag = nullptr,
- ArrayRef<OperandBundleDef> OpBundles = {})
- : IRBuilderBase(TheBB->getContext(), this->Folder, this->Inserter,
- FPMathTag, OpBundles) {
+ IRBuilder(BasicBlock *TheBB, BasicBlock::iterator IP)
+ : IRBuilderBase(TheBB->getContext(), this->Folder, this->Inserter) {
SetInsertPoint(TheBB, IP);
}
@@ -2989,20 +2969,16 @@ class IRBuilder : public IRBuilderBase {
};
template <typename FolderTy, typename InserterTy>
-IRBuilder(LLVMContext &, FolderTy, InserterTy, MDNode *,
- ArrayRef<OperandBundleDef>) -> IRBuilder<FolderTy, InserterTy>;
-IRBuilder(LLVMContext &, MDNode *, ArrayRef<OperandBundleDef>) -> IRBuilder<>;
+IRBuilder(LLVMContext &, FolderTy, InserterTy)
+ -> IRBuilder<FolderTy, InserterTy>;
+IRBuilder(LLVMContext &) -> IRBuilder<>;
template <typename FolderTy>
-IRBuilder(BasicBlock *, FolderTy, MDNode *, ArrayRef<OperandBundleDef>)
- -> IRBuilder<FolderTy>;
-IRBuilder(BasicBlock *, MDNode *, ArrayRef<OperandBundleDef>) -> IRBuilder<>;
-IRBuilder(Instruction *, MDNode *, ArrayRef<OperandBundleDef>) -> IRBuilder<>;
+IRBuilder(BasicBlock *, FolderTy) -> IRBuilder<FolderTy>;
+IRBuilder(BasicBlock *) -> IRBuilder<>;
+IRBuilder(Instruction *) -> IRBuilder<>;
template <typename FolderTy>
-IRBuilder(BasicBlock *, BasicBlock::iterator, FolderTy, MDNode *,
- ArrayRef<OperandBundleDef>) -> IRBuilder<FolderTy>;
-IRBuilder(BasicBlock *, BasicBlock::iterator, MDNode *,
- ArrayRef<OperandBundleDef>) -> IRBuilder<>;
-
+IRBuilder(BasicBlock *, BasicBlock::iterator, FolderTy) -> IRBuilder<FolderTy>;
+IRBuilder(BasicBlock *, BasicBlock::iterator) -> IRBuilder<>;
// Create wrappers for C Binding types (see CBindingWrapping.h).
DEFINE_SIMPLE_CONVERSION_FUNCTIONS(IRBuilder<>, LLVMBuilderRef)
``````````
</details>
https://github.com/llvm/llvm-project/pull/228013
More information about the llvm-commits
mailing list