[all-commits] [llvm/llvm-project] 3bd85c: [mlir][llvm] Add memcpy support for mem2reg/sroa.
Théo Degioanni via All-commits
all-commits at lists.llvm.org
Fri Jun 16 01:46:09 PDT 2023
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 3bd85cf7c208810c3370f2ea2a34ff7f32649577
https://github.com/llvm/llvm-project/commit/3bd85cf7c208810c3370f2ea2a34ff7f32649577
Author: Théo Degioanni <theo.degioanni at nextsilicon.com>
Date: 2023-06-16 (Fri, 16 Jun 2023)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/LLVMIntrinsicOps.td
M mlir/lib/Dialect/LLVMIR/IR/LLVMMemorySlot.cpp
M mlir/test/Dialect/LLVMIR/mem2reg-intrinsics.mlir
M mlir/test/Dialect/LLVMIR/sroa-intrinsics.mlir
Log Message:
-----------
[mlir][llvm] Add memcpy support for mem2reg/sroa.
This revision introduces SROA and mem2reg support for the family of
memcpy-like intrinsics (memcpy, memcpy.inline and memmove).
The mem2reg implementation transforms memcpys of full types into loads
and store. Memcpy between two promotable slots always disappear.
The SROA implementation transforms memcpys of *entire* aggregate types
into memcpys of all of their fields.
Reviewed By: gysit
Differential Revision: https://reviews.llvm.org/D152898
More information about the All-commits
mailing list