@@ -550,26 +550,30 @@ runCompiler moduleName opts expr = do
550
550
(opts ^. posInlineConstants)
551
551
552
552
-- GHC.Core -> Pir translation.
553
- pirT <- original <$> (PIR. runDefT annMayInline $ compileExprWithDefs expr)
553
+ pirT <- {-# SCC "plinth-plugin-core -to-pir-step" #-}
554
+ original <$> (PIR. runDefT annMayInline $ compileExprWithDefs expr)
554
555
let pirP = PIR. Program noProvenance plcVersion pirT
555
556
when (opts ^. posDumpPir) . liftIO $
556
557
dumpFlat (void pirP) " initial PIR program" (moduleName ++ " _initial.pir-flat" )
557
558
558
559
-- Pir -> (Simplified) Pir pass. We can then dump/store a more legible PIR program.
559
- spirP <- flip runReaderT pirCtx $ PIR. compileToReadable pirP
560
+ spirP <- {-# SCC "plinth-plugin-pir-to-simp-step" #-}
561
+ flip runReaderT pirCtx $ PIR. compileToReadable pirP
560
562
when (opts ^. posDumpPir) . liftIO $
561
563
dumpFlat (void spirP) " simplified PIR program" (moduleName ++ " _simplified.pir-flat" )
562
564
563
565
-- (Simplified) Pir -> Plc translation.
564
- plcP <- flip runReaderT pirCtx $ PIR. compileReadableToPlc spirP
566
+ plcP <- {-# SCC "plinth-plugin-simp-to-plc-step" #-}
567
+ flip runReaderT pirCtx $ PIR. compileReadableToPlc spirP
565
568
when (opts ^. posDumpPlc) . liftIO $
566
569
dumpFlat (void plcP) " typed PLC program" (moduleName ++ " .tplc-flat" )
567
570
568
571
-- We do this after dumping the programs so that if we fail typechecking we still get the dump.
569
572
when (opts ^. posDoTypecheck) . void $
570
573
liftExcept $ PLC. inferTypeOfProgram plcTcConfig (plcP $> annMayInline)
571
574
572
- uplcP <- flip runReaderT plcOpts $ PLC. compileProgram plcP
575
+ uplcP <- {-# SCC "plinth-plugin-plc-to-uplc-step" #-}
576
+ flip runReaderT plcOpts $ PLC. compileProgram plcP
573
577
dbP <- liftExcept $ traverseOf UPLC. progTerm UPLC. deBruijnTerm uplcP
574
578
when (opts ^. posDumpUPlc) . liftIO $
575
579
dumpFlat
0 commit comments