one 37-branch split per instruction, up front: the summary answers reads,
writes, predicate writes, wait and set keys and latency together, and the
node carries the instruction itself for the rebuild with its new stall
173def sm86AnnotateProgram =
174 (lambda unrestricted program : (family SM86Program) .
175 (eliminate SM86Program
176 (lambda unrestricted current : (family SM86Program) . (family CompactionAnnotated))
177 program
178 (branch SM86ProgramEnd . (constructor CompactionAnnotated CompactionAnnotatedEnd))
179 (branch SM86ProgramNext instruction tail induction .
180 (eliminate SM86Instruction
181 (lambda unrestricted current : (family SM86Instruction) . (family CompactionAnnotated))
182 instruction
183 (branch SM86InstructionValue guard body .
184 (eliminate SM86OpSummary
185 (lambda unrestricted current : (family SM86OpSummary) . (family CompactionAnnotated))
186 (sm86OpSummaryOfBody body)
187 (branch SM86OpSummaryValue reads writes predicateWrites waitKeys setKeys stall latency variable minimum control .
188 (constructor CompactionAnnotated CompactionAnnotatedNext
189 instruction
190 (scNeedsMake reads writes (sm86GuardKeys instruction) predicateWrites waitKeys)
191 (scIssueMake writes predicateWrites)
192 setKeys
193 latency
194 minimum
195 induction))))))))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.