From 7a1e15311bb4eb6b154b430b107d082e09cf8bd7 Mon Sep 17 00:00:00 2001 From: Marty Stumpf Date: Thu, 23 Mar 2023 08:26:51 -0700 Subject: [PATCH] Add explanation for single test. --- plutus-core/plutus-ir/test/transform/inline/single | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/plutus-core/plutus-ir/test/transform/inline/single b/plutus-core/plutus-ir/test/transform/inline/single index 775aec9de26..a9a187c98a7 100644 --- a/plutus-core/plutus-ir/test/transform/inline/single +++ b/plutus-core/plutus-ir/test/transform/inline/single @@ -1,3 +1,16 @@ +{- let x = 42 + simple = let f = \y.y in f 1 + insideLambda = let f = \y.y in \y. (f 1) + trivialLambda = let f = \y.y in f (f 1) + variableCapture = let f = \y.y in let x = 24 in (f x) + in x + +- the `f` in `simple`, `insideLambda`, `variableCapture` get inlined by unconditional inlining +because it occurs only once in those. +- the `f` in `trivialLambda` gets inlined by the call site inliner because `f` occurs more than once +and is fully applied. +-} + (let (nonrec)