[PATCH] D119582: BuildLibCalls: also set allocsize() attributes
Nikita Popov via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Apr 6 02:18:18 PDT 2022
nikic requested changes to this revision.
nikic added inline comments.
This revision now requires changes to proceed.
================
Comment at: llvm/lib/Transforms/Utils/BuildLibCalls.cpp:234
+ Optional<unsigned> NumElemsArg) {
+ if (F.hasFnAttribute(Attribute::AllocSize)) {
+ return false;
----------------
Remove braces for single-line if.
================
Comment at: llvm/lib/Transforms/Utils/BuildLibCalls.cpp:375
case LibFunc_strndup:
+ Changed |= setAllocSize(F, 1, None);
Changed |= setArgNoUndef(F, 1);
----------------
This is incorrect: allocsize is a lower bound on the allocation size, while the strndup argument is an upper bound. strndup may allocate less if it encounters a null byte earlier.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D119582/new/
https://reviews.llvm.org/D119582
More information about the llvm-commits
mailing list