# Understanding ByValOptimization on MemCpyOpt ## What is ByVal Optimization on MemCpyOpt? a part of MemCpyOptimizer on LLVM-middleend path https://github.com/llvm/llvm-project/blob/main/llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp#L1538-L1539 Let's show the overview of this pass(on 2023/05/28) TODO: are there any optimization using byval attributes except MemCpyOptimizer? ### ByVal attributes ## The conditions to remove `memcpy` of byval Arguments ### Memory clobber ### alignment