aboutsummaryrefslogtreecommitdiff
path: root/lib/Bitcode/Writer/BitcodeWriter.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Bitcode/Writer/BitcodeWriter.cpp')
-rw-r--r--lib/Bitcode/Writer/BitcodeWriter.cpp11
1 files changed, 5 insertions, 6 deletions
diff --git a/lib/Bitcode/Writer/BitcodeWriter.cpp b/lib/Bitcode/Writer/BitcodeWriter.cpp
index 7dd18c87ff..6526b012d8 100644
--- a/lib/Bitcode/Writer/BitcodeWriter.cpp
+++ b/lib/Bitcode/Writer/BitcodeWriter.cpp
@@ -1161,16 +1161,15 @@ static void WriteInstruction(const Instruction &I, unsigned InstID,
Vals64.push_back(CaseRanges.getNumItems());
for (unsigned ri = 0, rn = CaseRanges.getNumItems(); ri != rn; ++ri) {
IntegersSubset::Range r = CaseRanges.getItem(ri);
+ bool IsSingleNumber = r.isSingleNumber();
- Vals64.push_back(CaseRanges.isSingleNumber(ri));
+ Vals64.push_back(IsSingleNumber);
- const APInt &Low = r.Low;
- const APInt &High = r.High;
unsigned Code, Abbrev; // will unused.
- EmitAPInt(Vals64, Code, Abbrev, Low, true);
- if (r.Low != r.High)
- EmitAPInt(Vals64, Code, Abbrev, High, true);
+ EmitAPInt(Vals64, Code, Abbrev, r.getLow(), true);
+ if (!IsSingleNumber)
+ EmitAPInt(Vals64, Code, Abbrev, r.getHigh(), true);
}
Vals64.push_back(VE.getValueID(i.getCaseSuccessor()));
}