diff --git a/hail/src/main/scala/is/hail/expr/ir/Emit.scala b/hail/src/main/scala/is/hail/expr/ir/Emit.scala index 9c88047a7f7..0a6836d2a76 100644 --- a/hail/src/main/scala/is/hail/expr/ir/Emit.scala +++ b/hail/src/main/scala/is/hail/expr/ir/Emit.scala @@ -839,15 +839,12 @@ class Emit[C]( emitI(cond).consume(cb, {}, m => cb.if_(m.asBoolean.value, emitVoid(cnsq), emitVoid(altr))) - case x @ Let(bindings, body) => - val (voidBindings, valueBindings) = bindings.partition(_._2.typ == TVoid) - val voidOps = voidBindings.map(_._2) :+ body - + case Let(bindings, body) => def go(env: EmitEnv): IndexedSeq[(String, IR)] => Unit = { case (name, value) +: rest => if (value.typ == TVoid) { - assert(false) emitVoid(value, env = env) + go(env)(rest) } else { val xVal = if (value.typ.isInstanceOf[TStream]) emitStream(value, region, env = env) @@ -858,31 +855,10 @@ class Emit[C]( } } case Seq() => - if ( - !ctx.inLoopCriticalPath.contains(x) && voidOps.forall(x => - !ctx.inLoopCriticalPath.contains(x) - ) - ) { - voidOps.grouped(16).zipWithIndex.foreach { case (group, idx) => - val mb = cb.emb.genEmitMethod( - s"begin_group_$idx", - FastSeq[ParamType](classInfo[Region]), - UnitInfo, - ) - mb.voidWithBuilder { cb => - group.foreach(x => - emitVoid(x, cb, mb.getCodeParam[Region](1), env, container, loopEnv) - ) - } - cb.invokeVoid(mb, region) - } - } else - voidOps.foreach(x => emitVoid(x)) emitVoid(body, env = env) } - go(env)(valueBindings) -// go(env)(bindings) + go(env)(bindings) case StreamFor(a, valueName, body) => emitStream(a, region).toI(cb).consume( diff --git a/hail/src/main/scala/is/hail/expr/ir/LowerOrInterpretNonCompilable.scala b/hail/src/main/scala/is/hail/expr/ir/LowerOrInterpretNonCompilable.scala index 51fcd756c58..02e7db7a9fa 100644 --- a/hail/src/main/scala/is/hail/expr/ir/LowerOrInterpretNonCompilable.scala +++ b/hail/src/main/scala/is/hail/expr/ir/LowerOrInterpretNonCompilable.scala @@ -17,7 +17,6 @@ object LowerOrInterpretNonCompilable { case Some(failReason) => log.info(s"LowerOrInterpretNonCompilable: cannot efficiently lower query: $failReason") log.info(s"interpreting non-compilable result: ${value.getClass.getSimpleName}") - println(s"interpreting subtree:\n${Pretty.sexprStyle(value)}\n============\n") val v = Interpret.alreadyLowered(ctx, value) if (value.typ == TVoid) { Begin(FastSeq()) @@ -25,7 +24,6 @@ object LowerOrInterpretNonCompilable { case None => log.info(s"LowerOrInterpretNonCompilable: whole stage code generation is a go!") log.info(s"lowering result: ${value.getClass.getSimpleName}") - println(s"lowering and executing subtree:\n${Pretty.sexprStyle(ir)}\n============\n") val fullyLowered = LowerToDistributedArrayPass(DArrayLowering.All).transform(ctx, value) .asInstanceOf[IR] log.info(s"compiling and evaluating result: ${value.getClass.getSimpleName}") @@ -63,12 +61,6 @@ object LowerOrInterpretNonCompilable { } } - println(s"LowerOrInterpretNonCompilable:\n${Pretty.sexprStyle(ir)}\n============\n") - - val res = rewrite(ir.noSharing(ctx), mutable.HashMap.empty) - - println("LowerOrInterpretNonCompilable done") - - res + rewrite(ir.noSharing(ctx), mutable.HashMap.empty) } }