Title: [163929] trunk/Source/_javascript_Core
- Revision
- 163929
- Author
- [email protected]
- Date
- 2014-02-11 19:16:27 -0800 (Tue, 11 Feb 2014)
Log Message
Use LLVM's dead store elimination
https://bugs.webkit.org/show_bug.cgi?id=128638
Reviewed by Mark Hahnenberg.
DFG's store elimination was being run too soon for comfort on the FTL path. It's
really only sound when run after all other optimizations. Remove it from the FTL
path.
Enable LLVM store elimination. It's both easier to reason about and more
comprehensive.
* dfg/DFGPlan.cpp:
(JSC::DFG::Plan::compileInThreadImpl):
* ftl/FTLCompile.cpp:
(JSC::FTL::compile):
Modified Paths
Diff
Modified: trunk/Source/_javascript_Core/ChangeLog (163928 => 163929)
--- trunk/Source/_javascript_Core/ChangeLog 2014-02-12 02:55:22 UTC (rev 163928)
+++ trunk/Source/_javascript_Core/ChangeLog 2014-02-12 03:16:27 UTC (rev 163929)
@@ -1,3 +1,22 @@
+2014-02-11 Filip Pizlo <[email protected]>
+
+ Use LLVM's dead store elimination
+ https://bugs.webkit.org/show_bug.cgi?id=128638
+
+ Reviewed by Mark Hahnenberg.
+
+ DFG's store elimination was being run too soon for comfort on the FTL path. It's
+ really only sound when run after all other optimizations. Remove it from the FTL
+ path.
+
+ Enable LLVM store elimination. It's both easier to reason about and more
+ comprehensive.
+
+ * dfg/DFGPlan.cpp:
+ (JSC::DFG::Plan::compileInThreadImpl):
+ * ftl/FTLCompile.cpp:
+ (JSC::FTL::compile):
+
2014-02-11 Brian Burg <[email protected]>
Web Replay: upstream replay input code generator and EncodedValue class
Modified: trunk/Source/_javascript_Core/dfg/DFGPlan.cpp (163928 => 163929)
--- trunk/Source/_javascript_Core/dfg/DFGPlan.cpp 2014-02-12 02:55:22 UTC (rev 163928)
+++ trunk/Source/_javascript_Core/dfg/DFGPlan.cpp 2014-02-12 03:16:27 UTC (rev 163929)
@@ -255,7 +255,6 @@
dfg.m_fixpointState = FixpointConverged;
performStoreBarrierElision(dfg);
- performStoreElimination(dfg);
// If we're doing validation, then run some analyses, to give them an opportunity
// to self-validate. Now is as good a time as any to do this.
@@ -268,6 +267,7 @@
case DFGMode: {
performTierUpCheckInjection(dfg);
+ performStoreElimination(dfg);
performCPSRethreading(dfg);
performDCE(dfg);
performStackLayout(dfg);
Modified: trunk/Source/_javascript_Core/ftl/FTLCompile.cpp (163928 => 163929)
--- trunk/Source/_javascript_Core/ftl/FTLCompile.cpp 2014-02-12 02:55:22 UTC (rev 163928)
+++ trunk/Source/_javascript_Core/ftl/FTLCompile.cpp 2014-02-12 03:16:27 UTC (rev 163929)
@@ -486,6 +486,7 @@
llvm->AddTypeBasedAliasAnalysisPass(modulePasses);
llvm->AddGVNPass(modulePasses);
llvm->AddCFGSimplificationPass(modulePasses);
+ llvm->AddDeadStoreEliminationPass(modulePasses);
llvm->RunPassManager(modulePasses, state.module);
} else {
LLVMPassManagerBuilderRef passBuilder = llvm->PassManagerBuilderCreate();
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes