#ifdef GET_OPCODE_NAMES OP_AddSint8, OP_AddUint8, OP_AddSint16, OP_AddUint16, OP_AddSint32, OP_AddUint32, OP_AddSint64, OP_AddUint64, OP_AddIntAP, OP_AddIntAPS, OP_AddBool, #endif #ifdef GET_INTERP case OP_AddSint8: { … }(I); case PT_Sint64: return emitAddSint64(I); case PT_Uint64: return emitAddUint64(I); case PT_IntAP: return emitAddIntAP(I); case PT_IntAPS: return emitAddIntAPS(I); case PT_Bool: return emitAddBool(I); default: llvm_unreachable("invalid type: emitAdd"); } llvm_unreachable("invalid enum value"); } #endif #ifdef GET_LINK_IMPL bool ByteCodeEmitter::emitAddSint8(const SourceInfo &L) { … } return emitOp<>(OP_AddSint8, L); } bool ByteCodeEmitter::emitAddUint8(const SourceInfo &L) { … } return emitOp<>(OP_AddUint8, L); } bool ByteCodeEmitter::emitAddSint16(const SourceInfo &L) { … } return emitOp<>(OP_AddSint16, L); } bool ByteCodeEmitter::emitAddUint16(const SourceInfo &L) { … } return emitOp<>(OP_AddUint16, L); } bool ByteCodeEmitter::emitAddSint32(const SourceInfo &L) { … } return emitOp<>(OP_AddSint32, L); } bool ByteCodeEmitter::emitAddUint32(const SourceInfo &L) { … } return emitOp<>(OP_AddUint32, L); } bool ByteCodeEmitter::emitAddSint64(const SourceInfo &L) { … } return emitOp<>(OP_AddSint64, L); } bool ByteCodeEmitter::emitAddUint64(const SourceInfo &L) { … } return emitOp<>(OP_AddUint64, L); } bool ByteCodeEmitter::emitAddIntAP(const SourceInfo &L) { … } return emitOp<>(OP_AddIntAP, L); } bool ByteCodeEmitter::emitAddIntAPS(const SourceInfo &L) { … } return emitOp<>(OP_AddIntAPS, L); } bool ByteCodeEmitter::emitAddBool(const SourceInfo &L) { … } return emitOp<>(OP_AddBool, L); } #endif #ifdef GET_EVAL_IMPL bool EvalEmitter::emitAddSint8(const SourceInfo &L) { … } if (!isActive()) return true; CurrentSource = …