1 package org.simantics.scl.compiler.internal.codegen.ssa.statements;
3 import org.simantics.scl.compiler.internal.codegen.references.BoundVar;
4 import org.simantics.scl.compiler.internal.codegen.ssa.SSAStatement;
5 import org.simantics.scl.compiler.internal.codegen.ssa.binders.BoundVarBinder;
6 import org.simantics.scl.compiler.internal.codegen.utils.SSASimplificationContext;
7 import org.simantics.scl.compiler.internal.codegen.utils.SSAValidationContext;
9 public abstract class LetStatement extends SSAStatement implements BoundVarBinder {
12 public LetStatement(BoundVar target) {
17 public void simplify(SSASimplificationContext context) {
18 if(target.hasNoOccurences()) {
20 context.markModified("dead-let-statement");
24 public BoundVar getTarget() {
28 public void setTarget(BoundVar target) {
34 public void addBoundVariablesTo(SSAValidationContext context) {
35 context.validBoundVariables.add(target);