Lines Matching refs:data
228 explicit PassRunner(T1* data) : data_(data) {}
243 bool Run(PassData* data)
245 TimeScope timescope("PreCompileCheckPass", data->GetMethodName(), data->GetMethodOffset(), data->GetLog());
246 bool enableLog = data->GetLog()->GetEnableMethodLog() && data->GetLog()->OutputType();
247 PreCompileChecker preCompileChecker(data, data->GetCircuit(), data->GetMethodName(), enableLog);
249 data->AbortCompilation();
258 bool Run(PassData* data)
260 TimeScope timescope("PGOTypeInferPass", data->GetMethodName(), data->GetMethodOffset(), data->GetLog());
261 bool enableLog = data->GetLog()->GetEnableMethodLog() && data->GetLog()->OutputType();
262 Chunk chunk(data->GetNativeAreaAllocator());
263 PGOTypeInfer pgoTypeInfer(data->GetCircuit(), data->GetBuilder(), data->GetMethodName(), &chunk, enableLog);
271 bool Run(PassData *data)
273 PassOptions *passOptions = data->GetPassOptions();
277 TimeScope timescope("EscapeAnalysisPass", data->GetMethodName(), data->GetMethodOffset(), data->GetLog());
278 bool enableLog = data->GetLog()->EnableMethodCIRLog();
279 JSRuntimeOptions runtimeOption = data->GetPassContext()->GetCompilationEnv()->GetJSOptions();
280 Chunk chunk(data->GetNativeAreaAllocator());
281 CombinedPassVisitor visitor(data->GetCircuit(), enableLog, data->GetMethodName(), &chunk);
282 EscapeAnalysis escapeAnalysis(data->GetCircuit(), &visitor, &chunk, runtimeOption.GetTraceEscapeAnalysis());
285 CombinedPassVisitor Editvisitor(data->GetCircuit(), enableLog, data->GetMethodName(), &chunk);
286 EscapeAnalysisEditor escapeAnalysisEditor(data->GetCircuit(), &visitor, &chunk,
297 bool Run(PassData *data)
299 PassOptions *passOptions = data->GetPassOptions();
303 TimeScope timescope("InductionVariableAnalysisPass", data->GetMethodName(),
304 data->GetMethodOffset(), data->GetLog());
305 bool enableLog = data->GetLog()->EnableMethodCIRLog();
306 JSRuntimeOptions runtimeOption = data->GetPassContext()->GetCompilationEnv()->GetJSOptions();
307 Chunk chunk(data->GetNativeAreaAllocator());
308 InductionVariableAnalysis inductionVariableAnalysis(data->GetCircuit(), data->GetPassContext(), enableLog,
309 data->GetMethodName(), &chunk,
318 bool Run(PassData* data)
320 PassOptions *passOptions = data->GetPassOptions();
324 TimeScope timescope("TypeBytecodeLoweringPass", data->GetMethodName(),
325 data->GetMethodOffset(), data->GetLog());
326 bool enableLog = data->GetLog()->EnableMethodCIRLog();
327 bool enableTypeLog = data->GetLog()->GetEnableMethodLog() && data->GetLog()->OutputType();
328 Chunk chunk(data->GetNativeAreaAllocator());
329 TypedBytecodeLowering lowering(data->GetCircuit(), data->GetPassContext(), &chunk,
332 data->GetMethodName(),
334 data->GetRecordName(),
335 data->GetCallMethodFlagMap(),
336 data->GetPGOProfilerDecoder(),
337 data->GetOptBCRange(),
338 data->GetMethodLiteral());
340 CombinedPassVisitor visitor(data->GetCircuit(), enableLog, data->GetMethodName(), &chunk);
341 DeadCodeElimination deadCodeElimination(data->GetCircuit(), &visitor, &chunk);
342 TSHCROptPass optimization(data->GetCircuit(), &visitor, &chunk, data->GetPassContext(), enableLog,
343 data->GetMethodName());
355 bool Run(PassData* data)
357 PassOptions *passOptions = data->GetPassOptions();
361 TimeScope timescope("NTypeBytecodeLoweringPass", data->GetMethodName(),
362 data->GetMethodOffset(), data->GetLog());
363 bool enableLog = data->GetLog()->EnableMethodCIRLog();
364 NTypeBytecodeLowering lowering(data->GetCircuit(), data->GetPassContext(), enableLog, data->GetMethodName(),
365 data->GetRecordName());
367 Chunk chunk(data->GetNativeAreaAllocator());
368 CombinedPassVisitor visitor(data->GetCircuit(), enableLog, data->GetMethodName(), &chunk);
369 DeadCodeElimination deadCodeElimination(data->GetCircuit(), &visitor, &chunk);
378 bool Run(PassData* data)
380 PassOptions *passOptions = data->GetPassOptions();
384 TimeScope timescope("StringOptimizationPass", data->GetMethodName(), data->GetMethodOffset(), data->GetLog());
385 bool enableLog = data->GetLog()->EnableMethodCIRLog();
386 Chunk chunk(data->GetNativeAreaAllocator());
387 StringBuilderOptimizer stringBuilder(data->GetCircuit(),
389 data->GetMethodName(),
390 data->GetCompilerConfig(),
399 bool Run(PassData* data)
401 PassOptions *passOptions = data->GetPassOptions();
406 TimeScope timescope("TypeHCRLoweringPass", data->GetMethodName(), data->GetMethodOffset(), data->GetLog());
407 bool enableLog = data->GetLog()->EnableMethodCIRLog();
408 Chunk chunk(data->GetNativeAreaAllocator());
409 CombinedPassVisitor visitor(data->GetCircuit(), enableLog, data->GetMethodName(), &chunk);
410 TypedHCRLowering lowering(data->GetCircuit(),
411 data->GetPassContext()->GetCompilationEnv(),
413 data->GetCompilerConfig(),
422 TimeScope timescope("TypedNativeInlineLoweringPass", data->GetMethodName(), data->GetMethodOffset(),
423 data->GetLog());
424 bool enableLog = data->GetLog()->EnableMethodCIRLog();
425 Chunk chunk(data->GetNativeAreaAllocator());
426 CombinedPassVisitor visitor(data->GetCircuit(), enableLog, data->GetMethodName(), &chunk);
427 TypedNativeInlineLowering lowering(data->GetCircuit(),
429 data->GetPassContext(),
430 data->GetCompilerConfig(),
443 bool Run(PassData* data)
445 PassOptions *passOptions = data->GetPassOptions();
449 TimeScope timescope("NTypeHCRLoweringPass", data->GetMethodName(), data->GetMethodOffset(), data->GetLog());
450 bool enableLog = data->GetLog()->EnableMethodCIRLog();
451 Chunk chunk(data->GetNativeAreaAllocator());
452 CombinedPassVisitor visitor(data->GetCircuit(), enableLog, data->GetMethodName(), &chunk);
453 JSRuntimeOptions runtimeOption = data->GetPassContext()->GetCompilationEnv()->GetJSOptions();
454 NTypeHCRLowering lowering(data->GetCircuit(), &visitor, data->GetPassContext(),
455 data->GetRecordName(), data->GetMethodLiteral(), runtimeOption.IsCompilerEnablePgoSpace(), &chunk);
465 bool Run(PassData* data)
467 PassOptions *passOptions = data->GetPassOptions();
471 TimeScope timescope("LCRLoweringPass", data->GetMethodName(), data->GetMethodOffset(), data->GetLog());
472 bool enableLog = data->GetLog()->EnableMethodCIRLog();
473 Chunk chunk(data->GetNativeAreaAllocator());
474 CombinedPassVisitor visitor(data->GetCircuit(), enableLog, data->GetMethodName(), &chunk);
475 MCRLowering lowering(data->GetPassContext()->GetCompilationEnv(), data->GetCircuit(), &visitor,
476 data->GetCompilerConfig(), &chunk);
486 bool Run(PassData* data)
488 PassOptions *passOptions = data->GetPassOptions();
492 TimeScope timescope("TSInlineLoweringPass", data->GetMethodName(), data->GetMethodOffset(), data->GetLog());
493 bool enableLog = data->GetLog()->EnableMethodCIRLog();
494 TSInlineLowering inlining(data->GetCircuit(), data->GetPassContext(), enableLog, data->GetMethodName(),
495 data->GetNativeAreaAllocator(), passOptions, data->GetMethodOffset(),
496 data->GetCallMethodFlagMap());
498 Chunk chunk(data->GetNativeAreaAllocator());
501 CombinedPassVisitor visitor(data->GetCircuit(), enableLog, data->GetMethodName(), &chunk);
502 GetEnvSpecializationPass getEnvSpecializationPass(data->GetCircuit(), &visitor, &chunk);
508 CombinedPassVisitor visitor(data->GetCircuit(), enableLog, data->GetMethodName(), &chunk);
509 LexicalEnvSpecializationPass lexicalEnvSpecializationPass(data->GetCircuit(), &visitor, &chunk,
519 NativeInlineLowering nativeInline(data->GetCircuit(), data->GetCompilerConfig(), data->GetPassContext(),
520 enableLog, data->GetMethodName(), &chunk);
529 bool Run(PassData* data)
531 TimeScope timescope("SlowPathLoweringPass", data->GetMethodName(), data->GetMethodOffset(), data->GetLog());
532 bool enableLog = data->GetLog()->EnableMethodCIRLog();
533 SlowPathLowering lowering(data->GetCircuit(), data->GetCompilerConfig(), data->GetPassContext(),
534 data->GetMethodLiteral(), enableLog, data->GetMethodName());
542 bool Run(PassData* data)
544 TimeScope timescope("FlowCyclesVerifierPass", data->GetMethodName(), data->GetMethodOffset(), data->GetLog());
545 bool hasFlowCycle = Verifier::RunFlowCyclesFind(data->GetCircuit());
556 bool Run(PassData* data)
558 TimeScope timescope("VerifierPass", data->GetMethodName(), data->GetMethodOffset(), data->GetLog());
559 bool enableLog = data->GetLog()->EnableMethodCIRLog();
560 bool isQualified = Verifier::Run(data->GetCircuit(), data->GetMethodName(), enableLog);
571 bool Run(PassData* data)
573 PassOptions *passOptions = data->GetPassOptions();
577 TimeScope timescope("NumberSpeculativePass", data->GetMethodName(), data->GetMethodOffset(), data->GetLog());
578 Chunk chunk(data->GetNativeAreaAllocator());
579 bool enableLog = data->GetLog()->EnableMethodCIRLog();
581 CombinedPassVisitor visitor(data->GetCircuit(), enableLog, data->GetMethodName(), &chunk);
582 NumberSpeculativeRunner(data->GetCircuit(), enableLog, enableArrayBoundsCheckElimination,
583 data->GetMethodName(), &chunk).Run();
590 bool Run(PassData* data)
592 PassOptions *passOptions = data->GetPassOptions();
596 TimeScope timescope("ConstantFoldingPass", data->GetMethodName(), data->GetMethodOffset(), data->GetLog());
597 Chunk chunk(data->GetNativeAreaAllocator());
598 bool enableLog = data->GetLog()->EnableMethodCIRLog();
599 CombinedPassVisitor visitor(data->GetCircuit(), enableLog, data->GetMethodName(), &chunk);
600 ConstantFolding constantFolding(data->GetCircuit(), &visitor, data->GetCompilerConfig(), enableLog,
601 data->GetMethodName(), &chunk);
611 bool Run(PassData* data)
613 TimeScope timescope("LoopOptimizationPass", data->GetMethodName(), data->GetMethodOffset(), data->GetLog());
614 Chunk chunk(data->GetNativeAreaAllocator());
615 LoopAnalysis loopAnalysis(data->GetBuilder(), data->GetCircuit(), &chunk);
617 bool enableLog = data->GetLog()->EnableMethodCIRLog();
623 if (data->GetPassOptions()->EnableOptLoopPeeling()) {
624 LoopPeeling(data->GetBuilder(), data->GetCircuit(), enableLog,
625 data->GetMethodName(), &chunk, loopInfo).Peel();
635 bool Run(PassData* data)
637 TimeScope timescope("RedundantPhiEliminationPass", data->GetMethodName(),
638 data->GetMethodOffset(), data->GetLog());
639 bool enableLog = data->GetLog()->EnableMethodCIRLog();
640 GraphEditor::EliminateRedundantPhi(data->GetCircuit(), enableLog, data->GetMethodName());
647 bool Run(PassData* data)
649 PassOptions *passOptions = data->GetPassOptions();
653 TimeScope timescope("EarlyEliminationPass", data->GetMethodName(),
654 data->GetMethodOffset(), data->GetLog());
655 bool enableLog = data->GetLog()->EnableMethodCIRLog() || data->GetLog()->EnableMethodASMLog();
656 Chunk chunk(data->GetNativeAreaAllocator());
657 CombinedPassVisitor visitor(data->GetCircuit(), enableLog, data->GetMethodName(), &chunk);
658 JSRuntimeOptions runtimeOption = data->GetPassContext()->GetCompilationEnv()->GetJSOptions();
659 EarlyElimination earlyElimination(data->GetCircuit(), &visitor, &chunk,
670 bool Run(PassData* data)
672 PassOptions *passOptions = data->GetPassOptions();
676 TimeScope timescope("LaterEliminationPass", data->GetMethodName(),
677 data->GetMethodOffset(), data->GetLog());
678 bool enableLog = data->GetLog()->EnableMethodCIRLog() || data->GetLog()->EnableMethodASMLog();
679 Chunk chunk(data->GetNativeAreaAllocator());
680 CombinedPassVisitor visitor(data->GetCircuit(), enableLog, data->GetMethodName(), &chunk);
681 LaterElimination laterElimination(data->GetCircuit(), &visitor, &chunk);
691 bool Run(PassData* data)
693 TimeScope timescope("UselessGateEliminationPass", data->GetMethodName(),
694 data->GetMethodOffset(), data->GetLog());
695 bool enableLog = data->GetLog()->EnableMethodCIRLog();
696 UselessGateElimination uselessGateElimination(data->GetCircuit(), enableLog, data->GetMethodName());
704 bool Run(PassData* data)
706 PassOptions *passOptions = data->GetPassOptions();
710 JSRuntimeOptions runtimeOption = data->GetPassContext()->GetCompilationEnv()->GetJSOptions();
711 TimeScope timescope("ValueNumberingPass", data->GetMethodName(), data->GetMethodOffset(), data->GetLog());
712 Chunk chunk(data->GetNativeAreaAllocator());
713 bool enableLog = data->GetLog()->EnableMethodCIRLog();
714 CombinedPassVisitor visitor(data->GetCircuit(), enableLog, data->GetMethodName(), &chunk);
715 ValueNumbering valueNumbering(data->GetCircuit(), &visitor, &chunk,
727 bool Run(PassData *data)
729 JSRuntimeOptions runtimeOption = data->GetPassContext()->GetCompilationEnv()->GetJSOptions();
731 TimeScope timescope("InstructionCombinePass", data->GetMethodName(), data->GetMethodOffset(),
732 data->GetLog());
733 Chunk chunk(data->GetNativeAreaAllocator());
734 bool enableLog = data->GetLog()->EnableMethodCIRLog();
735 CombinedPassVisitor visitor(data->GetCircuit(), enableLog, data->GetMethodName(), &chunk);
736 InstructionCombine instructionCombine(data->GetCircuit(), &visitor, &chunk,
748 bool Run(PassData* data)
750 TimeScope timescope("SchedulingPass", data->GetMethodName(), data->GetMethodOffset(), data->GetLog());
751 bool enableLog = data->GetLog()->EnableMethodCIRLog();
752 Scheduler::Run(data->GetCircuit(), data->GetCfg(), data->GetMethodName(), enableLog);
753 Chunk chunk(data->GetNativeAreaAllocator());
754 PostSchedule(data->GetCircuit(), enableLog, data->GetMethodName(), &chunk, true).Run(data->GetCfg());
761 bool Run(PassData* data)
763 PassOptions *passOptions = data->GetPassOptions();
767 TimeScope timescope("StateSplitLinearizerPass", data->GetMethodName(),
768 data->GetMethodOffset(), data->GetLog());
769 Chunk chunk(data->GetNativeAreaAllocator());
770 bool enableLog = data->GetLog()->EnableMethodCIRLog();
771 StateSplitLinearizer(data->GetPassContext()->GetCompilationEnv(), data->GetCircuit(), nullptr,
772 data->GetCompilerConfig(), enableLog, data->GetMethodName(), &chunk)
780 bool Run(PassData* data)
782 TimeScope timescope("GraphLinearizerPass", data->GetMethodName(), data->GetMethodOffset(), data->GetLog());
783 Chunk chunk(data->GetNativeAreaAllocator());
784 bool enableLog = data->GetLog()->EnableMethodCIRLog();
785 bool licm = data->GetPassOptions()->EnableOptLoopInvariantCodeMotion();
786 bool liteCG = data->GetPassContext()->GetCompilationEnv()->GetJSOptions().IsCompilerEnableLiteCG();
787 GraphLinearizer(data->GetCircuit(), enableLog, data->GetMethodName(), &chunk, false, licm, liteCG)
788 .Run(data->GetCfg());
789 PostSchedule(data->GetCircuit(), enableLog, data->GetMethodName(), &chunk).Run(data->GetCfg());
808 bool Run(PassData *data)
810 auto module = data->GetAotModule();
811 TimeScope timescope("CGIRGenPass", data->GetMethodName(), data->GetMethodOffset(), data->GetLog());
812 bool enableLog = data->GetLog()->EnableMethodCIRLog() || data->GetLog()->EnableMethodASMLog();
813 PassOptions *passOptions = data->GetPassOptions();
817 CodeGenerator codegen(cgImpl_, data->GetMethodName());
818 codegen.Run(data->GetCircuit(), data->GetConstScheduleResult(), data->GetCompilerConfig(),
819 data->GetMethodLiteral(), data->GetJSPandaFile(), data->GetCircuit()->GetFrameType(),
829 bool Run(PassData* data)
831 TimeScope timescope("AsyncFunctionLoweringPass", data->GetMethodName(),
832 data->GetMethodOffset(), data->GetLog());
833 bool enableLog = data->GetLog()->EnableMethodCIRLog() || data->GetLog()->EnableMethodASMLog();
834 AsyncFunctionLowering lowering(data->GetBuilder(), data->GetCircuit(), data->GetCompilerConfig(),
835 enableLog, data->GetMethodName());
843 bool IsFunctionMain(PassData* data)
845 auto methodName = data->GetMethodName();