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 2910 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2966 if (!CheckArgumentsPhiUses()) { | 2967 if (!CheckArgumentsPhiUses()) { |
2967 *bailout_reason = kUnsupportedPhiUseOfArguments; | 2968 *bailout_reason = kUnsupportedPhiUseOfArguments; |
2968 return false; | 2969 return false; |
2969 } | 2970 } |
2970 | 2971 |
2971 // Remove dead code and phis | 2972 // Remove dead code and phis |
2972 if (FLAG_dead_code_elimination) Run<HDeadCodeEliminationPhase>(); | 2973 if (FLAG_dead_code_elimination) Run<HDeadCodeEliminationPhase>(); |
2973 | 2974 |
2974 if (FLAG_use_escape_analysis) Run<HEscapeAnalysisPhase>(); | 2975 if (FLAG_use_escape_analysis) Run<HEscapeAnalysisPhase>(); |
2975 | 2976 |
| 2977 if (FLAG_load_elimination) Run<HLoadEliminationPhase>(); |
| 2978 |
2976 CollectPhis(); | 2979 CollectPhis(); |
2977 | 2980 |
2978 if (has_osr()) osr()->FinishOsrValues(); | 2981 if (has_osr()) osr()->FinishOsrValues(); |
2979 | 2982 |
2980 Run<HInferRepresentationPhase>(); | 2983 Run<HInferRepresentationPhase>(); |
2981 | 2984 |
2982 // Remove HSimulate instructions that have turned out not to be needed | 2985 // Remove HSimulate instructions that have turned out not to be needed |
2983 // after all by folding them into the following HSimulate. | 2986 // after all by folding them into the following HSimulate. |
2984 // This must happen after inferring representations. | 2987 // This must happen after inferring representations. |
2985 Run<HMergeRemovableSimulatesPhase>(); | 2988 Run<HMergeRemovableSimulatesPhase>(); |
(...skipping 6694 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
9680 if (ShouldProduceTraceOutput()) { | 9683 if (ShouldProduceTraceOutput()) { |
9681 isolate()->GetHTracer()->TraceHydrogen(name(), graph_); | 9684 isolate()->GetHTracer()->TraceHydrogen(name(), graph_); |
9682 } | 9685 } |
9683 | 9686 |
9684 #ifdef DEBUG | 9687 #ifdef DEBUG |
9685 graph_->Verify(false); // No full verify. | 9688 graph_->Verify(false); // No full verify. |
9686 #endif | 9689 #endif |
9687 } | 9690 } |
9688 | 9691 |
9689 } } // namespace v8::internal | 9692 } } // namespace v8::internal |
OLD | NEW |