[all-commits] [llvm/llvm-project] 3e21fb: [MLIR] Generic 'malloc', 'aligned_alloc' and 'free...

Michele Scuttari via All-commits all-commits at lists.llvm.org
Mon Jul 18 08:59:30 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 3e21fb616d9a1b29bf9d1a1ba484add633d6d5b3
      https://github.com/llvm/llvm-project/commit/3e21fb616d9a1b29bf9d1a1ba484add633d6d5b3
  Author: Michele Scuttari <mscuttari at users.noreply.github.com>
  Date:   2022-07-18 (Mon, 18 Jul 2022)

  Changed paths:
    M mlir/docs/Tutorials/Toy/Ch-6.md
    M mlir/examples/toy/Ch6/CMakeLists.txt
    M mlir/examples/toy/Ch6/include/toy/Passes.h
    A mlir/examples/toy/Ch6/mlir/AllocRenamingPass.cpp
    M mlir/examples/toy/Ch6/toyc.cpp
    M mlir/examples/toy/Ch7/CMakeLists.txt
    M mlir/examples/toy/Ch7/include/toy/Passes.h
    A mlir/examples/toy/Ch7/mlir/AllocRenamingPass.cpp
    M mlir/examples/toy/Ch7/toyc.cpp
    M mlir/include/mlir/Dialect/LLVMIR/FunctionCallUtils.h
    M mlir/lib/Conversion/AsyncToLLVM/AsyncToLLVM.cpp
    M mlir/lib/Conversion/MemRefToLLVM/MemRefToLLVM.cpp
    M mlir/lib/Dialect/LLVMIR/IR/FunctionCallUtils.cpp
    M mlir/lib/ExecutionEngine/RunnerUtils.cpp
    M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
    M mlir/test/Conversion/AsyncToLLVM/convert-coro-to-llvm.mlir
    M mlir/test/Conversion/AsyncToLLVM/convert-to-llvm.mlir
    M mlir/test/Conversion/FuncToLLVM/calling-convention.mlir
    M mlir/test/Conversion/MemRefToLLVM/convert-dynamic-memref-ops.mlir
    M mlir/test/Conversion/MemRefToLLVM/convert-static-memref-ops.mlir
    M mlir/test/Target/LLVMIR/llvmir.mlir
    M mlir/test/mlir-cpu-runner/bare-ptr-call-conv.mlir
    M mlir/test/mlir-cpu-runner/sgemm-naive-codegen.mlir
    M mlir/test/mlir-cpu-runner/simple.mlir

  Log Message:
  -----------
  [MLIR] Generic 'malloc', 'aligned_alloc' and 'free' functions

When converted to the LLVM dialect, the memref.alloc and memref.free operations were generating calls to hardcoded 'malloc' and 'free' functions. This didn't leave any freedom to users to provide their custom implementation. Those operations now convert into calls to '_mlir_alloc' and '_mlir_free' functions, which have also been implemented into the runtime support library as wrappers to 'malloc' and 'free'. The same has been done for the 'aligned_alloc' function.

Reviewed By: ftynse

Differential Revision: https://reviews.llvm.org/D128791




More information about the All-commits mailing list