Try harder to get a consistent floating point results.
authorRafael Espindola <rafael.espindola@gmail.com>
Thu, 5 Dec 2013 04:14:33 +0000 (04:14 +0000)
committerRafael Espindola <rafael.espindola@gmail.com>
Thu, 5 Dec 2013 04:14:33 +0000 (04:14 +0000)
This just extends the existing hack. It should be enough to get a reproducible bootstrap
on 32 bits.

I will open a bug to track getting a real fix for this.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@196462 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp

index b1d247e74fd329bd1227e90f4065f033060f5e63..34b7df59acd073d95bfce0e6522dabd9c4b81e78 100644 (file)
@@ -2351,7 +2351,7 @@ bool SelectionDAGBuilder::handleBTSplitSwitchCase(CaseRec& CR,
     volatile double RDensity =
       (double)RSize.roundToDouble() /
                            (Last - RBegin + 1ULL).roundToDouble();
-    double Metric = Range.logBase2()*(LDensity+RDensity);
+    volatile double Metric = Range.logBase2()*(LDensity+RDensity);
     // Should always split in some non-trivial place
     DEBUG(dbgs() <<"=>Step\n"
                  << "LEnd: " << LEnd << ", RBegin: " << RBegin << '\n'