Bug 1241224: IonMonkey: Improve ranges at loop backedges, r=nbp
authorHannes Verschore <hv1989@gmail.com>
Fri, 22 Jan 2016 09:11:19 -0500
changeset 317821 7c02451fb069110be2981cf1ea4be345ac221166
parent 317820 ae764f907bb0365c1695f232fc2c6976ba23300a
child 317822 7e763694e778c1b772f037ee567285aa99ad8347
push id5913
push userjlund@mozilla.com
push dateMon, 25 Apr 2016 16:57:49 +0000
treeherdermozilla-beta@dcaf0a6fa115 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersnbp
bugs1241224
milestone46.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 1241224: IonMonkey: Improve ranges at loop backedges, r=nbp
js/src/jit/RangeAnalysis.cpp
--- a/js/src/jit/RangeAnalysis.cpp
+++ b/js/src/jit/RangeAnalysis.cpp
@@ -2082,17 +2082,17 @@ RangeAnalysis::analyzeLoopPhi(MBasicBloc
         return;
 
     SimpleLinearSum modified = ExtractLinearSum(phi->getLoopBackedgeOperand());
 
     if (modified.term != phi || modified.constant == 0)
         return;
 
     if (!phi->range())
-        phi->setRange(new(alloc()) Range());
+        phi->setRange(new(alloc()) Range(phi));
 
     LinearSum initialSum(alloc());
     if (!initialSum.add(initial, 1))
         return;
 
     // The phi may change by N each iteration, and is either nondecreasing or
     // nonincreasing. initial(phi) is either a lower or upper bound for the
     // phi, and initial(phi) + loopBound * N is either an upper or lower bound,