summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--mlir/include/mlir/Target/LLVMIR/ModuleTranslation.h10
-rw-r--r--mlir/lib/Target/LLVMIR/ModuleTranslation.cpp11
2 files changed, 9 insertions, 12 deletions
diff --git a/mlir/include/mlir/Target/LLVMIR/ModuleTranslation.h b/mlir/include/mlir/Target/LLVMIR/ModuleTranslation.h
index 288901221db..0b65218fd5d 100644
--- a/mlir/include/mlir/Target/LLVMIR/ModuleTranslation.h
+++ b/mlir/include/mlir/Target/LLVMIR/ModuleTranslation.h
@@ -87,8 +87,16 @@ protected:
llvm::IRBuilder<> &builder);
static std::unique_ptr<llvm::Module> prepareLLVMModule(Operation *m);
+ // A helper to look up remapped operands in the value remapping table.
template <typename Range>
- SmallVector<llvm::Value *, 8> lookupValues(Range &&values);
+ SmallVector<llvm::Value *, 8> lookupValues(Range &&values) {
+ SmallVector<llvm::Value *, 8> remapped;
+ remapped.reserve(llvm::size(values));
+ for (Value *v : values) {
+ remapped.push_back(valueMapping.lookup(v));
+ }
+ return remapped;
+ }
private:
/// Check whether the module contains only supported ops directly in its body.
diff --git a/mlir/lib/Target/LLVMIR/ModuleTranslation.cpp b/mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
index f5f9ccabd76..7a7964d71d3 100644
--- a/mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
+++ b/mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
@@ -159,17 +159,6 @@ static llvm::CmpInst::Predicate getLLVMCmpPredicate(FCmpPredicate p) {
llvm_unreachable("incorrect comparison predicate");
}
-// A helper to look up remapped operands in the value remapping table.
-template <typename Range>
-SmallVector<llvm::Value *, 8> ModuleTranslation::lookupValues(Range &&values) {
- SmallVector<llvm::Value *, 8> remapped;
- remapped.reserve(llvm::size(values));
- for (Value *v : values) {
- remapped.push_back(valueMapping.lookup(v));
- }
- return remapped;
-}
-
// Given a single MLIR operation, create the corresponding LLVM IR operation
// using the `builder`. LLVM IR Builder does not have a generic interface so
// this has to be a long chain of `if`s calling different functions with a
OpenPOWER on IntegriCloud