Revert previous change to IR.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41769 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Bitcode/Reader/BitcodeReader.cpp b/lib/Bitcode/Reader/BitcodeReader.cpp
index fcf2e51..8715f89 100644
--- a/lib/Bitcode/Reader/BitcodeReader.cpp
+++ b/lib/Bitcode/Reader/BitcodeReader.cpp
@@ -626,7 +626,7 @@
if (Record.empty())
return Error("Invalid FLOAT record");
if (CurTy == Type::FloatTy)
- V = ConstantFP::get(CurTy, APFloat((float)BitsToDouble(Record[0])));
+ V = ConstantFP::get(CurTy, APFloat(BitsToFloat(Record[0])));
else if (CurTy == Type::DoubleTy)
V = ConstantFP::get(CurTy, APFloat(BitsToDouble(Record[0])));
// FIXME: Make long double constants work. BitsToDouble does not make it.
diff --git a/lib/Bitcode/Writer/BitcodeWriter.cpp b/lib/Bitcode/Writer/BitcodeWriter.cpp
index ab3d983..73f5338 100644
--- a/lib/Bitcode/Writer/BitcodeWriter.cpp
+++ b/lib/Bitcode/Writer/BitcodeWriter.cpp
@@ -526,10 +526,9 @@
} else if (const ConstantFP *CFP = dyn_cast<ConstantFP>(C)) {
Code = bitc::CST_CODE_FLOAT;
const Type *Ty = CFP->getType();
- if (Ty == Type::FloatTy) {
- Record.push_back(DoubleToBits((double)CFP->getValueAPF().
- convertToFloat()));
- } else if (Ty == Type::DoubleTy) {
+ if (Ty == Type::FloatTy)
+ Record.push_back(FloatToBits(CFP->getValueAPF().convertToFloat()));
+ else if (Ty == Type::DoubleTy) {
Record.push_back(DoubleToBits(CFP->getValueAPF().convertToDouble()));
// FIXME: make long double constants work.
} else if (Ty == Type::X86_FP80Ty ||