diff --git a/compiler/optimizer/ecma_pipeline.cpp b/compiler/optimizer/ecma_pipeline.cpp index 85ade812308fa03b1687024264a15d638d3aed57..5c9c1af342a72234dbcdd21cedeb9931b46f6038 100644 --- a/compiler/optimizer/ecma_pipeline.cpp +++ b/compiler/optimizer/ecma_pipeline.cpp @@ -112,6 +112,7 @@ bool EcmaPipeline::RunOptimizations() #endif // NDEBUG graph->RunPass(false); graph->RunPass(); + graph->RunPass(false); graph->RunPass(); graph->RunPass(OPTIONS.IsCompilerMemoryCoalescingAligned()); graph->RunPass(OPTIONS.GetCompilerIfConversionLimit()); diff --git a/tests/checked/obj_by_value.js b/tests/checked/obj_by_value.js index d875a0fa299c6fdc3d7a1ced201a1f7e2ca07f14..c8822208093cbebbb8fea13a43ab6990319a04ca 100644 --- a/tests/checked/obj_by_value.js +++ b/tests/checked/obj_by_value.js @@ -16,7 +16,7 @@ //! CHECKER Test check store and load by value //! RUN options: "--no-async-jit --compiler-hotness-threshold=10 --compiler-regex _GLOBAL::test_value.*", entry: "_GLOBAL::func_main_0" //! METHOD "test_value_store_single_class" -//! PASS_BEFORE "Scheduler" +//! PASS_BEFORE "Lowering" //! INST "AnyTypeCheck ECMASCRIPT_HEAP_OBJECT_TYPE" //! INST_NEXT "CastAnyTypeValue" //! INST_NEXT /LoadObject.*Class/ @@ -30,7 +30,7 @@ //! INST_NEXT "StoreArray" //! INST_NOT "Intrinsic.StObjByValue" //! METHOD "test_value_load_single_class" -//! PASS_BEFORE "Scheduler" +//! PASS_BEFORE "Lowering" //! INST "AnyTypeCheck ECMASCRIPT_HEAP_OBJECT_TYPE" //! INST_NEXT "CastAnyTypeValue" //! INST_NEXT /LoadObject.*Class/ @@ -45,7 +45,7 @@ //! INST_NEXT "DeoptimizeIf" //! INST_NOT "Intrinsic.LdObjByValue" //! METHOD "test_value_store_two_classes" -//! PASS_BEFORE "Scheduler" +//! PASS_BEFORE "Lowering" //! INST "AnyTypeCheck ECMASCRIPT_HEAP_OBJECT_TYPE" //! INST_NEXT "CastAnyTypeValue" //! INST_NEXT /LoadObject.*Class/ @@ -62,7 +62,7 @@ //! INST_NEXT "StoreArray" //! INST_NOT "Intrinsic.StObjByValue" //! METHOD "test_value_load_two_classes" -//! PASS_BEFORE "Scheduler" +//! PASS_BEFORE "Lowering" //! INST "AnyTypeCheck ECMASCRIPT_HEAP_OBJECT_TYPE" //! INST_NEXT "CastAnyTypeValue" //! INST_NEXT /LoadObject.*Class/ @@ -80,15 +80,15 @@ //! INST_NEXT "DeoptimizeIf" //! INST_NOT "Intrinsic.LdObjByValue" //! METHOD "test_value_store_not_int" -//! PASS_BEFORE "Scheduler" +//! PASS_BEFORE "Lowering" //! INST_NOT "AnyTypeCheck ECMASCRIPT_HEAP_OBJECT_TYPE" //! INST "Intrinsic.StObjByValue" //! METHOD "test_value_load_not_int" -//! PASS_BEFORE "Scheduler" +//! PASS_BEFORE "Lowering" //! INST_NOT "AnyTypeCheck ECMASCRIPT_HEAP_OBJECT_TYPE" //! INST "Intrinsic.LdObjByValue" //! METHOD "test_value_store_key" -//! PASS_BEFORE "Scheduler" +//! PASS_BEFORE "Lowering" //! INST "LoadObjFromConst" //! INST_NEXT "Compare" //! INST_NEXT "DeoptimizeIf" @@ -100,7 +100,7 @@ //! INST_NEXT "DeoptimizeIf" //! INST_NOT "Intrinsic.StObjByValue" //! METHOD "test_value_load_key" -//! PASS_BEFORE "Scheduler" +//! PASS_BEFORE "Lowering" //! INST "LoadObjFromConst" //! INST_NEXT "Compare" //! INST_NEXT "DeoptimizeIf" @@ -115,7 +115,7 @@ //! EVENT_NEXT /DeoptimizationReason,.*test_value_load_single_class.*INLINE_IC/ //! EVENT_NEXT /DeoptimizationReason,.*test_value_store_two_classes.*ANY_TYPE_CHECK/ //! METHOD "test_value_store_with_update_length" -//! PASS_BEFORE "Scheduler" +//! PASS_BEFORE "Lowering" //! INST "AnyTypeCheck ECMASCRIPT_HEAP_OBJECT_TYPE" //! INST_NEXT "CastAnyTypeValue" //! INST_NEXT /LoadObject.*Class/