[llvm-commits] CVS: reopt/lib/LightWtProfiling/SecondTrigger.cpp

Brian Gaeke gaeke at cs.uiuc.edu
Mon Aug 30 12:56:52 PDT 2004



Changes in directory reopt/lib/LightWtProfiling:

SecondTrigger.cpp updated: 1.32 -> 1.33
---
Log message:

Save and load fp double registers. Maybe it will help?
When giving up on a trace, try to get rid of the SLI trace as well, to
avoid infinite loops.


---
Diffs of the changes:  (+9 -5)

Index: reopt/lib/LightWtProfiling/SecondTrigger.cpp
diff -u reopt/lib/LightWtProfiling/SecondTrigger.cpp:1.32 reopt/lib/LightWtProfiling/SecondTrigger.cpp:1.33
--- reopt/lib/LightWtProfiling/SecondTrigger.cpp:1.32	Thu Jul 29 23:04:44 2004
+++ reopt/lib/LightWtProfiling/SecondTrigger.cpp	Mon Aug 30 14:56:42 2004
@@ -83,7 +83,7 @@
   SAVE_G1_REG(g1_reg);
   SAVE_G5_REG(g5_reg);
   SAVE_F_REGS_1(f_reg_save);
-  // SAVE_F_REGS_2(f_reg_save);
+  SAVE_F_REGS_2(f_reg_save);
   SAVE_FD_REGS(fd_reg_save);
   SAVE_FSR_REG(fsr_reg);
   SAVE_FPRS_REG(fprs_reg);
@@ -126,7 +126,7 @@
   LOAD_G5_REG(g5_reg);
   LOAD_FPRS_REG(fprs_reg);
   LOAD_F_REGS_1(f_reg_save);
-  // LOAD_F_REGS_2(f_reg_save);
+  LOAD_F_REGS_2(f_reg_save);
   LOAD_FD_REGS(fd_reg_save);
   LOAD_FSR_REG(fsr_reg);
 }
@@ -194,7 +194,7 @@
   SAVE_I_REGS(i_reg_save);
   SAVE_G1_REG(g1_reg);
   SAVE_F_REGS_1(f_reg_save);
-  // SAVE_F_REGS_2(f_reg_save);
+  SAVE_F_REGS_2(f_reg_save);
   SAVE_FD_REGS(fd_reg_save);
   SAVE_FSR_REG(fsr_reg);
   SAVE_FPRS_REG(fprs_reg);
@@ -335,7 +335,7 @@
   LOAD_G1_REG(g1_reg);
   LOAD_FPRS_REG(fprs_reg);
   LOAD_F_REGS_1(f_reg_save);
-  // LOAD_F_REGS_2(f_reg_save);
+  LOAD_F_REGS_2(f_reg_save);
   LOAD_FD_REGS(fd_reg_save);
   LOAD_FSR_REG(fsr_reg);
 }
@@ -527,8 +527,12 @@
     std::vector<BasicBlock *> vBB;
     constructVBB (paths[0], start, vBB);
     if (vBB.empty()) return;
-    if (!optimizeTrace (vBB, firstLevelTraceStartAddr))
+    if (!optimizeTrace (vBB, firstLevelTraceStartAddr)) {
+      // give up.
       tr->patchTrace(firstLevelTraceStartAddr);
+	  vm->writeBranchInstruction(firstLevelTraceStartAddr, start);
+	  doFlush(firstLevelTraceStartAddr-8, firstLevelTraceStartAddr+8);
+    }
     return;
   }
   






More information about the llvm-commits mailing list