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