[InstCombine] Optimize some memccpy calls to memcpy/null
authorDávid Bolvanský <david.bolvansky@gmail.com>
Mon, 25 Nov 2019 19:15:25 +0000 (20:15 +0100)
committerDávid Bolvanský <david.bolvansky@gmail.com>
Tue, 26 Nov 2019 09:54:47 +0000 (10:54 +0100)
commitbb7b8540f09a300350208ce38335a9b6280d5042
tree446ed692930da9723334fb025956b5fa6362e87f
parentcfd9d395674030d549de286d26c0f52020de26e6
[InstCombine] Optimize some memccpy calls to memcpy/null

Summary:
return memccpy(d, "helloworld", 'r', 20)
=>
return memcpy(d, "helloworld", 8 /* pos of 'r' in string */), d + 8

Reviewers: efriedma, jdoerfert

Reviewed By: jdoerfert

Subscribers: hiraditya, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D68089
llvm/include/llvm/Transforms/Utils/SimplifyLibCalls.h
llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
llvm/test/Transforms/InstCombine/memccpy.ll