[Mlir-commits] [mlir] 1b7b3b8 - [NFC] Move intrinsic related functions to Intrinsic namespace (#110125)
llvmlistbot at llvm.org
llvmlistbot at llvm.org
Mon Sep 30 07:42:58 PDT 2024
Author: Rahul Joshi
Date: 2024-09-30T07:42:53-07:00
New Revision: 1b7b3b8d354a28f5fb1381c61c5663819d29a974
URL: https://github.com/llvm/llvm-project/commit/1b7b3b8d354a28f5fb1381c61c5663819d29a974
DIFF: https://github.com/llvm/llvm-project/commit/1b7b3b8d354a28f5fb1381c61c5663819d29a974.diff
LOG: [NFC] Move intrinsic related functions to Intrinsic namespace (#110125)
Move static functions `Function::lookupIntrinsicID` and
`Function::isTargetIntrinsic` to Intrinsic namespace.
Added:
Modified:
llvm/include/llvm-c/Core.h
llvm/include/llvm/CodeGen/BasicTTIImpl.h
llvm/include/llvm/IR/Function.h
llvm/include/llvm/IR/Intrinsics.h
llvm/lib/AsmParser/LLParser.cpp
llvm/lib/CodeGen/MIRParser/MIParser.cpp
llvm/lib/IR/Core.cpp
llvm/lib/IR/Function.cpp
llvm/lib/Transforms/Scalar/Scalarizer.cpp
mlir/lib/Target/LLVMIR/Dialect/LLVMIR/LLVMToLLVMIRTranslation.cpp
Removed:
################################################################################
diff --git a/llvm/include/llvm-c/Core.h b/llvm/include/llvm-c/Core.h
index ec5c0e7dbbd655..28dc270ca368d2 100644
--- a/llvm/include/llvm-c/Core.h
+++ b/llvm/include/llvm-c/Core.h
@@ -2795,7 +2795,7 @@ void LLVMSetPersonalityFn(LLVMValueRef Fn, LLVMValueRef PersonalityFn);
/**
* Obtain the intrinsic ID number which matches the given function name.
*
- * @see llvm::Function::lookupIntrinsicID()
+ * @see llvm::Intrinsic::lookupIntrinsicID()
*/
unsigned LLVMLookupIntrinsicID(const char *Name, size_t NameLen);
diff --git a/llvm/include/llvm/CodeGen/BasicTTIImpl.h b/llvm/include/llvm/CodeGen/BasicTTIImpl.h
index cb62c86b502c17..c36a346c1b2e05 100644
--- a/llvm/include/llvm/CodeGen/BasicTTIImpl.h
+++ b/llvm/include/llvm/CodeGen/BasicTTIImpl.h
@@ -1555,7 +1555,7 @@ class BasicTTIImplBase : public TargetTransformInfoImplCRTPBase<T> {
// Assume that target intrinsics are cheap.
Intrinsic::ID IID = ICA.getID();
- if (Function::isTargetIntrinsic(IID))
+ if (Intrinsic::isTargetIntrinsic(IID))
return TargetTransformInfo::TCC_Basic;
if (ICA.isTypeBasedOnly())
diff --git a/llvm/include/llvm/IR/Function.h b/llvm/include/llvm/IR/Function.h
index a4d55285380b05..fec876eaafc867 100644
--- a/llvm/include/llvm/IR/Function.h
+++ b/llvm/include/llvm/IR/Function.h
@@ -255,10 +255,6 @@ class LLVM_ABI Function : public GlobalObject, public ilist_node<Function> {
/// returns Intrinsic::not_intrinsic!
bool isIntrinsic() const { return HasLLVMReservedName; }
- /// isTargetIntrinsic - Returns true if IID is an intrinsic specific to a
- /// certain target. If it is a generic intrinsic false is returned.
- static bool isTargetIntrinsic(Intrinsic::ID IID);
-
/// isTargetIntrinsic - Returns true if this function is an intrinsic and the
/// intrinsic is specific to a certain target. If this is not an intrinsic
/// or a generic intrinsic, false is returned.
@@ -269,8 +265,6 @@ class LLVM_ABI Function : public GlobalObject, public ilist_node<Function> {
/// getIntrinsicID() returns Intrinsic::not_intrinsic.
bool isConstrainedFPIntrinsic() const;
- static Intrinsic::ID lookupIntrinsicID(StringRef Name);
-
/// Update internal caches that depend on the function name (such as the
/// intrinsic ID and libcall cache).
/// Note, this method does not need to be called directly, as it is called
diff --git a/llvm/include/llvm/IR/Intrinsics.h b/llvm/include/llvm/IR/Intrinsics.h
index 0ec7e47812af44..95df3f2cd654ad 100644
--- a/llvm/include/llvm/IR/Intrinsics.h
+++ b/llvm/include/llvm/IR/Intrinsics.h
@@ -78,6 +78,12 @@ namespace Intrinsic {
/// Returns true if the intrinsic can be overloaded.
bool isOverloaded(ID id);
+ /// isTargetIntrinsic - Returns true if IID is an intrinsic specific to a
+ /// certain target. If it is a generic intrinsic false is returned.
+ bool isTargetIntrinsic(ID IID);
+
+ ID lookupIntrinsicID(StringRef Name);
+
/// Return the attributes for an intrinsic.
AttributeList getAttributes(LLVMContext &C, ID id);
diff --git a/llvm/lib/AsmParser/LLParser.cpp b/llvm/lib/AsmParser/LLParser.cpp
index e088c312c7b441..d84521d2e6e10d 100644
--- a/llvm/lib/AsmParser/LLParser.cpp
+++ b/llvm/lib/AsmParser/LLParser.cpp
@@ -338,7 +338,7 @@ bool LLParser::validateEndOfModule(bool UpgradeDebugInfo) {
for (const auto &[Name, Info] : make_early_inc_range(ForwardRefVals)) {
if (StringRef(Name).starts_with("llvm.")) {
- Intrinsic::ID IID = Function::lookupIntrinsicID(Name);
+ Intrinsic::ID IID = Intrinsic::lookupIntrinsicID(Name);
if (IID == Intrinsic::not_intrinsic)
// Don't do anything for unknown intrinsics.
continue;
@@ -6301,7 +6301,7 @@ bool isOldDbgFormatIntrinsic(StringRef Name) {
// intrinsics in the new debug info format.
if (!Name.starts_with("llvm.dbg."))
return false;
- Intrinsic::ID FnID = Function::lookupIntrinsicID(Name);
+ Intrinsic::ID FnID = Intrinsic::lookupIntrinsicID(Name);
return FnID == Intrinsic::dbg_declare || FnID == Intrinsic::dbg_value ||
FnID == Intrinsic::dbg_assign;
}
diff --git a/llvm/lib/CodeGen/MIRParser/MIParser.cpp b/llvm/lib/CodeGen/MIRParser/MIParser.cpp
index a0f0e27478d022..74f38e886a6b97 100644
--- a/llvm/lib/CodeGen/MIRParser/MIParser.cpp
+++ b/llvm/lib/CodeGen/MIRParser/MIParser.cpp
@@ -2654,7 +2654,7 @@ bool MIParser::parseIntrinsicOperand(MachineOperand &Dest) {
// Find out what intrinsic we're dealing with, first try the global namespace
// and then the target's private intrinsics if that fails.
const TargetIntrinsicInfo *TII = MF.getTarget().getIntrinsicInfo();
- Intrinsic::ID ID = Function::lookupIntrinsicID(Name);
+ Intrinsic::ID ID = Intrinsic::lookupIntrinsicID(Name);
if (ID == Intrinsic::not_intrinsic && TII)
ID = static_cast<Intrinsic::ID>(TII->lookupName(Name));
diff --git a/llvm/lib/IR/Core.cpp b/llvm/lib/IR/Core.cpp
index c1ca2c255aa587..ee084e870263d0 100644
--- a/llvm/lib/IR/Core.cpp
+++ b/llvm/lib/IR/Core.cpp
@@ -2508,7 +2508,7 @@ const char *LLVMIntrinsicCopyOverloadedName2(LLVMModuleRef Mod, unsigned ID,
}
unsigned LLVMLookupIntrinsicID(const char *Name, size_t NameLen) {
- return Function::lookupIntrinsicID({Name, NameLen});
+ return Intrinsic::lookupIntrinsicID({Name, NameLen});
}
LLVMBool LLVMIntrinsicIsOverloaded(unsigned ID) {
diff --git a/llvm/lib/IR/Function.cpp b/llvm/lib/IR/Function.cpp
index 863900c3f14b2b..052ee1fdc93906 100644
--- a/llvm/lib/IR/Function.cpp
+++ b/llvm/lib/IR/Function.cpp
@@ -952,12 +952,12 @@ static constexpr const char *const IntrinsicNameTable[] = {
#include "llvm/IR/IntrinsicImpl.inc"
#undef GET_INTRINSIC_TARGET_DATA
-bool Function::isTargetIntrinsic(Intrinsic::ID IID) {
+bool Intrinsic::isTargetIntrinsic(Intrinsic::ID IID) {
return IID > TargetInfos[0].Count;
}
bool Function::isTargetIntrinsic() const {
- return isTargetIntrinsic(IntID);
+ return Intrinsic::isTargetIntrinsic(IntID);
}
/// Find the segment of \c IntrinsicNameTable for intrinsics with the same
@@ -982,7 +982,7 @@ findTargetSubtable(StringRef Name) {
/// This does the actual lookup of an intrinsic ID which matches the given
/// function name.
-Intrinsic::ID Function::lookupIntrinsicID(StringRef Name) {
+Intrinsic::ID Intrinsic::lookupIntrinsicID(StringRef Name) {
auto [NameTable, Target] = findTargetSubtable(Name);
int Idx = Intrinsic::lookupLLVMIntrinsicByName(NameTable, Name, Target);
if (Idx == -1)
@@ -1011,7 +1011,7 @@ void Function::updateAfterNameChange() {
return;
}
HasLLVMReservedName = true;
- IntID = lookupIntrinsicID(Name);
+ IntID = Intrinsic::lookupIntrinsicID(Name);
}
/// Returns a stable mangling for the type specified for use in the name
diff --git a/llvm/lib/Transforms/Scalar/Scalarizer.cpp b/llvm/lib/Transforms/Scalar/Scalarizer.cpp
index d464e49990b3b3..da9b804e94a74a 100644
--- a/llvm/lib/Transforms/Scalar/Scalarizer.cpp
+++ b/llvm/lib/Transforms/Scalar/Scalarizer.cpp
@@ -700,7 +700,7 @@ bool ScalarizerVisitor::splitBinary(Instruction &I, const Splitter &Split) {
bool ScalarizerVisitor::isTriviallyScalarizable(Intrinsic::ID ID) {
if (isTriviallyVectorizable(ID))
return true;
- return Function::isTargetIntrinsic(ID) &&
+ return Intrinsic::isTargetIntrinsic(ID) &&
TTI->isTargetIntrinsicTriviallyScalarizable(ID);
}
diff --git a/mlir/lib/Target/LLVMIR/Dialect/LLVMIR/LLVMToLLVMIRTranslation.cpp b/mlir/lib/Target/LLVMIR/Dialect/LLVMIR/LLVMToLLVMIRTranslation.cpp
index 72d85d796dd4a1..46b7b0a473c692 100644
--- a/mlir/lib/Target/LLVMIR/Dialect/LLVMIR/LLVMToLLVMIRTranslation.cpp
+++ b/mlir/lib/Target/LLVMIR/Dialect/LLVMIR/LLVMToLLVMIRTranslation.cpp
@@ -130,7 +130,7 @@ convertCallLLVMIntrinsicOp(CallIntrinsicOp op, llvm::IRBuilderBase &builder,
LLVM::ModuleTranslation &moduleTranslation) {
llvm::Module *module = builder.GetInsertBlock()->getModule();
llvm::Intrinsic::ID id =
- llvm::Function::lookupIntrinsicID(op.getIntrinAttr());
+ llvm::Intrinsic::lookupIntrinsicID(op.getIntrinAttr());
if (!id)
return mlir::emitError(op.getLoc(), "could not find LLVM intrinsic: ")
<< op.getIntrinAttr();
More information about the Mlir-commits
mailing list