Please use GitHub pull requests for new patches. Avoid migrating existing patches. Phabricator shutdown timeline
Changeset View
Changeset View
Standalone View
Standalone View
mlir/lib/Dialect/LLVMIR/IR/FunctionCallUtils.cpp
Show First 20 Lines • Show All 73 Lines • ▼ Show 20 Lines | |||||
} | } | ||||
LLVM::LLVMFuncOp mlir::LLVM::lookupOrCreatePrintF64Fn(ModuleOp moduleOp) { | LLVM::LLVMFuncOp mlir::LLVM::lookupOrCreatePrintF64Fn(ModuleOp moduleOp) { | ||||
return lookupOrCreateFn(moduleOp, kPrintF64, | return lookupOrCreateFn(moduleOp, kPrintF64, | ||||
Float64Type::get(moduleOp->getContext()), | Float64Type::get(moduleOp->getContext()), | ||||
LLVM::LLVMVoidType::get(moduleOp->getContext())); | LLVM::LLVMVoidType::get(moduleOp->getContext())); | ||||
} | } | ||||
LLVM::LLVMFuncOp mlir::LLVM::lookupOrCreatePrintStrFn(ModuleOp moduleOp) { | LLVM::LLVMFuncOp mlir::LLVM::lookupOrCreatePrintStrFn(ModuleOp moduleOp, | ||||
return lookupOrCreateFn( | bool opaquePointers) { | ||||
moduleOp, kPrintStr, | auto ptr = opaquePointers ? LLVM::LLVMPointerType::get(moduleOp->getContext()) | ||||
LLVM::LLVMPointerType::get(IntegerType::get(moduleOp->getContext(), 8)), | : LLVM::LLVMPointerType::get( | ||||
IntegerType::get(moduleOp->getContext(), 8)); | |||||
return lookupOrCreateFn(moduleOp, kPrintStr, ptr, | |||||
LLVM::LLVMVoidType::get(moduleOp->getContext())); | LLVM::LLVMVoidType::get(moduleOp->getContext())); | ||||
} | } | ||||
LLVM::LLVMFuncOp mlir::LLVM::lookupOrCreatePrintOpenFn(ModuleOp moduleOp) { | LLVM::LLVMFuncOp mlir::LLVM::lookupOrCreatePrintOpenFn(ModuleOp moduleOp) { | ||||
return lookupOrCreateFn(moduleOp, kPrintOpen, {}, | return lookupOrCreateFn(moduleOp, kPrintOpen, {}, | ||||
LLVM::LLVMVoidType::get(moduleOp->getContext())); | LLVM::LLVMVoidType::get(moduleOp->getContext())); | ||||
} | } | ||||
LLVM::LLVMFuncOp mlir::LLVM::lookupOrCreatePrintCloseFn(ModuleOp moduleOp) { | LLVM::LLVMFuncOp mlir::LLVM::lookupOrCreatePrintCloseFn(ModuleOp moduleOp) { | ||||
return lookupOrCreateFn(moduleOp, kPrintClose, {}, | return lookupOrCreateFn(moduleOp, kPrintClose, {}, | ||||
LLVM::LLVMVoidType::get(moduleOp->getContext())); | LLVM::LLVMVoidType::get(moduleOp->getContext())); | ||||
} | } | ||||
LLVM::LLVMFuncOp mlir::LLVM::lookupOrCreatePrintCommaFn(ModuleOp moduleOp) { | LLVM::LLVMFuncOp mlir::LLVM::lookupOrCreatePrintCommaFn(ModuleOp moduleOp) { | ||||
return lookupOrCreateFn(moduleOp, kPrintComma, {}, | return lookupOrCreateFn(moduleOp, kPrintComma, {}, | ||||
LLVM::LLVMVoidType::get(moduleOp->getContext())); | LLVM::LLVMVoidType::get(moduleOp->getContext())); | ||||
} | } | ||||
LLVM::LLVMFuncOp mlir::LLVM::lookupOrCreatePrintNewlineFn(ModuleOp moduleOp) { | LLVM::LLVMFuncOp mlir::LLVM::lookupOrCreatePrintNewlineFn(ModuleOp moduleOp) { | ||||
return lookupOrCreateFn(moduleOp, kPrintNewline, {}, | return lookupOrCreateFn(moduleOp, kPrintNewline, {}, | ||||
LLVM::LLVMVoidType::get(moduleOp->getContext())); | LLVM::LLVMVoidType::get(moduleOp->getContext())); | ||||
} | } | ||||
LLVM::LLVMFuncOp mlir::LLVM::lookupOrCreateMallocFn(ModuleOp moduleOp, | LLVM::LLVMFuncOp mlir::LLVM::lookupOrCreateMallocFn(ModuleOp moduleOp, | ||||
Type indexType) { | Type indexType, | ||||
return LLVM::lookupOrCreateFn( | bool opaquePointers) { | ||||
moduleOp, kMalloc, indexType, | auto ptr = opaquePointers ? LLVM::LLVMPointerType::get(moduleOp->getContext()) | ||||
LLVM::LLVMPointerType::get(IntegerType::get(moduleOp->getContext(), 8))); | : LLVM::LLVMPointerType::get( | ||||
IntegerType::get(moduleOp->getContext(), 8)); | |||||
return LLVM::lookupOrCreateFn(moduleOp, kMalloc, indexType, ptr); | |||||
} | } | ||||
LLVM::LLVMFuncOp mlir::LLVM::lookupOrCreateAlignedAllocFn(ModuleOp moduleOp, | LLVM::LLVMFuncOp mlir::LLVM::lookupOrCreateAlignedAllocFn(ModuleOp moduleOp, | ||||
Type indexType) { | Type indexType, | ||||
return LLVM::lookupOrCreateFn( | bool opaquePointers) { | ||||
moduleOp, kAlignedAlloc, {indexType, indexType}, | auto ptr = opaquePointers ? LLVM::LLVMPointerType::get(moduleOp->getContext()) | ||||
LLVM::LLVMPointerType::get(IntegerType::get(moduleOp->getContext(), 8))); | : LLVM::LLVMPointerType::get( | ||||
} | IntegerType::get(moduleOp->getContext(), 8)); | ||||
return LLVM::lookupOrCreateFn(moduleOp, kAlignedAlloc, {indexType, indexType}, | |||||
LLVM::LLVMFuncOp mlir::LLVM::lookupOrCreateFreeFn(ModuleOp moduleOp) { | ptr); | ||||
} | |||||
LLVM::LLVMFuncOp mlir::LLVM::lookupOrCreateFreeFn(ModuleOp moduleOp, | |||||
bool opaquePointers) { | |||||
auto ptr = opaquePointers ? LLVM::LLVMPointerType::get(moduleOp->getContext()) | |||||
: LLVM::LLVMPointerType::get( | |||||
IntegerType::get(moduleOp->getContext(), 8)); | |||||
return LLVM::lookupOrCreateFn( | return LLVM::lookupOrCreateFn( | ||||
moduleOp, kFree, | moduleOp, kFree, ptr, LLVM::LLVMVoidType::get(moduleOp->getContext())); | ||||
LLVM::LLVMPointerType::get(IntegerType::get(moduleOp->getContext(), 8)), | |||||
LLVM::LLVMVoidType::get(moduleOp->getContext())); | |||||
} | } | ||||
LLVM::LLVMFuncOp mlir::LLVM::lookupOrCreateGenericAllocFn(ModuleOp moduleOp, | LLVM::LLVMFuncOp mlir::LLVM::lookupOrCreateGenericAllocFn(ModuleOp moduleOp, | ||||
Type indexType) { | Type indexType, | ||||
return LLVM::lookupOrCreateFn( | bool opaquePointers) { | ||||
moduleOp, kGenericAlloc, indexType, | auto ptr = opaquePointers ? LLVM::LLVMPointerType::get(moduleOp->getContext()) | ||||
LLVM::LLVMPointerType::get(IntegerType::get(moduleOp->getContext(), 8))); | : LLVM::LLVMPointerType::get( | ||||
} | IntegerType::get(moduleOp->getContext(), 8)); | ||||
return LLVM::lookupOrCreateFn(moduleOp, kGenericAlloc, indexType, ptr); | |||||
LLVM::LLVMFuncOp | } | ||||
mlir::LLVM::lookupOrCreateGenericAlignedAllocFn(ModuleOp moduleOp, | |||||
Type indexType) { | LLVM::LLVMFuncOp mlir::LLVM::lookupOrCreateGenericAlignedAllocFn( | ||||
return LLVM::lookupOrCreateFn( | ModuleOp moduleOp, Type indexType, bool opaquePointers) { | ||||
moduleOp, kGenericAlignedAlloc, {indexType, indexType}, | auto ptr = opaquePointers ? LLVM::LLVMPointerType::get(moduleOp->getContext()) | ||||
LLVM::LLVMPointerType::get(IntegerType::get(moduleOp->getContext(), 8))); | : LLVM::LLVMPointerType::get( | ||||
} | IntegerType::get(moduleOp->getContext(), 8)); | ||||
return LLVM::lookupOrCreateFn(moduleOp, kGenericAlignedAlloc, | |||||
LLVM::LLVMFuncOp mlir::LLVM::lookupOrCreateGenericFreeFn(ModuleOp moduleOp) { | {indexType, indexType}, ptr); | ||||
} | |||||
LLVM::LLVMFuncOp mlir::LLVM::lookupOrCreateGenericFreeFn(ModuleOp moduleOp, | |||||
bool opaquePointers) { | |||||
auto ptr = opaquePointers ? LLVM::LLVMPointerType::get(moduleOp->getContext()) | |||||
: LLVM::LLVMPointerType::get( | |||||
IntegerType::get(moduleOp->getContext(), 8)); | |||||
return LLVM::lookupOrCreateFn( | return LLVM::lookupOrCreateFn( | ||||
moduleOp, kGenericFree, | moduleOp, kGenericFree, ptr, | ||||
LLVM::LLVMPointerType::get(IntegerType::get(moduleOp->getContext(), 8)), | |||||
LLVM::LLVMVoidType::get(moduleOp->getContext())); | LLVM::LLVMVoidType::get(moduleOp->getContext())); | ||||
} | } | ||||
LLVM::LLVMFuncOp | LLVM::LLVMFuncOp | ||||
mlir::LLVM::lookupOrCreateMemRefCopyFn(ModuleOp moduleOp, Type indexType, | mlir::LLVM::lookupOrCreateMemRefCopyFn(ModuleOp moduleOp, Type indexType, | ||||
Type unrankedDescriptorType) { | Type unrankedDescriptorType) { | ||||
return LLVM::lookupOrCreateFn( | return LLVM::lookupOrCreateFn( | ||||
moduleOp, kMemRefCopy, | moduleOp, kMemRefCopy, | ||||
ArrayRef<Type>{indexType, unrankedDescriptorType, unrankedDescriptorType}, | ArrayRef<Type>{indexType, unrankedDescriptorType, unrankedDescriptorType}, | ||||
LLVM::LLVMVoidType::get(moduleOp->getContext())); | LLVM::LLVMVoidType::get(moduleOp->getContext())); | ||||
} | } |