aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
diff options
context:
space:
mode:
authorNoah Goldstein <goldstein.w.n@gmail.com>2024-03-20 16:46:24 -0500
committerNoah Goldstein <goldstein.w.n@gmail.com>2024-04-09 18:12:33 -0500
commit9170e3857521324c096240bf38877e0ffe1a402e (patch)
tree1b79ab3b1f7ba0dc15312ef111fff6601f0b928f /llvm/lib/Bitcode/Reader/BitcodeReader.cpp
parent788be0d9fc6aeca548c90bac5ebe6990dd3c66ec (diff)
downloadllvm-9170e3857521324c096240bf38877e0ffe1a402e.zip
llvm-9170e3857521324c096240bf38877e0ffe1a402e.tar.gz
llvm-9170e3857521324c096240bf38877e0ffe1a402e.tar.bz2
Add support for `nneg` flag with `uitofp`
As noted when #82404 was pushed (canonicalizing `sitofp` -> `uitofp`), different signedness on fp casts can have dramatic performance implications on different backends. So, it makes to create a reliable means for the backend to pick its cast signedness if either are correct. Further, this allows us to start canonicalizing `sitofp`- > `uitofp` which may easy middle end analysis. Closes #86141
Diffstat (limited to 'llvm/lib/Bitcode/Reader/BitcodeReader.cpp')
-rw-r--r--llvm/lib/Bitcode/Reader/BitcodeReader.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/llvm/lib/Bitcode/Reader/BitcodeReader.cpp b/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
index 5ea6cc2..92c3495 100644
--- a/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
+++ b/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
@@ -5039,7 +5039,7 @@ Error BitcodeReader::parseFunctionBody(Function *F) {
}
if (OpNum < Record.size()) {
- if (Opc == Instruction::ZExt) {
+ if (Opc == Instruction::ZExt || Opc == Instruction::UIToFP) {
if (Record[OpNum] & (1 << bitc::PNNI_NON_NEG))
cast<PossiblyNonNegInst>(I)->setNonNeg(true);
} else if (Opc == Instruction::Trunc) {