Title: [152278] branches/dfgFourthTier/Source/_javascript_Core
Revision
152278
Author
[email protected]
Date
2013-07-01 21:07:28 -0700 (Mon, 01 Jul 2013)

Log Message

fourthTier: FTL should run AA passes before GVN
https://bugs.webkit.org/show_bug.cgi?id=118276

Rubber stamped by Geoffrey Garen.
        
These enable load elimination in GVN.
        
Immediately gives us a speed-up on a bunch of benchmarks I hacked to run
properly in the FTL. One example is 20% on imaging-gaussian-blur. (Fair
warning: the stock version of that benchmark won't see speed-ups -
probably slow-downs instead - because the FTL can't do OSR entry yet.)
Another example is the findGraphNode function, which now sees a 7%
speed-up, and that's without even doing LICM or other good things.

* ftl/FTLCompile.cpp:
(JSC::FTL::compile):

Modified Paths

Diff

Modified: branches/dfgFourthTier/Source/_javascript_Core/ChangeLog (152277 => 152278)


--- branches/dfgFourthTier/Source/_javascript_Core/ChangeLog	2013-07-02 02:00:40 UTC (rev 152277)
+++ branches/dfgFourthTier/Source/_javascript_Core/ChangeLog	2013-07-02 04:07:28 UTC (rev 152278)
@@ -1,3 +1,22 @@
+2013-07-01  Filip Pizlo  <[email protected]>
+
+        fourthTier: FTL should run AA passes before GVN
+        https://bugs.webkit.org/show_bug.cgi?id=118276
+
+        Rubber stamped by Geoffrey Garen.
+        
+        These enable load elimination in GVN.
+        
+        Immediately gives us a speed-up on a bunch of benchmarks I hacked to run
+        properly in the FTL. One example is 20% on imaging-gaussian-blur. (Fair
+        warning: the stock version of that benchmark won't see speed-ups -
+        probably slow-downs instead - because the FTL can't do OSR entry yet.)
+        Another example is the findGraphNode function, which now sees a 7%
+        speed-up, and that's without even doing LICM or other good things.
+
+        * ftl/FTLCompile.cpp:
+        (JSC::FTL::compile):
+
 2013-06-27  Filip Pizlo  <[email protected]>
 
         Make Graph::substituteGetLocal() out-of-line

Modified: branches/dfgFourthTier/Source/_javascript_Core/ftl/FTLCompile.cpp (152277 => 152278)


--- branches/dfgFourthTier/Source/_javascript_Core/ftl/FTLCompile.cpp	2013-07-02 02:00:40 UTC (rev 152277)
+++ branches/dfgFourthTier/Source/_javascript_Core/ftl/FTLCompile.cpp	2013-07-02 04:07:28 UTC (rev 152278)
@@ -99,7 +99,7 @@
         dataLog("FATAL: Could not create LLVM execution engine: ", error, "\n");
         CRASH();
     }
-    
+
     LLVMPassManagerRef pass = LLVMCreatePassManager();
     LLVMAddTargetData(LLVMGetExecutionEngineTargetData(engine), pass);
     LLVMAddConstantPropagationPass(pass);
@@ -107,6 +107,8 @@
     LLVMAddPromoteMemoryToRegisterPass(pass);
     if (Options::enableLLVMLICM())
         LLVMAddLICMPass(pass);
+    LLVMAddBasicAliasAnalysisPass(pass);
+    LLVMAddTypeBasedAliasAnalysisPass(pass);
     LLVMAddGVNPass(pass);
     LLVMAddCFGSimplificationPass(pass);
     LLVMRunPassManager(pass, state.module);
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to