Source/Packages

Compiler.Planning.Liveness

packages/compiler/planning/src/Compiler/Planning/Liveness.alpha

1,458 lines160 declarations54.8 KiBSHA-256 5734e8062a86

def · lines 927–959

livenessSlotReusable

Full file
927def livenessSlotReusable =
928  (lambda unrestricted lifetime : (family Lifetime) .
929    (lambda unrestricted slot : (family LivenessSlot) .
930      (eliminate
931        Lifetime
932        (lambda unrestricted current : (family Lifetime) . Nat)
933        lifetime
934        (branch
935          LifetimeValue
936          tensor
937          firstUse
938          lastUse
939          bytes
940          alignment
941          .
942          (eliminate
943            LivenessSlot
944            (lambda unrestricted current : (family LivenessSlot) . Nat)
945            slot
946            (branch
947              LivenessSlotValue
948              offset
949              capacity
950              slotLastUse
951              .
952              (naturalFlagAnd
953                (nat-less-than (modelWord32ToNatural slotLastUse) (modelWord32ToNatural firstUse))
954                (naturalFlagAnd
955                  (word64LessThanOrEqual (stdByteCountValue bytes) (stdByteCountValue capacity))
956                  (modelWord64IsZero
957                    (modelWord64And
958                      (stdByteCountValue offset)
959                      (modelWord64Subtract (stdByteAlignmentValue alignment) modelWord64One)))))))))))

The compiler supplied declaration spans and resolved links from this source snapshot. This page does not assert that this file belongs to a checked closure.