aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
diff options
context:
space:
mode:
authorGui Andrade <guiand@google.com>2020-06-22 16:49:41 +0000
committerGui Andrade <guiand@google.com>2020-07-08 19:02:04 +0000
commit89f1ad88b3f1ecf32e797247b9eab5662ed4bcf4 (patch)
tree940d2da15628491823f8c1cc307998ca3b8e140d /llvm/lib/Bitcode/Reader/BitcodeReader.cpp
parent512c90389839a595ff592bf2f1345e0f1bc18530 (diff)
downloadllvm-89f1ad88b3f1ecf32e797247b9eab5662ed4bcf4.zip
llvm-89f1ad88b3f1ecf32e797247b9eab5662ed4bcf4.tar.gz
llvm-89f1ad88b3f1ecf32e797247b9eab5662ed4bcf4.tar.bz2
[LangRef] Introduce `noundef` attribute for fully defined function params
LLVM currently does not require function parameters or return values to be fully initialized, and does not care if they are poison. This can be useful if the frontend ABI makes no such demands, but may prevent helpful backend transformations in case they do. Specifically, the C and C++ languages require all scalar function operands to be fully determined. Introducing this attribute is of particular use to MemorySanitizer today, although other transformations may benefit from it as well. We can modify MemorySanitizer instrumentation to provide modest (17%) space savings where `frozen` is present. This commit only adds the attribute to the Language Reference, and the actual implementation of the attribute will follow in a separate commit. Differential Revision: https://reviews.llvm.org/D82316
Diffstat (limited to 'llvm/lib/Bitcode/Reader/BitcodeReader.cpp')
0 files changed, 0 insertions, 0 deletions