OLD | NEW |
1 // Copyright 2013 the V8 project authors. All rights reserved. | 1 // Copyright 2013 the V8 project authors. All rights reserved. |
2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
4 // met: | 4 // met: |
5 // | 5 // |
6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
(...skipping 25 matching lines...) Expand all Loading... |
36 #include "hydrogen-bce.h" | 36 #include "hydrogen-bce.h" |
37 #include "hydrogen-bch.h" | 37 #include "hydrogen-bch.h" |
38 #include "hydrogen-canonicalize.h" | 38 #include "hydrogen-canonicalize.h" |
39 #include "hydrogen-dce.h" | 39 #include "hydrogen-dce.h" |
40 #include "hydrogen-dehoist.h" | 40 #include "hydrogen-dehoist.h" |
41 #include "hydrogen-deoptimizing-mark.h" | 41 #include "hydrogen-deoptimizing-mark.h" |
42 #include "hydrogen-environment-liveness.h" | 42 #include "hydrogen-environment-liveness.h" |
43 #include "hydrogen-escape-analysis.h" | 43 #include "hydrogen-escape-analysis.h" |
44 #include "hydrogen-infer-representation.h" | 44 #include "hydrogen-infer-representation.h" |
45 #include "hydrogen-infer-types.h" | 45 #include "hydrogen-infer-types.h" |
| 46 #include "hydrogen-load-elimination.h" |
46 #include "hydrogen-gvn.h" | 47 #include "hydrogen-gvn.h" |
47 #include "hydrogen-mark-deoptimize.h" | 48 #include "hydrogen-mark-deoptimize.h" |
48 #include "hydrogen-minus-zero.h" | 49 #include "hydrogen-minus-zero.h" |
49 #include "hydrogen-osr.h" | 50 #include "hydrogen-osr.h" |
50 #include "hydrogen-range-analysis.h" | 51 #include "hydrogen-range-analysis.h" |
51 #include "hydrogen-redundant-phi.h" | 52 #include "hydrogen-redundant-phi.h" |
52 #include "hydrogen-removable-simulates.h" | 53 #include "hydrogen-removable-simulates.h" |
53 #include "hydrogen-representation-changes.h" | 54 #include "hydrogen-representation-changes.h" |
54 #include "hydrogen-sce.h" | 55 #include "hydrogen-sce.h" |
55 #include "hydrogen-uint32-analysis.h" | 56 #include "hydrogen-uint32-analysis.h" |
(...skipping 2922 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2978 if (!CheckArgumentsPhiUses()) { | 2979 if (!CheckArgumentsPhiUses()) { |
2979 *bailout_reason = kUnsupportedPhiUseOfArguments; | 2980 *bailout_reason = kUnsupportedPhiUseOfArguments; |
2980 return false; | 2981 return false; |
2981 } | 2982 } |
2982 | 2983 |
2983 // Remove dead code and phis | 2984 // Remove dead code and phis |
2984 if (FLAG_dead_code_elimination) Run<HDeadCodeEliminationPhase>(); | 2985 if (FLAG_dead_code_elimination) Run<HDeadCodeEliminationPhase>(); |
2985 | 2986 |
2986 if (FLAG_use_escape_analysis) Run<HEscapeAnalysisPhase>(); | 2987 if (FLAG_use_escape_analysis) Run<HEscapeAnalysisPhase>(); |
2987 | 2988 |
| 2989 if (FLAG_load_elimination) Run<HLoadEliminationPhase>(); |
| 2990 |
2988 CollectPhis(); | 2991 CollectPhis(); |
2989 | 2992 |
2990 if (has_osr()) osr()->FinishOsrValues(); | 2993 if (has_osr()) osr()->FinishOsrValues(); |
2991 | 2994 |
2992 Run<HInferRepresentationPhase>(); | 2995 Run<HInferRepresentationPhase>(); |
2993 | 2996 |
2994 // Remove HSimulate instructions that have turned out not to be needed | 2997 // Remove HSimulate instructions that have turned out not to be needed |
2995 // after all by folding them into the following HSimulate. | 2998 // after all by folding them into the following HSimulate. |
2996 // This must happen after inferring representations. | 2999 // This must happen after inferring representations. |
2997 Run<HMergeRemovableSimulatesPhase>(); | 3000 Run<HMergeRemovableSimulatesPhase>(); |
(...skipping 6706 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
9704 if (ShouldProduceTraceOutput()) { | 9707 if (ShouldProduceTraceOutput()) { |
9705 isolate()->GetHTracer()->TraceHydrogen(name(), graph_); | 9708 isolate()->GetHTracer()->TraceHydrogen(name(), graph_); |
9706 } | 9709 } |
9707 | 9710 |
9708 #ifdef DEBUG | 9711 #ifdef DEBUG |
9709 graph_->Verify(false); // No full verify. | 9712 graph_->Verify(false); // No full verify. |
9710 #endif | 9713 #endif |
9711 } | 9714 } |
9712 | 9715 |
9713 } } // namespace v8::internal | 9716 } } // namespace v8::internal |
OLD | NEW |