fix bug alive doesn't type check with > 64 bits
ADD
tests/unit/shl.opt
+%3 = sext i1 %1 to i65
+%4 = shl i65 %0, %3
+ =>
+%3n = zext i1 %1 to i65
+%4 = shl i65 %0, %3n

MODIFY
tools/alive_parser.cpp
tools/alive_parser.cpp
@@ -1026,9 +1026,9 @@ exit:
if (bb->empty())
error("Block cannot be empty");
- auto &type = get_sym_type();
- bb->addInstr(make_unique<Return>(type, bb->back()));
- f.setType(type);
+ auto &val = bb->back();
+ bb->addInstr(make_unique<Return>(val.getType(), val));
+ f.setType(val.getType());
}
}

fix bug #113: alive doesn't type check with > 64 bits