build(andNode.getFirstNode(), m);
return BooleanLiteral.FALSE;
} else {
Variable ret = m.getNewTemporaryVariable();
Label l = m.getNewLabel();
Operand v1 = build(andNode.getFirstNode(), m);
m.addInstr(new CopyInstr(ret, BooleanLiteral.FALSE));
m.addInstr(new BEQInstr(v1, BooleanLiteral.FALSE, l));
Operand v2 = build(andNode.getSecondNode(), m);
m.addInstr(new CopyInstr(ret, v2));
m.addInstr(new LABEL_Instr(l));
return ret;
}
}