[SLC] sprintf(dst, "%s", str) -> strcpy(dst, str)
authorDávid Bolvanský <david.bolvansky@gmail.com>
Fri, 14 Aug 2020 21:48:30 +0000 (23:48 +0200)
committerDávid Bolvanský <david.bolvansky@gmail.com>
Fri, 14 Aug 2020 21:48:53 +0000 (23:48 +0200)
commit6dbf0cfcf789365493f70ae69df8a7a59be41c75
tree0471869033b678b38ee64f2841e4d826d3c96198
parent3cf7efec986da0e2e8812f83eb7507512475687d
[SLC] sprintf(dst, "%s", str) -> strcpy(dst, str)

Transform sprintf(dst, "%s", str) -> strcpy(dst, str) if result is unused
Avoid sprintf(dest, "%s", str) -> llvm.memcpy(align 1 dest, align 1 str, strlen(str)+1) if optimizing for size.

Reviewed By: efriedma

Differential Revision: https://reviews.llvm.org/D85963
llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
llvm/test/Transforms/InstCombine/2010-05-30-memcpy-Struct.ll
llvm/test/Transforms/InstCombine/sprintf-1.ll