[llvm-commits] [llvm] r54014 - /llvm/trunk/lib/CodeGen/LiveIntervalAnalysis.cpp

Dan Gohman gohman at apple.com
Fri Jul 25 08:08:40 PDT 2008


Author: djg
Date: Fri Jul 25 10:08:37 2008
New Revision: 54014

URL: http://llvm.org/viewvc/llvm-project?rev=54014&view=rev
Log:
Disable the new aggressive remat logic introduced in 54000; it causes some
regressions, such as PR2595. Also, there is a significant code-quality
issue in SPEC 464.h264ref and a few others.

Modified:
    llvm/trunk/lib/CodeGen/LiveIntervalAnalysis.cpp

Modified: llvm/trunk/lib/CodeGen/LiveIntervalAnalysis.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/LiveIntervalAnalysis.cpp?rev=54014&r1=54013&r2=54014&view=diff

==============================================================================
--- llvm/trunk/lib/CodeGen/LiveIntervalAnalysis.cpp (original)
+++ llvm/trunk/lib/CodeGen/LiveIntervalAnalysis.cpp Fri Jul 25 10:08:37 2008
@@ -47,6 +47,8 @@
 static cl::opt<int> SplitLimit("split-limit",
                                cl::init(-1), cl::Hidden);
 
+static cl::opt<bool> EnableAggressiveRemat("aggressive-remat", cl::Hidden);
+
 STATISTIC(numIntervals, "Number of original intervals");
 STATISTIC(numIntervalsAfter, "Number of intervals after coalescing");
 STATISTIC(numFolds    , "Number of loads/stores folded into instructions");
@@ -797,6 +799,8 @@
   // rules.
   if (!MI->getDesc().isRematerializable() ||
       !tii_->isTriviallyReMaterializable(MI)) {
+    if (!EnableAggressiveRemat)
+      return false;
 
     // If the instruction access memory but the memoperands have been lost,
     // we can't analyze it.





More information about the llvm-commits mailing list