MCPcopy Create free account
hub / github.com/AliveToolkit/alive2 / parse_conversionop

Function parse_conversionop

tools/alive_parser.cpp:935–952  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

933}
934
935static unique_ptr<Instr> parse_conversionop(string_view name, token op_token) {
936 // op ty %op to ty2
937 auto &opty = parse_type();
938 auto &val = parse_operand(opty);
939 auto &ty2 = parse_type(/*optional=*/!tokenizer.consumeIf(TO));
940
941 ConversionOp::Op op;
942 switch (op_token) {
943 case BITCAST: op = ConversionOp::BitCast; break;
944 case SEXT: op = ConversionOp::SExt; break;
945 case ZEXT: op = ConversionOp::ZExt; break;
946 case TRUNC: op = ConversionOp::Trunc; break;
947 case PTRTOINT: op = ConversionOp::Ptr2Int; break;
948 default:
949 UNREACHABLE();
950 }
951 return make_unique<ConversionOp>(ty2, string(name), val, op);
952}
953
954static unique_ptr<Instr>
955parse_fp_conversionop(string_view name, token op_token) {

Callers 1

parse_instrFunction · 0.85

Calls 1

consumeIfMethod · 0.80

Tested by

no test coverage detected