[SimplifyLibCalls] Add NoUndef/NonNull/Dereferenceable attributes to iprintf/siprintf
authoruabkaka <karl-johan.karlsson@ericsson.com>
Tue, 18 Oct 2022 13:48:26 +0000 (15:48 +0200)
committeruabkaka <karl-johan.karlsson@ericsson.com>
Tue, 18 Oct 2022 14:36:35 +0000 (16:36 +0200)
commitda137d041b3766db755ab390528ea5d9eb60d0f0
treea3d60155333c9db8ae000336867d28d136e798a6
parenta786096f9dd20acf29d8297e706ad96de063f612
[SimplifyLibCalls] Add NoUndef/NonNull/Dereferenceable attributes to iprintf/siprintf

When SimplifyLibCalls fail to optimize printf and sprintf it add
NoUndef/NonNull/Dereferenceable attributes. This patch add the same attributes
if SimplifyLibCalls optimize printf/sprintf into the integer only
iprintf/siprintf.

Reviewed By: nikic

Differential Revision: https://reviews.llvm.org/D136140
llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
llvm/test/Transforms/InstCombine/printf-1.ll
llvm/test/Transforms/InstCombine/sprintf-1.ll