Created
January 12, 2017 14:21
-
-
Save locusf/2fa7f5dc9b8f8c04c5b8f4d659b337c1 to your computer and use it in GitHub Desktop.
Chaincode llvm IR code
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| ; ModuleID = 'main' | |
| source_filename = "main" | |
| target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" | |
| target triple = "x86_64-unknown-linux-gnu" | |
| %funcVal = type { void ()* } | |
| %structType = type { %commonType, %structFieldSlice } | |
| %commonType = type { i8, i8, i8, i64, i32, %funcVal*, %funcVal*, i8*, { i8*, i64 }*, %uncommonType*, %commonType* } | |
| %uncommonType = type { { i8*, i64 }*, { i8*, i64 }*, %methodSlice } | |
| %methodSlice = type { %method*, i64, i64 } | |
| %method = type { { i8*, i64 }*, { i8*, i64 }*, %commonType*, %commonType*, i8* } | |
| %structFieldSlice = type { %structField*, i64, i64 } | |
| %structField = type { { i8*, i64 }*, { i8*, i64 }*, %commonType*, { i8*, i64 }*, i64 } | |
| %arrayType = type { %commonType, %commonType*, %commonType*, i64 } | |
| %ptrType = type { %commonType, %commonType* } | |
| %funcType = type { %commonType, i8, %typeSlice, %typeSlice } | |
| %typeSlice = type { %commonType**, i64, i64 } | |
| %interfaceType = type { %commonType, %imethodSlice } | |
| %imethodSlice = type { %imethod*, i64, i64 } | |
| %imethod = type { { i8*, i64 }*, { i8*, i64 }*, %commonType* } | |
| %sliceType = type { %commonType, %commonType* } | |
| @__go_type_hash_empty_interface = external global i64 (i8*, i64) | |
| @__go_type_hash_empty_interface_descriptor = external global %funcVal | |
| @__go_type_equal_empty_interface = external global i8 (i8*, i8*, i64) | |
| @__go_type_equal_empty_interface_descriptor = external global %funcVal | |
| @__go_type_hash_interface_descriptor = external global %funcVal | |
| @__go_type_equal_interface_descriptor = external global %funcVal | |
| @__go_type_hash_string_descriptor = external global %funcVal | |
| @__go_type_equal_string_descriptor = external global %funcVal | |
| @__go_type_hash_identity_descriptor = external global %funcVal | |
| @__go_type_equal_identity_descriptor = external global %funcVal | |
| @__go_type_hash_error_descriptor = external global %funcVal | |
| @__go_type_equal_error_descriptor = external global %funcVal | |
| @__go_tdn_main.SimpleChaincode = constant %structType { %commonType { i8 -103, i8 1, i8 1, i64 0, i32 318774791, %funcVal* @__go_type_hash_Se_descriptor, %funcVal* @__go_type_equal_Se_descriptor, i8* bitcast ([2 x i8*]* @"__go_tdn_main.SimpleChaincode$gc" to i8*), { i8*, i64 }* @57, %uncommonType* @62, %commonType* getelementptr inbounds (%ptrType, %ptrType* @__go_td_pN20_main.SimpleChaincode, i32 0, i32 0) }, %structFieldSlice zeroinitializer } | |
| @0 = internal global [42 x i8] c"Incorrect number of arguments. Expecting 4" | |
| @1 = internal global [41 x i8] c"Expecting integer value for asset holding" | |
| @2 = internal global [41 x i8] c"Expecting integer value for asset holding" | |
| @__go_td_AIe2e = linkonce_odr constant %arrayType { %commonType { i8 17, i8 8, i8 8, i64 32, i32 30, %funcVal* @__go_type_hash_AIe2e_descriptor, %funcVal* @__go_type_hash_AIe2e_descriptor.4, i8* bitcast ([9 x i8*]* @"__go_td_AIe2e$gc" to i8*), { i8*, i64 }* @50, %uncommonType* null, %commonType* null }, %commonType* getelementptr inbounds (%interfaceType, %interfaceType* @__go_td_Ie, i32 0, i32 0), %commonType* getelementptr inbounds (%sliceType, %sliceType* @__go_td_AIee, i32 0, i32 0), i64 2 } | |
| @__go_tdn_int = linkonce_odr constant %commonType { i8 -126, i8 8, i8 8, i64 8, i32 50332917, %funcVal* @__go_type_hash_identity_descriptor, %funcVal* @__go_type_equal_identity_descriptor, i8* bitcast ([2 x i8*]* @"__go_tdn_int$gc" to i8*), { i8*, i64 }* @52, %uncommonType* @55, %commonType* null } | |
| @3 = internal global [21 x i8] c"Aval = %d, Bval = %d\0A" | |
| @4 = internal global [6 x i8] c"invoke" | |
| @5 = internal global [6 x i8] c"delete" | |
| @6 = internal global [5 x i8] c"query" | |
| @7 = internal global [65 x i8] c"Invalid invoke function name. Expecting \22invoke\22 \22delete\22 \22query\22" | |
| @8 = internal global [42 x i8] c"Incorrect number of arguments. Expecting 1" | |
| @9 = internal global [22 x i8] c"Failed to delete state" | |
| @10 = internal global [42 x i8] c"Incorrect number of arguments. Expecting 3" | |
| @11 = internal global [19 x i8] c"Failed to get state" | |
| @12 = internal global [16 x i8] c"Entity not found" | |
| @13 = internal global [19 x i8] c"Failed to get state" | |
| @14 = internal global [16 x i8] c"Entity not found" | |
| @15 = internal global [53 x i8] c"Invalid transaction amount, expecting a integer value" | |
| @16 = internal global [21 x i8] c"Aval = %d, Bval = %d\0A" | |
| @17 = internal global [68 x i8] c"Incorrect number of arguments. Expecting name of the person to query" | |
| @18 = internal global [34 x i8] c"{\22Error\22:\22Failed to get state for " | |
| @19 = internal global [2 x i8] c"\22}" | |
| @20 = internal global [25 x i8] c"{\22Error\22:\22Nil amount for " | |
| @21 = internal global [2 x i8] c"\22}" | |
| @22 = internal global [9 x i8] c"{\22Name\22:\22" | |
| @23 = internal global [12 x i8] c"\22,\22Amount\22:\22" | |
| @24 = internal global [2 x i8] c"\22}" | |
| @__go_td_AIe1e = linkonce_odr constant %arrayType { %commonType { i8 17, i8 8, i8 8, i64 16, i32 30, %funcVal* @__go_type_hash_AIe1e_descriptor, %funcVal* @__go_type_hash_AIe1e_descriptor.2, i8* bitcast ([9 x i8*]* @"__go_td_AIe1e$gc" to i8*), { i8*, i64 }* @48, %uncommonType* null, %commonType* null }, %commonType* getelementptr inbounds (%interfaceType, %interfaceType* @__go_td_Ie, i32 0, i32 0), %commonType* getelementptr inbounds (%sliceType, %sliceType* @__go_td_AIee, i32 0, i32 0), i64 1 } | |
| @__go_tdn_string = linkonce_odr constant %commonType { i8 24, i8 8, i8 8, i64 16, i32 100666096, %funcVal* @__go_type_hash_string_descriptor, %funcVal* @__go_type_equal_string_descriptor, i8* bitcast ([4 x i8*]* @"__go_tdn_string$gc" to i8*), { i8*, i64 }* @64, %uncommonType* @67, %commonType* null } | |
| @25 = internal global [18 x i8] c"Query Response:%s\0A" | |
| @"main..import$descriptor" = constant i8* bitcast (void (i8*)* @main..import to i8*) | |
| @"init$guard" = internal global i1 false | |
| @"main.main$descriptor" = constant i8* bitcast (void (i8*)* @main.main to i8*) | |
| @__go_td_pN20_main.SimpleChaincode = constant %ptrType { %commonType { i8 54, i8 8, i8 8, i64 8, i32 805429369, %funcVal* @__go_type_hash_identity_descriptor, %funcVal* @__go_type_equal_identity_descriptor, i8* bitcast ([5 x i8*]* @"__go_td_pN20_main.SimpleChaincode$gc" to i8*), { i8*, i64 }* @28, %uncommonType* @46, %commonType* null }, %commonType* getelementptr inbounds (%structType, %structType* @__go_tdn_main.SimpleChaincode, i32 0, i32 0) } | |
| @__go_imt_I4_InitFpN72_github_com_hyperledger_fabric_core_chaincode_shim.ChaincodeStubInterfaceerAN5_uint8eN5_erroree6_InvokeFpN72_github_com_hyperledger_fabric_core_chaincode_shim.ChaincodeStubInterfaceerAN5_uint8eN5_erroreee__pN20_main.SimpleChaincode = linkonce_odr constant [3 x i8*] [i8* getelementptr inbounds (%ptrType, %ptrType* @__go_td_pN20_main.SimpleChaincode, i32 0, i32 0, i32 0), i8* bitcast (void ({ { i8*, i64, i64 }, { i8*, i8* } }*, i8*, i8*, i8*, i8*)* @main.Init.pN20_main.SimpleChaincode to i8*), i8* bitcast (void ({ { i8*, i64, i64 }, { i8*, i8* } }*, i8*, i8*, i8*, i8*)* @main.Invoke.pN20_main.SimpleChaincode to i8*)] | |
| @26 = internal global [35 x i8] c"Error starting Simple chaincode: %s" | |
| @27 = internal constant [27 x i8] c"*\09main\09main.SimpleChaincode" | |
| @28 = internal constant { i8*, i64 } { i8* getelementptr inbounds ([27 x i8], [27 x i8]* @27, i32 0, i32 0), i64 27 } | |
| @29 = internal constant [6 x i8] c"delete" | |
| @30 = internal constant { i8*, i64 } { i8* getelementptr inbounds ([6 x i8], [6 x i8]* @29, i32 0, i32 0), i64 6 } | |
| @31 = internal constant [4 x i8] c"main" | |
| @32 = internal constant { i8*, i64 } { i8* getelementptr inbounds ([4 x i8], [4 x i8]* @31, i32 0, i32 0), i64 4 } | |
| @__go_td_FpN72_github_com_hyperledger_fabric_core_chaincode_shim.ChaincodeStubInterfaceAN6_stringeerAN5_uint8eN5_erroree = linkonce_odr constant %funcType { %commonType { i8 19, i8 8, i8 8, i64 8, i32 538385416, %funcVal* @__go_type_hash_error_descriptor, %funcVal* @__go_type_equal_error_descriptor, i8* bitcast ([4 x i8*]* @"__go_td_FpN72_github_com_hyperledger_fabric_core_chaincode_shim.ChaincodeStubInterfaceAN6_stringeerAN5_uint8eN5_erroree$gc" to i8*), { i8*, i64 }* @83, %uncommonType* null, %commonType* null }, i8 0, %typeSlice { %commonType** getelementptr inbounds ([2 x %commonType*], [2 x %commonType*]* @84, i32 0, i32 0), i64 2, i64 2 }, %typeSlice { %commonType** getelementptr inbounds ([2 x %commonType*], [2 x %commonType*]* @85, i32 0, i32 0), i64 2, i64 2 } } | |
| @__go_td_FppN20_main.SimpleChaincodeN72_github_com_hyperledger_fabric_core_chaincode_shim.ChaincodeStubInterfaceAN6_stringeerAN5_uint8eN5_erroree = linkonce_odr constant %funcType { %commonType { i8 19, i8 8, i8 8, i64 8, i32 -2140955992, %funcVal* @__go_type_hash_error_descriptor, %funcVal* @__go_type_equal_error_descriptor, i8* bitcast ([4 x i8*]* @"__go_td_FppN20_main.SimpleChaincodeN72_github_com_hyperledger_fabric_core_chaincode_shim.ChaincodeStubInterfaceAN6_stringeerAN5_uint8eN5_erroree$gc" to i8*), { i8*, i64 }* @75, %uncommonType* null, %commonType* null }, i8 0, %typeSlice { %commonType** getelementptr inbounds ([3 x %commonType*], [3 x %commonType*]* @76, i32 0, i32 0), i64 3, i64 3 }, %typeSlice { %commonType** getelementptr inbounds ([2 x %commonType*], [2 x %commonType*]* @77, i32 0, i32 0), i64 2, i64 2 } } | |
| @33 = internal constant [6 x i8] c"invoke" | |
| @34 = internal constant { i8*, i64 } { i8* getelementptr inbounds ([6 x i8], [6 x i8]* @33, i32 0, i32 0), i64 6 } | |
| @35 = internal constant [4 x i8] c"main" | |
| @36 = internal constant { i8*, i64 } { i8* getelementptr inbounds ([4 x i8], [4 x i8]* @35, i32 0, i32 0), i64 4 } | |
| @37 = internal constant [5 x i8] c"query" | |
| @38 = internal constant { i8*, i64 } { i8* getelementptr inbounds ([5 x i8], [5 x i8]* @37, i32 0, i32 0), i64 5 } | |
| @39 = internal constant [4 x i8] c"main" | |
| @40 = internal constant { i8*, i64 } { i8* getelementptr inbounds ([4 x i8], [4 x i8]* @39, i32 0, i32 0), i64 4 } | |
| @41 = internal constant [4 x i8] c"Init" | |
| @42 = internal constant { i8*, i64 } { i8* getelementptr inbounds ([4 x i8], [4 x i8]* @41, i32 0, i32 0), i64 4 } | |
| @__go_td_FpN72_github_com_hyperledger_fabric_core_chaincode_shim.ChaincodeStubInterfaceerAN5_uint8eN5_erroree = linkonce_odr constant %funcType { %commonType { i8 19, i8 8, i8 8, i64 8, i32 -1609278328, %funcVal* @__go_type_hash_error_descriptor, %funcVal* @__go_type_equal_error_descriptor, i8* bitcast ([4 x i8*]* @"__go_td_FpN72_github_com_hyperledger_fabric_core_chaincode_shim.ChaincodeStubInterfaceerAN5_uint8eN5_erroree$gc" to i8*), { i8*, i64 }* @79, %uncommonType* null, %commonType* null }, i8 0, %typeSlice { %commonType** getelementptr inbounds ([1 x %commonType*], [1 x %commonType*]* @80, i32 0, i32 0), i64 1, i64 1 }, %typeSlice { %commonType** getelementptr inbounds ([2 x %commonType*], [2 x %commonType*]* @81, i32 0, i32 0), i64 2, i64 2 } } | |
| @__go_td_FppN20_main.SimpleChaincodeN72_github_com_hyperledger_fabric_core_chaincode_shim.ChaincodeStubInterfaceerAN5_uint8eN5_erroree = linkonce_odr constant %funcType { %commonType { i8 19, i8 8, i8 8, i64 8, i32 -2141316184, %funcVal* @__go_type_hash_error_descriptor, %funcVal* @__go_type_equal_error_descriptor, i8* bitcast ([4 x i8*]* @"__go_td_FppN20_main.SimpleChaincodeN72_github_com_hyperledger_fabric_core_chaincode_shim.ChaincodeStubInterfaceerAN5_uint8eN5_erroree$gc" to i8*), { i8*, i64 }* @71, %uncommonType* null, %commonType* null }, i8 0, %typeSlice { %commonType** getelementptr inbounds ([2 x %commonType*], [2 x %commonType*]* @72, i32 0, i32 0), i64 2, i64 2 }, %typeSlice { %commonType** getelementptr inbounds ([2 x %commonType*], [2 x %commonType*]* @73, i32 0, i32 0), i64 2, i64 2 } } | |
| @43 = internal constant [6 x i8] c"Invoke" | |
| @44 = internal constant { i8*, i64 } { i8* getelementptr inbounds ([6 x i8], [6 x i8]* @43, i32 0, i32 0), i64 6 } | |
| @45 = internal constant [5 x %method] [%method { { i8*, i64 }* @30, { i8*, i64 }* @32, %commonType* getelementptr inbounds (%funcType, %funcType* @__go_td_FpN72_github_com_hyperledger_fabric_core_chaincode_shim.ChaincodeStubInterfaceAN6_stringeerAN5_uint8eN5_erroree, i32 0, i32 0), %commonType* getelementptr inbounds (%funcType, %funcType* @__go_td_FppN20_main.SimpleChaincodeN72_github_com_hyperledger_fabric_core_chaincode_shim.ChaincodeStubInterfaceAN6_stringeerAN5_uint8eN5_erroree, i32 0, i32 0), i8* bitcast (void ({ { i8*, i64, i64 }, { i8*, i8* } }*, i8*, i8*, i8*, i8*, { i8*, i64, i64 }*)* @main.delete.pN20_main.SimpleChaincode to i8*) }, %method { { i8*, i64 }* @34, { i8*, i64 }* @36, %commonType* getelementptr inbounds (%funcType, %funcType* @__go_td_FpN72_github_com_hyperledger_fabric_core_chaincode_shim.ChaincodeStubInterfaceAN6_stringeerAN5_uint8eN5_erroree, i32 0, i32 0), %commonType* getelementptr inbounds (%funcType, %funcType* @__go_td_FppN20_main.SimpleChaincodeN72_github_com_hyperledger_fabric_core_chaincode_shim.ChaincodeStubInterfaceAN6_stringeerAN5_uint8eN5_erroree, i32 0, i32 0), i8* bitcast (void ({ { i8*, i64, i64 }, { i8*, i8* } }*, i8*, i8*, i8*, i8*, { i8*, i64, i64 }*)* @main.invoke.pN20_main.SimpleChaincode to i8*) }, %method { { i8*, i64 }* @38, { i8*, i64 }* @40, %commonType* getelementptr inbounds (%funcType, %funcType* @__go_td_FpN72_github_com_hyperledger_fabric_core_chaincode_shim.ChaincodeStubInterfaceAN6_stringeerAN5_uint8eN5_erroree, i32 0, i32 0), %commonType* getelementptr inbounds (%funcType, %funcType* @__go_td_FppN20_main.SimpleChaincodeN72_github_com_hyperledger_fabric_core_chaincode_shim.ChaincodeStubInterfaceAN6_stringeerAN5_uint8eN5_erroree, i32 0, i32 0), i8* bitcast (void ({ { i8*, i64, i64 }, { i8*, i8* } }*, i8*, i8*, i8*, i8*, { i8*, i64, i64 }*)* @main.query.pN20_main.SimpleChaincode to i8*) }, %method { { i8*, i64 }* @42, { i8*, i64 }* null, %commonType* getelementptr inbounds (%funcType, %funcType* @__go_td_FpN72_github_com_hyperledger_fabric_core_chaincode_shim.ChaincodeStubInterfaceerAN5_uint8eN5_erroree, i32 0, i32 0), %commonType* getelementptr inbounds (%funcType, %funcType* @__go_td_FppN20_main.SimpleChaincodeN72_github_com_hyperledger_fabric_core_chaincode_shim.ChaincodeStubInterfaceerAN5_uint8eN5_erroree, i32 0, i32 0), i8* bitcast (void ({ { i8*, i64, i64 }, { i8*, i8* } }*, i8*, i8*, i8*, i8*)* @main.Init.pN20_main.SimpleChaincode to i8*) }, %method { { i8*, i64 }* @44, { i8*, i64 }* null, %commonType* getelementptr inbounds (%funcType, %funcType* @__go_td_FpN72_github_com_hyperledger_fabric_core_chaincode_shim.ChaincodeStubInterfaceerAN5_uint8eN5_erroree, i32 0, i32 0), %commonType* getelementptr inbounds (%funcType, %funcType* @__go_td_FppN20_main.SimpleChaincodeN72_github_com_hyperledger_fabric_core_chaincode_shim.ChaincodeStubInterfaceerAN5_uint8eN5_erroree, i32 0, i32 0), i8* bitcast (void ({ { i8*, i64, i64 }, { i8*, i8* } }*, i8*, i8*, i8*, i8*)* @main.Invoke.pN20_main.SimpleChaincode to i8*) }] | |
| @46 = internal constant %uncommonType { { i8*, i64 }* null, { i8*, i64 }* null, %methodSlice { %method* getelementptr inbounds ([5 x %method], [5 x %method]* @45, i32 0, i32 0), i64 5, i64 5 } } | |
| @"__go_td_pN20_main.SimpleChaincode$gc" = constant [5 x i8*] [i8* inttoptr (i64 8 to i8*), i8* inttoptr (i64 1 to i8*), i8* null, i8* bitcast ([2 x i8*]* @"__go_tdn_main.SimpleChaincode$gc" to i8*), i8* null] | |
| @__go_type_hash_AIe1e_descriptor = linkonce_odr constant %funcVal { void ()* bitcast (i64 (i8*, i64)* @__go_type_hash_AIe1e to void ()*) } | |
| @__go_type_hash_AIe1e_descriptor.2 = linkonce_odr constant %funcVal { void ()* bitcast (i8 (i8*, i8*, i64)* @__go_type_hash_AIe1e.1 to void ()*) } | |
| @47 = internal constant [15 x i8] c"[1]interface {}" | |
| @48 = internal constant { i8*, i64 } { i8* getelementptr inbounds ([15 x i8], [15 x i8]* @47, i32 0, i32 0), i64 15 } | |
| @__go_td_Ie = linkonce_odr constant %interfaceType { %commonType { i8 20, i8 8, i8 8, i64 16, i32 16, %funcVal* @__go_type_hash_empty_interface_descriptor, %funcVal* @__go_type_equal_empty_interface_descriptor, i8* bitcast ([4 x i8*]* @"__go_td_Ie$gc" to i8*), { i8*, i64 }* @87, %uncommonType* null, %commonType* null }, %imethodSlice zeroinitializer } | |
| @__go_td_AIee = linkonce_odr constant %sliceType { %commonType { i8 23, i8 8, i8 8, i64 24, i32 30, %funcVal* @__go_type_hash_error_descriptor, %funcVal* @__go_type_equal_error_descriptor, i8* bitcast ([5 x i8*]* @"__go_td_AIee$gc" to i8*), { i8*, i64 }* @69, %uncommonType* null, %commonType* null }, %commonType* getelementptr inbounds (%interfaceType, %interfaceType* @__go_td_Ie, i32 0, i32 0) } | |
| @"__go_td_AIe1e$gc" = linkonce_odr constant [9 x i8*] [i8* inttoptr (i64 16 to i8*), i8* inttoptr (i64 3 to i8*), i8* null, i8* inttoptr (i64 1 to i8*), i8* inttoptr (i64 16 to i8*), i8* inttoptr (i64 8 to i8*), i8* null, i8* inttoptr (i64 4 to i8*), i8* null] | |
| @__go_type_hash_AIe2e_descriptor = linkonce_odr constant %funcVal { void ()* bitcast (i64 (i8*, i64)* @__go_type_hash_AIe2e to void ()*) } | |
| @__go_type_hash_AIe2e_descriptor.4 = linkonce_odr constant %funcVal { void ()* bitcast (i8 (i8*, i8*, i64)* @__go_type_hash_AIe2e.3 to void ()*) } | |
| @49 = internal constant [15 x i8] c"[2]interface {}" | |
| @50 = internal constant { i8*, i64 } { i8* getelementptr inbounds ([15 x i8], [15 x i8]* @49, i32 0, i32 0), i64 15 } | |
| @"__go_td_AIe2e$gc" = linkonce_odr constant [9 x i8*] [i8* inttoptr (i64 32 to i8*), i8* inttoptr (i64 3 to i8*), i8* null, i8* inttoptr (i64 2 to i8*), i8* inttoptr (i64 16 to i8*), i8* inttoptr (i64 8 to i8*), i8* null, i8* inttoptr (i64 4 to i8*), i8* null] | |
| @51 = internal constant [3 x i8] c"int" | |
| @52 = internal constant { i8*, i64 } { i8* getelementptr inbounds ([3 x i8], [3 x i8]* @51, i32 0, i32 0), i64 3 } | |
| @53 = internal constant [3 x i8] c"int" | |
| @54 = internal constant { i8*, i64 } { i8* getelementptr inbounds ([3 x i8], [3 x i8]* @53, i32 0, i32 0), i64 3 } | |
| @55 = internal constant %uncommonType { { i8*, i64 }* @54, { i8*, i64 }* null, %methodSlice zeroinitializer } | |
| @"__go_tdn_int$gc" = linkonce_odr constant [2 x i8*] [i8* inttoptr (i64 8 to i8*), i8* null] | |
| @__go_type_hash_Se_descriptor = linkonce_odr constant %funcVal { void ()* bitcast (i64 (i8*, i64)* @__go_type_hash_Se to void ()*) } | |
| @__go_type_equal_Se_descriptor = linkonce_odr constant %funcVal { void ()* bitcast (i8 (i8*, i8*, i64)* @__go_type_equal_Se to void ()*) } | |
| @56 = internal constant [26 x i8] c"\09main\09main.SimpleChaincode" | |
| @57 = internal constant { i8*, i64 } { i8* getelementptr inbounds ([26 x i8], [26 x i8]* @56, i32 0, i32 0), i64 26 } | |
| @58 = internal constant [15 x i8] c"SimpleChaincode" | |
| @59 = internal constant { i8*, i64 } { i8* getelementptr inbounds ([15 x i8], [15 x i8]* @58, i32 0, i32 0), i64 15 } | |
| @60 = internal constant [4 x i8] c"main" | |
| @61 = internal constant { i8*, i64 } { i8* getelementptr inbounds ([4 x i8], [4 x i8]* @60, i32 0, i32 0), i64 4 } | |
| @62 = internal constant %uncommonType { { i8*, i64 }* @59, { i8*, i64 }* @61, %methodSlice zeroinitializer } | |
| @"__go_tdn_main.SimpleChaincode$gc" = constant [2 x i8*] zeroinitializer | |
| @63 = internal constant [6 x i8] c"string" | |
| @64 = internal constant { i8*, i64 } { i8* getelementptr inbounds ([6 x i8], [6 x i8]* @63, i32 0, i32 0), i64 6 } | |
| @65 = internal constant [6 x i8] c"string" | |
| @66 = internal constant { i8*, i64 } { i8* getelementptr inbounds ([6 x i8], [6 x i8]* @65, i32 0, i32 0), i64 6 } | |
| @67 = internal constant %uncommonType { { i8*, i64 }* @66, { i8*, i64 }* null, %methodSlice zeroinitializer } | |
| @"__go_tdn_string$gc" = linkonce_odr constant [4 x i8*] [i8* inttoptr (i64 16 to i8*), i8* inttoptr (i64 7 to i8*), i8* null, i8* null] | |
| @68 = internal constant [14 x i8] c"[]interface {}" | |
| @69 = internal constant { i8*, i64 } { i8* getelementptr inbounds ([14 x i8], [14 x i8]* @68, i32 0, i32 0), i64 14 } | |
| @"__go_td_AIee$gc" = linkonce_odr constant [5 x i8*] [i8* inttoptr (i64 24 to i8*), i8* inttoptr (i64 10 to i8*), i8* null, i8* bitcast ([4 x i8*]* @"__go_td_Ie$gc" to i8*), i8* null] | |
| @70 = internal constant [130 x i8] c"func(*\09main\09main.SimpleChaincode, \09github_com_hyperledger_fabric_core_chaincode_shim\09shim.ChaincodeStubInterface) ([]uint8, error)" | |
| @71 = internal constant { i8*, i64 } { i8* getelementptr inbounds ([130 x i8], [130 x i8]* @70, i32 0, i32 0), i64 130 } | |
| @__go_tdn_github_com_hyperledger_fabric_core_chaincode_shim.ChaincodeStubInterface = external constant %interfaceType | |
| @72 = internal constant [2 x %commonType*] [%commonType* getelementptr inbounds (%ptrType, %ptrType* @__go_td_pN20_main.SimpleChaincode, i32 0, i32 0), %commonType* getelementptr inbounds (%interfaceType, %interfaceType* @__go_tdn_github_com_hyperledger_fabric_core_chaincode_shim.ChaincodeStubInterface, i32 0, i32 0)] | |
| @__go_td_AN5_uint8e = linkonce_odr constant %sliceType { %commonType { i8 23, i8 8, i8 8, i64 24, i32 83888262, %funcVal* @__go_type_hash_error_descriptor, %funcVal* @__go_type_equal_error_descriptor, i8* bitcast ([5 x i8*]* @"__go_td_AN5_uint8e$gc" to i8*), { i8*, i64 }* @89, %uncommonType* null, %commonType* null }, %commonType* @__go_tdn_uint8 } | |
| @__go_tdn_error = linkonce_odr constant %interfaceType { %commonType { i8 20, i8 8, i8 8, i64 16, i32 83888406, %funcVal* @__go_type_hash_interface_descriptor, %funcVal* @__go_type_equal_interface_descriptor, i8* bitcast ([4 x i8*]* @"__go_tdn_error$gc" to i8*), { i8*, i64 }* @93, %uncommonType* @96, %commonType* getelementptr inbounds (%ptrType, %ptrType* @__go_td_pN5_error, i32 0, i32 0) }, %imethodSlice { %imethod* getelementptr inbounds ([1 x %imethod], [1 x %imethod]* @99, i32 0, i32 0), i64 1, i64 1 } } | |
| @73 = internal constant [2 x %commonType*] [%commonType* getelementptr inbounds (%sliceType, %sliceType* @__go_td_AN5_uint8e, i32 0, i32 0), %commonType* getelementptr inbounds (%interfaceType, %interfaceType* @__go_tdn_error, i32 0, i32 0)] | |
| @"__go_td_FppN20_main.SimpleChaincodeN72_github_com_hyperledger_fabric_core_chaincode_shim.ChaincodeStubInterfaceerAN5_uint8eN5_erroree$gc" = linkonce_odr constant [4 x i8*] [i8* inttoptr (i64 8 to i8*), i8* inttoptr (i64 2 to i8*), i8* null, i8* null] | |
| @74 = internal constant [140 x i8] c"func(*\09main\09main.SimpleChaincode, \09github_com_hyperledger_fabric_core_chaincode_shim\09shim.ChaincodeStubInterface, []string) ([]uint8, error)" | |
| @75 = internal constant { i8*, i64 } { i8* getelementptr inbounds ([140 x i8], [140 x i8]* @74, i32 0, i32 0), i64 140 } | |
| @__go_td_AN6_stringe = linkonce_odr constant %sliceType { %commonType { i8 23, i8 8, i8 8, i64 24, i32 100666110, %funcVal* @__go_type_hash_error_descriptor, %funcVal* @__go_type_equal_error_descriptor, i8* bitcast ([5 x i8*]* @"__go_td_AN6_stringe$gc" to i8*), { i8*, i64 }* @91, %uncommonType* null, %commonType* null }, %commonType* @__go_tdn_string } | |
| @76 = internal constant [3 x %commonType*] [%commonType* getelementptr inbounds (%ptrType, %ptrType* @__go_td_pN20_main.SimpleChaincode, i32 0, i32 0), %commonType* getelementptr inbounds (%interfaceType, %interfaceType* @__go_tdn_github_com_hyperledger_fabric_core_chaincode_shim.ChaincodeStubInterface, i32 0, i32 0), %commonType* getelementptr inbounds (%sliceType, %sliceType* @__go_td_AN6_stringe, i32 0, i32 0)] | |
| @77 = internal constant [2 x %commonType*] [%commonType* getelementptr inbounds (%sliceType, %sliceType* @__go_td_AN5_uint8e, i32 0, i32 0), %commonType* getelementptr inbounds (%interfaceType, %interfaceType* @__go_tdn_error, i32 0, i32 0)] | |
| @"__go_td_FppN20_main.SimpleChaincodeN72_github_com_hyperledger_fabric_core_chaincode_shim.ChaincodeStubInterfaceAN6_stringeerAN5_uint8eN5_erroree$gc" = linkonce_odr constant [4 x i8*] [i8* inttoptr (i64 8 to i8*), i8* inttoptr (i64 2 to i8*), i8* null, i8* null] | |
| @78 = internal constant [101 x i8] c"func(\09github_com_hyperledger_fabric_core_chaincode_shim\09shim.ChaincodeStubInterface) ([]uint8, error)" | |
| @79 = internal constant { i8*, i64 } { i8* getelementptr inbounds ([101 x i8], [101 x i8]* @78, i32 0, i32 0), i64 101 } | |
| @80 = internal constant [1 x %commonType*] [%commonType* getelementptr inbounds (%interfaceType, %interfaceType* @__go_tdn_github_com_hyperledger_fabric_core_chaincode_shim.ChaincodeStubInterface, i32 0, i32 0)] | |
| @81 = internal constant [2 x %commonType*] [%commonType* getelementptr inbounds (%sliceType, %sliceType* @__go_td_AN5_uint8e, i32 0, i32 0), %commonType* getelementptr inbounds (%interfaceType, %interfaceType* @__go_tdn_error, i32 0, i32 0)] | |
| @"__go_td_FpN72_github_com_hyperledger_fabric_core_chaincode_shim.ChaincodeStubInterfaceerAN5_uint8eN5_erroree$gc" = linkonce_odr constant [4 x i8*] [i8* inttoptr (i64 8 to i8*), i8* inttoptr (i64 2 to i8*), i8* null, i8* null] | |
| @82 = internal constant [111 x i8] c"func(\09github_com_hyperledger_fabric_core_chaincode_shim\09shim.ChaincodeStubInterface, []string) ([]uint8, error)" | |
| @83 = internal constant { i8*, i64 } { i8* getelementptr inbounds ([111 x i8], [111 x i8]* @82, i32 0, i32 0), i64 111 } | |
| @84 = internal constant [2 x %commonType*] [%commonType* getelementptr inbounds (%interfaceType, %interfaceType* @__go_tdn_github_com_hyperledger_fabric_core_chaincode_shim.ChaincodeStubInterface, i32 0, i32 0), %commonType* getelementptr inbounds (%sliceType, %sliceType* @__go_td_AN6_stringe, i32 0, i32 0)] | |
| @85 = internal constant [2 x %commonType*] [%commonType* getelementptr inbounds (%sliceType, %sliceType* @__go_td_AN5_uint8e, i32 0, i32 0), %commonType* getelementptr inbounds (%interfaceType, %interfaceType* @__go_tdn_error, i32 0, i32 0)] | |
| @"__go_td_FpN72_github_com_hyperledger_fabric_core_chaincode_shim.ChaincodeStubInterfaceAN6_stringeerAN5_uint8eN5_erroree$gc" = linkonce_odr constant [4 x i8*] [i8* inttoptr (i64 8 to i8*), i8* inttoptr (i64 2 to i8*), i8* null, i8* null] | |
| @86 = internal constant [12 x i8] c"interface {}" | |
| @87 = internal constant { i8*, i64 } { i8* getelementptr inbounds ([12 x i8], [12 x i8]* @86, i32 0, i32 0), i64 12 } | |
| @"__go_td_Ie$gc" = linkonce_odr constant [4 x i8*] [i8* inttoptr (i64 16 to i8*), i8* inttoptr (i64 8 to i8*), i8* null, i8* null] | |
| @88 = internal constant [7 x i8] c"[]uint8" | |
| @89 = internal constant { i8*, i64 } { i8* getelementptr inbounds ([7 x i8], [7 x i8]* @88, i32 0, i32 0), i64 7 } | |
| @__go_tdn_uint8 = linkonce_odr constant %commonType { i8 -120, i8 1, i8 1, i64 1, i32 83888248, %funcVal* @__go_type_hash_identity_descriptor, %funcVal* @__go_type_equal_identity_descriptor, i8* bitcast ([2 x i8*]* @"__go_tdn_uint8$gc" to i8*), { i8*, i64 }* @103, %uncommonType* @106, %commonType* null } | |
| @"__go_td_AN5_uint8e$gc" = linkonce_odr constant [5 x i8*] [i8* inttoptr (i64 24 to i8*), i8* inttoptr (i64 10 to i8*), i8* null, i8* bitcast ([2 x i8*]* @"__go_tdn_uint8$gc" to i8*), i8* null] | |
| @90 = internal constant [8 x i8] c"[]string" | |
| @91 = internal constant { i8*, i64 } { i8* getelementptr inbounds ([8 x i8], [8 x i8]* @90, i32 0, i32 0), i64 8 } | |
| @"__go_td_AN6_stringe$gc" = linkonce_odr constant [5 x i8*] [i8* inttoptr (i64 24 to i8*), i8* inttoptr (i64 10 to i8*), i8* null, i8* bitcast ([4 x i8*]* @"__go_tdn_string$gc" to i8*), i8* null] | |
| @92 = internal constant [5 x i8] c"error" | |
| @93 = internal constant { i8*, i64 } { i8* getelementptr inbounds ([5 x i8], [5 x i8]* @92, i32 0, i32 0), i64 5 } | |
| @94 = internal constant [5 x i8] c"error" | |
| @95 = internal constant { i8*, i64 } { i8* getelementptr inbounds ([5 x i8], [5 x i8]* @94, i32 0, i32 0), i64 5 } | |
| @96 = internal constant %uncommonType { { i8*, i64 }* @95, { i8*, i64 }* null, %methodSlice zeroinitializer } | |
| @__go_td_pN5_error = linkonce_odr constant %ptrType { %commonType { i8 54, i8 8, i8 8, i64 8, i32 1342214505, %funcVal* @__go_type_hash_identity_descriptor, %funcVal* @__go_type_equal_identity_descriptor, i8* bitcast ([5 x i8*]* @"__go_td_pN5_error$gc" to i8*), { i8*, i64 }* @101, %uncommonType* null, %commonType* null }, %commonType* getelementptr inbounds (%interfaceType, %interfaceType* @__go_tdn_error, i32 0, i32 0) } | |
| @97 = internal constant [5 x i8] c"Error" | |
| @98 = internal constant { i8*, i64 } { i8* getelementptr inbounds ([5 x i8], [5 x i8]* @97, i32 0, i32 0), i64 5 } | |
| @__go_td_FrN6_stringee = linkonce_odr constant %funcType { %commonType { i8 19, i8 8, i8 8, i64 8, i32 -2147304440, %funcVal* @__go_type_hash_error_descriptor, %funcVal* @__go_type_equal_error_descriptor, i8* bitcast ([4 x i8*]* @"__go_td_FrN6_stringee$gc" to i8*), { i8*, i64 }* @108, %uncommonType* null, %commonType* null }, i8 0, %typeSlice zeroinitializer, %typeSlice { %commonType** getelementptr inbounds ([1 x %commonType*], [1 x %commonType*]* @109, i32 0, i32 0), i64 1, i64 1 } } | |
| @99 = internal constant [1 x %imethod] [%imethod { { i8*, i64 }* @98, { i8*, i64 }* null, %commonType* getelementptr inbounds (%funcType, %funcType* @__go_td_FrN6_stringee, i32 0, i32 0) }] | |
| @"__go_tdn_error$gc" = linkonce_odr constant [4 x i8*] [i8* inttoptr (i64 16 to i8*), i8* inttoptr (i64 9 to i8*), i8* null, i8* null] | |
| @100 = internal constant [6 x i8] c"*error" | |
| @101 = internal constant { i8*, i64 } { i8* getelementptr inbounds ([6 x i8], [6 x i8]* @100, i32 0, i32 0), i64 6 } | |
| @"__go_td_pN5_error$gc" = linkonce_odr constant [5 x i8*] [i8* inttoptr (i64 8 to i8*), i8* inttoptr (i64 1 to i8*), i8* null, i8* bitcast ([4 x i8*]* @"__go_tdn_error$gc" to i8*), i8* null] | |
| @102 = internal constant [5 x i8] c"uint8" | |
| @103 = internal constant { i8*, i64 } { i8* getelementptr inbounds ([5 x i8], [5 x i8]* @102, i32 0, i32 0), i64 5 } | |
| @104 = internal constant [5 x i8] c"uint8" | |
| @105 = internal constant { i8*, i64 } { i8* getelementptr inbounds ([5 x i8], [5 x i8]* @104, i32 0, i32 0), i64 5 } | |
| @106 = internal constant %uncommonType { { i8*, i64 }* @105, { i8*, i64 }* null, %methodSlice zeroinitializer } | |
| @"__go_tdn_uint8$gc" = linkonce_odr constant [2 x i8*] [i8* inttoptr (i64 1 to i8*), i8* null] | |
| @107 = internal constant [13 x i8] c"func() string" | |
| @108 = internal constant { i8*, i64 } { i8* getelementptr inbounds ([13 x i8], [13 x i8]* @107, i32 0, i32 0), i64 13 } | |
| @109 = internal constant [1 x %commonType*] [%commonType* @__go_tdn_string] | |
| @"__go_td_FrN6_stringee$gc" = linkonce_odr constant [4 x i8*] [i8* inttoptr (i64 8 to i8*), i8* inttoptr (i64 2 to i8*), i8* null, i8* null] | |
| ; Function Attrs: nounwind | |
| declare { i8*, i64 } @__go_byte_array_to_string(i8* nest, i8*, i64) #0 | |
| declare i64 @__go_interface_compare(i8* nest, i8*, i8*, i8*, i8*) | |
| ; Function Attrs: nounwind | |
| declare i8* @__go_new(i8* nest, i8*, i64) #0 | |
| ; Function Attrs: noreturn | |
| declare void @__go_runtime_error(i8* nest, i32) #1 | |
| declare i64 @__go_strcmp(i8* nest, i8*, i64, i8*, i64) | |
| declare { i8*, i64 } @__go_string_plus(i8* nest, i8*, i64, i8*, i64) | |
| ; Function Attrs: nounwind | |
| declare void @__go_string_to_byte_array({ i8*, i64, i64 }* sret, i8* nest, i8*, i64) #0 | |
| define void @main.Init.pN20_main.SimpleChaincode({ { i8*, i64, i64 }, { i8*, i8* } }* sret, i8* nest, i8*, i8*, i8*) #2 !dbg !5 { | |
| prologue: | |
| %5 = alloca { { i8*, i64 }, { i8*, i64, i64 } }, !dbg !30 | |
| %6 = alloca { i8*, i64 }, !dbg !30 | |
| %7 = alloca { i8*, i8* }, !dbg !30 | |
| %8 = alloca { i8*, i64 }, !dbg !30 | |
| %9 = alloca { i64, { i8*, i8* } }, !dbg !30 | |
| %10 = alloca { i8*, i8* }, !dbg !30 | |
| %11 = alloca { i8*, i8* }, !dbg !30 | |
| %12 = alloca { i8*, i64 }, !dbg !30 | |
| %13 = alloca { i8*, i8* }, !dbg !30 | |
| %14 = alloca { i8*, i64 }, !dbg !30 | |
| %15 = alloca { i64, { i8*, i8* } }, !dbg !30 | |
| %16 = alloca { i8*, i8* }, !dbg !30 | |
| %17 = alloca { i8*, i8* }, !dbg !30 | |
| %18 = alloca { i8*, i64 }, !dbg !30 | |
| %19 = alloca { i8*, i8* }, !dbg !30 | |
| %20 = alloca { i8*, i64 }, !dbg !30 | |
| %21 = alloca { i8*, i64, i64 }, !dbg !30 | |
| %22 = alloca { i64, { i8*, i8* } }, !dbg !30 | |
| %23 = alloca { i8*, i64 }, !dbg !30 | |
| %24 = alloca { i8*, i64 }, !dbg !30 | |
| %25 = alloca { i8*, i64, i64 }, !dbg !30 | |
| %26 = alloca { i8*, i64 }, !dbg !30 | |
| %27 = alloca { i8*, i64, i64 }, !dbg !30 | |
| %28 = alloca { i8*, i8* }, !dbg !30 | |
| %29 = alloca { i8*, i8* }, !dbg !30 | |
| %30 = alloca { i8*, i8* }, !dbg !30 | |
| %31 = alloca { i8*, i64 }, !dbg !30 | |
| %32 = alloca { i8*, i64 }, !dbg !30 | |
| %33 = alloca { i8*, i64, i64 }, !dbg !30 | |
| %34 = alloca { i8*, i64 }, !dbg !30 | |
| %35 = alloca { i8*, i64, i64 }, !dbg !30 | |
| %36 = alloca { i8*, i8* }, !dbg !30 | |
| %37 = alloca { i8*, i8* }, !dbg !30 | |
| %38 = alloca { i8*, i8* }, !dbg !30 | |
| %39 = alloca { i8*, i8* }, !dbg !30 | |
| %40 = getelementptr inbounds { i8*, i8* }, { i8*, i8* }* %39, i32 0, i32 0, !dbg !30 | |
| store i8* %3, i8** %40, !dbg !30 | |
| %41 = getelementptr inbounds { i8*, i8* }, { i8*, i8* }* %39, i32 0, i32 1, !dbg !30 | |
| store i8* %4, i8** %41, !dbg !30 | |
| %42 = load { i8*, i8* }, { i8*, i8* }* %39, !dbg !30 | |
| br label %.0.entry, !dbg !30 | |
| .0.entry: ; preds = %prologue | |
| %43 = extractvalue { i8*, i8* } %42, 0, !dbg !31 | |
| %44 = extractvalue { i8*, i8* } %42, 1, !dbg !31 | |
| %45 = bitcast i8* %43 to i8**, !dbg !31 | |
| %46 = getelementptr i8*, i8** %45, i32 9, !dbg !31 | |
| %47 = load i8*, i8** %46, !dbg !31 | |
| %48 = bitcast i8* %47 to void ({ { i8*, i64 }, { i8*, i64, i64 } }*, i8*, i8*)*, !dbg !31 | |
| call void %48({ { i8*, i64 }, { i8*, i64, i64 } }* sret %5, i8* nest undef, i8* %44), !dbg !31 | |
| %49 = getelementptr inbounds { { i8*, i64 }, { i8*, i64, i64 } }, { { i8*, i64 }, { i8*, i64, i64 } }* %5, i32 0, i32 0, !dbg !31 | |
| %50 = load { i8*, i64 }, { i8*, i64 }* %49, !dbg !31 | |
| %51 = getelementptr inbounds { { i8*, i64 }, { i8*, i64, i64 } }, { { i8*, i64 }, { i8*, i64, i64 } }* %5, i32 0, i32 1, !dbg !31 | |
| %52 = load { i8*, i64, i64 }, { i8*, i64, i64 }* %51, !dbg !31 | |
| %53 = extractvalue { i8*, i64, i64 } %52, 1, !dbg !32 | |
| %54 = icmp eq i64 %53, 4, !dbg !33 | |
| %55 = zext i1 %54 to i8, !dbg !33 | |
| %56 = xor i8 %55, 1, !dbg !33 | |
| %57 = trunc i8 %56 to i1, !dbg !34 | |
| br i1 %57, label %.1.if.then, label %.2.if.done, !dbg !34 | |
| .1.if.then: ; preds = %.0.entry | |
| store { i8*, i64 } { i8* getelementptr inbounds ([42 x i8], [42 x i8]* @0, i32 0, i32 0), i64 42 }, { i8*, i64 }* %6, !dbg !35 | |
| %58 = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %6, i32 0, i32 0, !dbg !35 | |
| %59 = load i8*, i8** %58, !dbg !35 | |
| %60 = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %6, i32 0, i32 1, !dbg !35 | |
| %61 = load i64, i64* %60, !dbg !35 | |
| %62 = call { i8*, i8* } @errors.New(i8* nest undef, i8* %59, i64 %61), !dbg !35 | |
| %63 = extractvalue { i8*, i8* } %62, 0, !dbg !35 | |
| %64 = extractvalue { i8*, i8* } %62, 1, !dbg !35 | |
| %65 = getelementptr inbounds { i8*, i8* }, { i8*, i8* }* %7, i32 0, i32 0, !dbg !35 | |
| store i8* %63, i8** %65, !dbg !35 | |
| %66 = getelementptr inbounds { i8*, i8* }, { i8*, i8* }* %7, i32 0, i32 1, !dbg !35 | |
| store i8* %64, i8** %66, !dbg !35 | |
| %67 = load { i8*, i8* }, { i8*, i8* }* %7, !dbg !35 | |
| %68 = getelementptr inbounds { { i8*, i64, i64 }, { i8*, i8* } }, { { i8*, i64, i64 }, { i8*, i8* } }* %0, i32 0, i32 0, !dbg !36 | |
| store { i8*, i64, i64 } zeroinitializer, { i8*, i64, i64 }* %68, !dbg !36 | |
| %69 = getelementptr inbounds { { i8*, i64, i64 }, { i8*, i8* } }, { { i8*, i64, i64 }, { i8*, i8* } }* %0, i32 0, i32 1, !dbg !36 | |
| store { i8*, i8* } %67, { i8*, i8* }* %69, !dbg !36 | |
| ret void, !dbg !36 | |
| .2.if.done: ; preds = %.0.entry | |
| %70 = extractvalue { i8*, i64, i64 } %52, 0, !dbg !37 | |
| %71 = extractvalue { i8*, i64, i64 } %52, 1, !dbg !37 | |
| %72 = icmp sle i64 %71, 0, !dbg !37 | |
| %73 = or i1 false, %72, !dbg !37 | |
| br i1 %73, label %218, label %219, !dbg !37, !prof !38 | |
| .3.if.then: ; preds = %229 | |
| store { i8*, i64 } { i8* getelementptr inbounds ([41 x i8], [41 x i8]* @1, i32 0, i32 0), i64 41 }, { i8*, i64 }* %12, !dbg !39 | |
| %74 = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %12, i32 0, i32 0, !dbg !39 | |
| %75 = load i8*, i8** %74, !dbg !39 | |
| %76 = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %12, i32 0, i32 1, !dbg !39 | |
| %77 = load i64, i64* %76, !dbg !39 | |
| %78 = call { i8*, i8* } @errors.New(i8* nest undef, i8* %75, i64 %77), !dbg !39 | |
| %79 = extractvalue { i8*, i8* } %78, 0, !dbg !39 | |
| %80 = extractvalue { i8*, i8* } %78, 1, !dbg !39 | |
| %81 = getelementptr inbounds { i8*, i8* }, { i8*, i8* }* %13, i32 0, i32 0, !dbg !39 | |
| store i8* %79, i8** %81, !dbg !39 | |
| %82 = getelementptr inbounds { i8*, i8* }, { i8*, i8* }* %13, i32 0, i32 1, !dbg !39 | |
| store i8* %80, i8** %82, !dbg !39 | |
| %83 = load { i8*, i8* }, { i8*, i8* }* %13, !dbg !39 | |
| %84 = getelementptr inbounds { { i8*, i64, i64 }, { i8*, i8* } }, { { i8*, i64, i64 }, { i8*, i8* } }* %0, i32 0, i32 0, !dbg !40 | |
| store { i8*, i64, i64 } zeroinitializer, { i8*, i64, i64 }* %84, !dbg !40 | |
| %85 = getelementptr inbounds { { i8*, i64, i64 }, { i8*, i8* } }, { { i8*, i64, i64 }, { i8*, i8* } }* %0, i32 0, i32 1, !dbg !40 | |
| store { i8*, i8* } %83, { i8*, i8* }* %85, !dbg !40 | |
| ret void, !dbg !40 | |
| .4.if.done: ; preds = %229 | |
| %86 = extractvalue { i8*, i64, i64 } %52, 0, !dbg !41 | |
| %87 = extractvalue { i8*, i64, i64 } %52, 1, !dbg !41 | |
| %88 = icmp sle i64 %87, 2, !dbg !41 | |
| %89 = or i1 false, %88, !dbg !41 | |
| br i1 %89, label %218, label %256, !dbg !41, !prof !38 | |
| .5.if.then: ; preds = %266 | |
| store { i8*, i64 } { i8* getelementptr inbounds ([41 x i8], [41 x i8]* @2, i32 0, i32 0), i64 41 }, { i8*, i64 }* %18, !dbg !42 | |
| %90 = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %18, i32 0, i32 0, !dbg !42 | |
| %91 = load i8*, i8** %90, !dbg !42 | |
| %92 = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %18, i32 0, i32 1, !dbg !42 | |
| %93 = load i64, i64* %92, !dbg !42 | |
| %94 = call { i8*, i8* } @errors.New(i8* nest undef, i8* %91, i64 %93), !dbg !42 | |
| %95 = extractvalue { i8*, i8* } %94, 0, !dbg !42 | |
| %96 = extractvalue { i8*, i8* } %94, 1, !dbg !42 | |
| %97 = getelementptr inbounds { i8*, i8* }, { i8*, i8* }* %19, i32 0, i32 0, !dbg !42 | |
| store i8* %95, i8** %97, !dbg !42 | |
| %98 = getelementptr inbounds { i8*, i8* }, { i8*, i8* }* %19, i32 0, i32 1, !dbg !42 | |
| store i8* %96, i8** %98, !dbg !42 | |
| %99 = load { i8*, i8* }, { i8*, i8* }* %19, !dbg !42 | |
| %100 = getelementptr inbounds { { i8*, i64, i64 }, { i8*, i8* } }, { { i8*, i64, i64 }, { i8*, i8* } }* %0, i32 0, i32 0, !dbg !43 | |
| store { i8*, i64, i64 } zeroinitializer, { i8*, i64, i64 }* %100, !dbg !43 | |
| %101 = getelementptr inbounds { { i8*, i64, i64 }, { i8*, i8* } }, { { i8*, i64, i64 }, { i8*, i8* } }* %0, i32 0, i32 1, !dbg !43 | |
| store { i8*, i8* } %99, { i8*, i8* }* %101, !dbg !43 | |
| ret void, !dbg !43 | |
| .6.if.done: ; preds = %266 | |
| %102 = call i8* @__go_new(i8* nest undef, i8* getelementptr inbounds (%arrayType, %arrayType* @__go_td_AIe2e, i32 0, i32 0, i32 0), i64 32), !dbg !44 | |
| %varargs = bitcast i8* %102 to [2 x { i8*, i8* }]*, !dbg !44 | |
| %103 = bitcast [2 x { i8*, i8* }]* %varargs to i8*, !dbg !44 | |
| %104 = bitcast i8* %103 to { i8*, i8* }*, !dbg !34 | |
| %105 = getelementptr { i8*, i8* }, { i8*, i8* }* %104, i64 0, !dbg !34 | |
| %106 = bitcast { i8*, i8* }* %105 to i8*, !dbg !34 | |
| %107 = call i8* @__go_new(i8* nest undef, i8* getelementptr inbounds (%commonType, %commonType* @__go_tdn_int, i32 0, i32 0), i64 8), !dbg !34 | |
| %108 = bitcast i8* %107 to i64*, !dbg !34 | |
| store i64 %240, i64* %108, !dbg !34 | |
| %109 = bitcast i64* %108 to i8*, !dbg !34 | |
| %110 = insertvalue { i8*, i8* } { i8* getelementptr inbounds (%commonType, %commonType* @__go_tdn_int, i32 0, i32 0), i8* undef }, i8* %109, 1, !dbg !34 | |
| %111 = bitcast i8* %106 to { i8*, i8* }*, !dbg !45 | |
| store { i8*, i8* } %110, { i8*, i8* }* %111, !dbg !45 | |
| %112 = bitcast i8* %103 to { i8*, i8* }*, !dbg !34 | |
| %113 = getelementptr { i8*, i8* }, { i8*, i8* }* %112, i64 1, !dbg !34 | |
| %114 = bitcast { i8*, i8* }* %113 to i8*, !dbg !34 | |
| %115 = call i8* @__go_new(i8* nest undef, i8* getelementptr inbounds (%commonType, %commonType* @__go_tdn_int, i32 0, i32 0), i64 8), !dbg !34 | |
| %116 = bitcast i8* %115 to i64*, !dbg !34 | |
| store i64 %277, i64* %116, !dbg !34 | |
| %117 = bitcast i64* %116 to i8*, !dbg !34 | |
| %118 = insertvalue { i8*, i8* } { i8* getelementptr inbounds (%commonType, %commonType* @__go_tdn_int, i32 0, i32 0), i8* undef }, i8* %117, 1, !dbg !34 | |
| %119 = bitcast i8* %114 to { i8*, i8* }*, !dbg !46 | |
| store { i8*, i8* } %118, { i8*, i8* }* %119, !dbg !46 | |
| %120 = getelementptr inbounds i8, i8* %103, i64 0, !dbg !34 | |
| %121 = insertvalue { i8*, i64, i64 } undef, i8* %120, 0, !dbg !34 | |
| %122 = insertvalue { i8*, i64, i64 } %121, i64 2, 1, !dbg !34 | |
| %123 = insertvalue { i8*, i64, i64 } %122, i64 2, 2, !dbg !34 | |
| store { i8*, i64 } { i8* getelementptr inbounds ([21 x i8], [21 x i8]* @3, i32 0, i32 0), i64 21 }, { i8*, i64 }* %20, !dbg !47 | |
| %124 = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %20, i32 0, i32 0, !dbg !47 | |
| %125 = load i8*, i8** %124, !dbg !47 | |
| %126 = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %20, i32 0, i32 1, !dbg !47 | |
| %127 = load i64, i64* %126, !dbg !47 | |
| store { i8*, i64, i64 } %123, { i8*, i64, i64 }* %21, !dbg !47 | |
| call void @fmt.Printf({ i64, { i8*, i8* } }* sret %22, i8* nest undef, i8* %125, i64 %127, { i8*, i64, i64 }* byval %21), !dbg !47 | |
| %128 = getelementptr inbounds { i64, { i8*, i8* } }, { i64, { i8*, i8* } }* %22, i32 0, i32 0, !dbg !47 | |
| %129 = load i64, i64* %128, !dbg !47 | |
| %130 = getelementptr inbounds { i64, { i8*, i8* } }, { i64, { i8*, i8* } }* %22, i32 0, i32 1, !dbg !47 | |
| %131 = load { i8*, i8* }, { i8*, i8* }* %130, !dbg !47 | |
| %132 = call { i8*, i64 } @strconv.Itoa(i8* nest undef, i64 %240), !dbg !48 | |
| %133 = extractvalue { i8*, i64 } %132, 0, !dbg !48 | |
| %134 = extractvalue { i8*, i64 } %132, 1, !dbg !48 | |
| %135 = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %23, i32 0, i32 0, !dbg !48 | |
| store i8* %133, i8** %135, !dbg !48 | |
| %136 = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %23, i32 0, i32 1, !dbg !48 | |
| store i64 %134, i64* %136, !dbg !48 | |
| %137 = load { i8*, i64 }, { i8*, i64 }* %23, !dbg !48 | |
| store { i8*, i64 } %137, { i8*, i64 }* %24, !dbg !49 | |
| %138 = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %24, i32 0, i32 0, !dbg !49 | |
| %139 = load i8*, i8** %138, !dbg !49 | |
| %140 = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %24, i32 0, i32 1, !dbg !49 | |
| %141 = load i64, i64* %140, !dbg !49 | |
| call void @__go_string_to_byte_array({ i8*, i64, i64 }* sret %25, i8* nest undef, i8* %139, i64 %141), !dbg !49 | |
| %142 = load { i8*, i64, i64 }, { i8*, i64, i64 }* %25, !dbg !49 | |
| %143 = extractvalue { i8*, i8* } %42, 0, !dbg !50 | |
| %144 = extractvalue { i8*, i8* } %42, 1, !dbg !50 | |
| %145 = bitcast i8* %143 to i8**, !dbg !50 | |
| %146 = getelementptr i8*, i8** %145, i32 20, !dbg !50 | |
| %147 = load i8*, i8** %146, !dbg !50 | |
| store { i8*, i64 } %224, { i8*, i64 }* %26, !dbg !50 | |
| %148 = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %26, i32 0, i32 0, !dbg !50 | |
| %149 = load i8*, i8** %148, !dbg !50 | |
| %150 = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %26, i32 0, i32 1, !dbg !50 | |
| %151 = load i64, i64* %150, !dbg !50 | |
| store { i8*, i64, i64 } %142, { i8*, i64, i64 }* %27, !dbg !50 | |
| %152 = bitcast i8* %147 to { i8*, i8* } (i8*, i8*, i8*, i64, { i8*, i64, i64 }*)*, !dbg !50 | |
| %153 = call { i8*, i8* } %152(i8* nest undef, i8* %144, i8* %149, i64 %151, { i8*, i64, i64 }* byval %27), !dbg !50 | |
| %154 = extractvalue { i8*, i8* } %153, 0, !dbg !50 | |
| %155 = extractvalue { i8*, i8* } %153, 1, !dbg !50 | |
| %156 = getelementptr inbounds { i8*, i8* }, { i8*, i8* }* %28, i32 0, i32 0, !dbg !50 | |
| store i8* %154, i8** %156, !dbg !50 | |
| %157 = getelementptr inbounds { i8*, i8* }, { i8*, i8* }* %28, i32 0, i32 1, !dbg !50 | |
| store i8* %155, i8** %157, !dbg !50 | |
| %158 = load { i8*, i8* }, { i8*, i8* }* %28, !dbg !50 | |
| store { i8*, i8* } %158, { i8*, i8* }* %29, !dbg !51 | |
| %159 = getelementptr inbounds { i8*, i8* }, { i8*, i8* }* %29, i32 0, i32 0, !dbg !51 | |
| %160 = load i8*, i8** %159, !dbg !51 | |
| %161 = getelementptr inbounds { i8*, i8* }, { i8*, i8* }* %29, i32 0, i32 1, !dbg !51 | |
| %162 = load i8*, i8** %161, !dbg !51 | |
| store { i8*, i8* } zeroinitializer, { i8*, i8* }* %30, !dbg !51 | |
| %163 = getelementptr inbounds { i8*, i8* }, { i8*, i8* }* %30, i32 0, i32 0, !dbg !51 | |
| %164 = load i8*, i8** %163, !dbg !51 | |
| %165 = getelementptr inbounds { i8*, i8* }, { i8*, i8* }* %30, i32 0, i32 1, !dbg !51 | |
| %166 = load i8*, i8** %165, !dbg !51 | |
| %167 = call i64 @__go_interface_compare(i8* nest undef, i8* %160, i8* %162, i8* %164, i8* %166), !dbg !51 | |
| %168 = icmp eq i64 %167, 0, !dbg !51 | |
| %169 = zext i1 %168 to i8, !dbg !51 | |
| %170 = xor i8 %169, 1, !dbg !51 | |
| %171 = trunc i8 %170 to i1, !dbg !34 | |
| br i1 %171, label %.7.if.then, label %.8.if.done, !dbg !34 | |
| .7.if.then: ; preds = %.6.if.done | |
| %172 = getelementptr inbounds { { i8*, i64, i64 }, { i8*, i8* } }, { { i8*, i64, i64 }, { i8*, i8* } }* %0, i32 0, i32 0, !dbg !52 | |
| store { i8*, i64, i64 } zeroinitializer, { i8*, i64, i64 }* %172, !dbg !52 | |
| %173 = getelementptr inbounds { { i8*, i64, i64 }, { i8*, i8* } }, { { i8*, i64, i64 }, { i8*, i8* } }* %0, i32 0, i32 1, !dbg !52 | |
| store { i8*, i8* } %158, { i8*, i8* }* %173, !dbg !52 | |
| ret void, !dbg !52 | |
| .8.if.done: ; preds = %.6.if.done | |
| %174 = call { i8*, i64 } @strconv.Itoa(i8* nest undef, i64 %277), !dbg !53 | |
| %175 = extractvalue { i8*, i64 } %174, 0, !dbg !53 | |
| %176 = extractvalue { i8*, i64 } %174, 1, !dbg !53 | |
| %177 = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %31, i32 0, i32 0, !dbg !53 | |
| store i8* %175, i8** %177, !dbg !53 | |
| %178 = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %31, i32 0, i32 1, !dbg !53 | |
| store i64 %176, i64* %178, !dbg !53 | |
| %179 = load { i8*, i64 }, { i8*, i64 }* %31, !dbg !53 | |
| store { i8*, i64 } %179, { i8*, i64 }* %32, !dbg !54 | |
| %180 = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %32, i32 0, i32 0, !dbg !54 | |
| %181 = load i8*, i8** %180, !dbg !54 | |
| %182 = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %32, i32 0, i32 1, !dbg !54 | |
| %183 = load i64, i64* %182, !dbg !54 | |
| call void @__go_string_to_byte_array({ i8*, i64, i64 }* sret %33, i8* nest undef, i8* %181, i64 %183), !dbg !54 | |
| %184 = load { i8*, i64, i64 }, { i8*, i64, i64 }* %33, !dbg !54 | |
| %185 = extractvalue { i8*, i8* } %42, 0, !dbg !55 | |
| %186 = extractvalue { i8*, i8* } %42, 1, !dbg !55 | |
| %187 = bitcast i8* %185 to i8**, !dbg !55 | |
| %188 = getelementptr i8*, i8** %187, i32 20, !dbg !55 | |
| %189 = load i8*, i8** %188, !dbg !55 | |
| store { i8*, i64 } %261, { i8*, i64 }* %34, !dbg !55 | |
| %190 = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %34, i32 0, i32 0, !dbg !55 | |
| %191 = load i8*, i8** %190, !dbg !55 | |
| %192 = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %34, i32 0, i32 1, !dbg !55 | |
| %193 = load i64, i64* %192, !dbg !55 | |
| store { i8*, i64, i64 } %184, { i8*, i64, i64 }* %35, !dbg !55 | |
| %194 = bitcast i8* %189 to { i8*, i8* } (i8*, i8*, i8*, i64, { i8*, i64, i64 }*)*, !dbg !55 | |
| %195 = call { i8*, i8* } %194(i8* nest undef, i8* %186, i8* %191, i64 %193, { i8*, i64, i64 }* byval %35), !dbg !55 | |
| %196 = extractvalue { i8*, i8* } %195, 0, !dbg !55 | |
| %197 = extractvalue { i8*, i8* } %195, 1, !dbg !55 | |
| %198 = getelementptr inbounds { i8*, i8* }, { i8*, i8* }* %36, i32 0, i32 0, !dbg !55 | |
| store i8* %196, i8** %198, !dbg !55 | |
| %199 = getelementptr inbounds { i8*, i8* }, { i8*, i8* }* %36, i32 0, i32 1, !dbg !55 | |
| store i8* %197, i8** %199, !dbg !55 | |
| %200 = load { i8*, i8* }, { i8*, i8* }* %36, !dbg !55 | |
| store { i8*, i8* } %200, { i8*, i8* }* %37, !dbg !56 | |
| %201 = getelementptr inbounds { i8*, i8* }, { i8*, i8* }* %37, i32 0, i32 0, !dbg !56 | |
| %202 = load i8*, i8** %201, !dbg !56 | |
| %203 = getelementptr inbounds { i8*, i8* }, { i8*, i8* }* %37, i32 0, i32 1, !dbg !56 | |
| %204 = load i8*, i8** %203, !dbg !56 | |
| store { i8*, i8* } zeroinitializer, { i8*, i8* }* %38, !dbg !56 | |
| %205 = getelementptr inbounds { i8*, i8* }, { i8*, i8* }* %38, i32 0, i32 0, !dbg !56 | |
| %206 = load i8*, i8** %205, !dbg !56 | |
| %207 = getelementptr inbounds { i8*, i8* }, { i8*, i8* }* %38, i32 0, i32 1, !dbg !56 | |
| %208 = load i8*, i8** %207, !dbg !56 | |
| %209 = call i64 @__go_interface_compare(i8* nest undef, i8* %202, i8* %204, i8* %206, i8* %208), !dbg !56 | |
| %210 = icmp eq i64 %209, 0, !dbg !56 | |
| %211 = zext i1 %210 to i8, !dbg !56 | |
| %212 = xor i8 %211, 1, !dbg !56 | |
| %213 = trunc i8 %212 to i1, !dbg !34 | |
| br i1 %213, label %.9.if.then, label %.10.if.done, !dbg !34 | |
| .9.if.then: ; preds = %.8.if.done | |
| %214 = getelementptr inbounds { { i8*, i64, i64 }, { i8*, i8* } }, { { i8*, i64, i64 }, { i8*, i8* } }* %0, i32 0, i32 0, !dbg !57 | |
| store { i8*, i64, i64 } zeroinitializer, { i8*, i64, i64 }* %214, !dbg !57 | |
| %215 = getelementptr inbounds { { i8*, i64, i64 }, { i8*, i8* } }, { { i8*, i64, i64 }, { i8*, i8* } }* %0, i32 0, i32 1, !dbg !57 | |
| store { i8*, i8* } %200, { i8*, i8* }* %215, !dbg !57 | |
| ret void, !dbg !57 | |
| .10.if.done: ; preds = %.8.if.done | |
| %216 = getelementptr inbounds { { i8*, i64, i64 }, { i8*, i8* } }, { { i8*, i64, i64 }, { i8*, i8* } }* %0, i32 0, i32 0, !dbg !58 | |
| store { i8*, i64, i64 } zeroinitializer, { i8*, i64, i64 }* %216, !dbg !58 | |
| %217 = getelementptr inbounds { { i8*, i64, i64 }, { i8*, i8* } }, { { i8*, i64, i64 }, { i8*, i8* } }* %0, i32 0, i32 1, !dbg !58 | |
| store { i8*, i8* } zeroinitializer, { i8*, i8* }* %217, !dbg !58 | |
| ret void, !dbg !58 | |
| ; <label>:218: ; preds = %256, %.4.if.done, %219, %.2.if.done | |
| call void @__go_runtime_error(i8* nest undef, i32 0), !dbg !37 | |
| unreachable, !dbg !37 | |
| ; <label>:219: ; preds = %.2.if.done | |
| %220 = bitcast i8* %70 to { i8*, i64 }*, !dbg !37 | |
| %221 = getelementptr { i8*, i64 }, { i8*, i64 }* %220, i64 0, !dbg !37 | |
| %222 = bitcast { i8*, i64 }* %221 to i8*, !dbg !37 | |
| %223 = bitcast i8* %222 to { i8*, i64 }*, !dbg !37 | |
| %224 = load { i8*, i64 }, { i8*, i64 }* %223, !dbg !37 | |
| %225 = extractvalue { i8*, i64, i64 } %52, 0, !dbg !59 | |
| %226 = extractvalue { i8*, i64, i64 } %52, 1, !dbg !59 | |
| %227 = icmp sle i64 %226, 1, !dbg !59 | |
| %228 = or i1 false, %227, !dbg !59 | |
| br i1 %228, label %218, label %229, !dbg !59, !prof !38 | |
| ; <label>:229: ; preds = %219 | |
| %230 = bitcast i8* %225 to { i8*, i64 }*, !dbg !59 | |
| %231 = getelementptr { i8*, i64 }, { i8*, i64 }* %230, i64 1, !dbg !59 | |
| %232 = bitcast { i8*, i64 }* %231 to i8*, !dbg !59 | |
| %233 = bitcast i8* %232 to { i8*, i64 }*, !dbg !59 | |
| %234 = load { i8*, i64 }, { i8*, i64 }* %233, !dbg !59 | |
| store { i8*, i64 } %234, { i8*, i64 }* %8, !dbg !60 | |
| %235 = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %8, i32 0, i32 0, !dbg !60 | |
| %236 = load i8*, i8** %235, !dbg !60 | |
| %237 = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %8, i32 0, i32 1, !dbg !60 | |
| %238 = load i64, i64* %237, !dbg !60 | |
| call void @strconv.Atoi({ i64, { i8*, i8* } }* sret %9, i8* nest undef, i8* %236, i64 %238), !dbg !60 | |
| %239 = getelementptr inbounds { i64, { i8*, i8* } }, { i64, { i8*, i8* } }* %9, i32 0, i32 0, !dbg !60 | |
| %240 = load i64, i64* %239, !dbg !60 | |
| %241 = getelementptr inbounds { i64, { i8*, i8* } }, { i64, { i8*, i8* } }* %9, i32 0, i32 1, !dbg !60 | |
| %242 = load { i8*, i8* }, { i8*, i8* }* %241, !dbg !60 | |
| store { i8*, i8* } %242, { i8*, i8* }* %10, !dbg !61 | |
| %243 = getelementptr inbounds { i8*, i8* }, { i8*, i8* }* %10, i32 0, i32 0, !dbg !61 | |
| %244 = load i8*, i8** %243, !dbg !61 | |
| %245 = getelementptr inbounds { i8*, i8* }, { i8*, i8* }* %10, i32 0, i32 1, !dbg !61 | |
| %246 = load i8*, i8** %245, !dbg !61 | |
| store { i8*, i8* } zeroinitializer, { i8*, i8* }* %11, !dbg !61 | |
| %247 = getelementptr inbounds { i8*, i8* }, { i8*, i8* }* %11, i32 0, i32 0, !dbg !61 | |
| %248 = load i8*, i8** %247, !dbg !61 | |
| %249 = getelementptr inbounds { i8*, i8* }, { i8*, i8* }* %11, i32 0, i32 1, !dbg !61 | |
| %250 = load i8*, i8** %249, !dbg !61 | |
| %251 = call i64 @__go_interface_compare(i8* nest undef, i8* %244, i8* %246, i8* %248, i8* %250), !dbg !61 | |
| %252 = icmp eq i64 %251, 0, !dbg !61 | |
| %253 = zext i1 %252 to i8, !dbg !61 | |
| %254 = xor i8 %253, 1, !dbg !61 | |
| %255 = trunc i8 %254 to i1, !dbg !34 | |
| br i1 %255, label %.3.if.then, label %.4.if.done, !dbg !34 | |
| ; <label>:256: ; preds = %.4.if.done | |
| %257 = bitcast i8* %86 to { i8*, i64 }*, !dbg !41 | |
| %258 = getelementptr { i8*, i64 }, { i8*, i64 }* %257, i64 2, !dbg !41 | |
| %259 = bitcast { i8*, i64 }* %258 to i8*, !dbg !41 | |
| %260 = bitcast i8* %259 to { i8*, i64 }*, !dbg !41 | |
| %261 = load { i8*, i64 }, { i8*, i64 }* %260, !dbg !41 | |
| %262 = extractvalue { i8*, i64, i64 } %52, 0, !dbg !62 | |
| %263 = extractvalue { i8*, i64, i64 } %52, 1, !dbg !62 | |
| %264 = icmp sle i64 %263, 3, !dbg !62 | |
| %265 = or i1 false, %264, !dbg !62 | |
| br i1 %265, label %218, label %266, !dbg !62, !prof !38 | |
| ; <label>:266: ; preds = %256 | |
| %267 = bitcast i8* %262 to { i8*, i64 }*, !dbg !62 | |
| %268 = getelementptr { i8*, i64 }, { i8*, i64 }* %267, i64 3, !dbg !62 | |
| %269 = bitcast { i8*, i64 }* %268 to i8*, !dbg !62 | |
| %270 = bitcast i8* %269 to { i8*, i64 }*, !dbg !62 | |
| %271 = load { i8*, i64 }, { i8*, i64 }* %270, !dbg !62 | |
| store { i8*, i64 } %271, { i8*, i64 }* %14, !dbg !63 | |
| %272 = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %14, i32 0, i32 0, !dbg !63 | |
| %273 = load i8*, i8** %272, !dbg !63 | |
| %274 = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %14, i32 0, i32 1, !dbg !63 | |
| %275 = load i64, i64* %274, !dbg !63 | |
| call void @strconv.Atoi({ i64, { i8*, i8* } }* sret %15, i8* nest undef, i8* %273, i64 %275), !dbg !63 | |
| %276 = getelementptr inbounds { i64, { i8*, i8* } }, { i64, { i8*, i8* } }* %15, i32 0, i32 0, !dbg !63 | |
| %277 = load i64, i64* %276, !dbg !63 | |
| %278 = getelementptr inbounds { i64, { i8*, i8* } }, { i64, { i8*, i8* } }* %15, i32 0, i32 1, !dbg !63 | |
| %279 = load { i8*, i8* }, { i8*, i8* }* %278, !dbg !63 | |
| store { i8*, i8* } %279, { i8*, i8* }* %16, !dbg !64 | |
| %280 = getelementptr inbounds { i8*, i8* }, { i8*, i8* }* %16, i32 0, i32 0, !dbg !64 | |
| %281 = load i8*, i8** %280, !dbg !64 | |
| %282 = getelementptr inbounds { i8*, i8* }, { i8*, i8* }* %16, i32 0, i32 1, !dbg !64 | |
| %283 = load i8*, i8** %282, !dbg !64 | |
| store { i8*, i8* } zeroinitializer, { i8*, i8* }* %17, !dbg !64 | |
| %284 = getelementptr inbounds { i8*, i8* }, { i8*, i8* }* %17, i32 0, i32 0, !dbg !64 | |
| %285 = load i8*, i8** %284, !dbg !64 | |
| %286 = getelementptr inbounds { i8*, i8* }, { i8*, i8* }* %17, i32 0, i32 1, !dbg !64 | |
| %287 = load i8*, i8** %286, !dbg !64 | |
| %288 = call i64 @__go_interface_compare(i8* nest undef, i8* %281, i8* %283, i8* %285, i8* %287), !dbg !64 | |
| %289 = icmp eq i64 %288, 0, !dbg !64 | |
| %290 = zext i1 %289 to i8, !dbg !64 | |
| %291 = xor i8 %290, 1, !dbg !64 | |
| %292 = trunc i8 %291 to i1, !dbg !34 | |
| br i1 %292, label %.5.if.then, label %.6.if.done, !dbg !34 | |
| } | |
| declare { i8*, i8* } @errors.New(i8* nest, i8*, i64) | |
| declare void @strconv.Atoi({ i64, { i8*, i8* } }* sret, i8* nest, i8*, i64) | |
| declare void @fmt.Printf({ i64, { i8*, i8* } }* sret, i8* nest, i8*, i64, { i8*, i64, i64 }* byval) | |
| declare { i8*, i64 } @strconv.Itoa(i8* nest, i64) | |
| define void @main.Invoke.pN20_main.SimpleChaincode({ { i8*, i64, i64 }, { i8*, i8* } }* sret, i8* nest, i8*, i8*, i8*) #2 !dbg !65 { | |
| prologue: | |
| %5 = alloca { { i8*, i64 }, { i8*, i64, i64 } }, !dbg !66 | |
| %6 = alloca { i8*, i64 }, !dbg !66 | |
| %7 = alloca { i8*, i64 }, !dbg !66 | |
| %8 = alloca { i8*, i8* }, !dbg !66 | |
| %9 = alloca { i8*, i64, i64 }, !dbg !66 | |
| %10 = alloca { { i8*, i64, i64 }, { i8*, i8* } }, !dbg !66 | |
| %11 = alloca { i8*, i64 }, !dbg !66 | |
| %12 = alloca { i8*, i64 }, !dbg !66 | |
| %13 = alloca { i8*, i8* }, !dbg !66 | |
| %14 = alloca { i8*, i64, i64 }, !dbg !66 | |
| %15 = alloca { { i8*, i64, i64 }, { i8*, i8* } }, !dbg !66 | |
| %16 = alloca { i8*, i64 }, !dbg !66 | |
| %17 = alloca { i8*, i64 }, !dbg !66 | |
| %18 = alloca { i8*, i8* }, !dbg !66 | |
| %19 = alloca { i8*, i64, i64 }, !dbg !66 | |
| %20 = alloca { { i8*, i64, i64 }, { i8*, i8* } }, !dbg !66 | |
| %21 = alloca { i8*, i64 }, !dbg !66 | |
| %22 = alloca { i8*, i8* }, !dbg !66 | |
| %23 = alloca { i8*, i8* }, !dbg !66 | |
| %24 = getelementptr inbounds { i8*, i8* }, { i8*, i8* }* %23, i32 0, i32 0, !dbg !66 | |
| store i8* %3, i8** %24, !dbg !66 | |
| %25 = getelementptr inbounds { i8*, i8* }, { i8*, i8* }* %23, i32 0, i32 1, !dbg !66 | |
| store i8* %4, i8** %25, !dbg !66 | |
| %26 = load { i8*, i8* }, { i8*, i8* }* %23, !dbg !66 | |
| br label %.0.entry, !dbg !66 | |
| .0.entry: ; preds = %prologue | |
| %27 = extractvalue { i8*, i8* } %26, 0, !dbg !67 | |
| %28 = extractvalue { i8*, i8* } %26, 1, !dbg !67 | |
| %29 = bitcast i8* %27 to i8**, !dbg !67 | |
| %30 = getelementptr i8*, i8** %29, i32 9, !dbg !67 | |
| %31 = load i8*, i8** %30, !dbg !67 | |
| %32 = bitcast i8* %31 to void ({ { i8*, i64 }, { i8*, i64, i64 } }*, i8*, i8*)*, !dbg !67 | |
| call void %32({ { i8*, i64 }, { i8*, i64, i64 } }* sret %5, i8* nest undef, i8* %28), !dbg !67 | |
| %33 = getelementptr inbounds { { i8*, i64 }, { i8*, i64, i64 } }, { { i8*, i64 }, { i8*, i64, i64 } }* %5, i32 0, i32 0, !dbg !67 | |
| %34 = load { i8*, i64 }, { i8*, i64 }* %33, !dbg !67 | |
| %35 = getelementptr inbounds { { i8*, i64 }, { i8*, i64, i64 } }, { { i8*, i64 }, { i8*, i64, i64 } }* %5, i32 0, i32 1, !dbg !67 | |
| %36 = load { i8*, i64, i64 }, { i8*, i64, i64 }* %35, !dbg !67 | |
| store { i8*, i64 } %34, { i8*, i64 }* %6, !dbg !68 | |
| %37 = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %6, i32 0, i32 0, !dbg !68 | |
| %38 = load i8*, i8** %37, !dbg !68 | |
| %39 = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %6, i32 0, i32 1, !dbg !68 | |
| %40 = load i64, i64* %39, !dbg !68 | |
| store { i8*, i64 } { i8* getelementptr inbounds ([6 x i8], [6 x i8]* @4, i32 0, i32 0), i64 6 }, { i8*, i64 }* %7, !dbg !68 | |
| %41 = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %7, i32 0, i32 0, !dbg !68 | |
| %42 = load i8*, i8** %41, !dbg !68 | |
| %43 = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %7, i32 0, i32 1, !dbg !68 | |
| %44 = load i64, i64* %43, !dbg !68 | |
| %45 = call i64 @__go_strcmp(i8* nest undef, i8* %38, i64 %40, i8* %42, i64 %44), !dbg !68 | |
| %46 = icmp eq i64 %45, 0, !dbg !68 | |
| %47 = zext i1 %46 to i8, !dbg !68 | |
| %48 = trunc i8 %47 to i1, !dbg !69 | |
| br i1 %48, label %.1.if.then, label %.2.if.else, !dbg !69 | |
| .1.if.then: ; preds = %.0.entry | |
| store { i8*, i8* } %26, { i8*, i8* }* %8, !dbg !70 | |
| %49 = getelementptr inbounds { i8*, i8* }, { i8*, i8* }* %8, i32 0, i32 0, !dbg !70 | |
| %50 = load i8*, i8** %49, !dbg !70 | |
| %51 = getelementptr inbounds { i8*, i8* }, { i8*, i8* }* %8, i32 0, i32 1, !dbg !70 | |
| %52 = load i8*, i8** %51, !dbg !70 | |
| store { i8*, i64, i64 } %36, { i8*, i64, i64 }* %9, !dbg !70 | |
| call void @main.invoke.pN20_main.SimpleChaincode({ { i8*, i64, i64 }, { i8*, i8* } }* sret %10, i8* nest undef, i8* %2, i8* %50, i8* %52, { i8*, i64, i64 }* byval %9), !dbg !70 | |
| %53 = getelementptr inbounds { { i8*, i64, i64 }, { i8*, i8* } }, { { i8*, i64, i64 }, { i8*, i8* } }* %10, i32 0, i32 0, !dbg !70 | |
| %54 = load { i8*, i64, i64 }, { i8*, i64, i64 }* %53, !dbg !70 | |
| %55 = getelementptr inbounds { { i8*, i64, i64 }, { i8*, i8* } }, { { i8*, i64, i64 }, { i8*, i8* } }* %10, i32 0, i32 1, !dbg !70 | |
| %56 = load { i8*, i8* }, { i8*, i8* }* %55, !dbg !70 | |
| %57 = getelementptr inbounds { { i8*, i64, i64 }, { i8*, i8* } }, { { i8*, i64, i64 }, { i8*, i8* } }* %0, i32 0, i32 0, !dbg !71 | |
| store { i8*, i64, i64 } %54, { i8*, i64, i64 }* %57, !dbg !71 | |
| %58 = getelementptr inbounds { { i8*, i64, i64 }, { i8*, i8* } }, { { i8*, i64, i64 }, { i8*, i8* } }* %0, i32 0, i32 1, !dbg !71 | |
| store { i8*, i8* } %56, { i8*, i8* }* %58, !dbg !71 | |
| ret void, !dbg !71 | |
| .2.if.else: ; preds = %.0.entry | |
| store { i8*, i64 } %34, { i8*, i64 }* %11, !dbg !72 | |
| %59 = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %11, i32 0, i32 0, !dbg !72 | |
| %60 = load i8*, i8** %59, !dbg !72 | |
| %61 = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %11, i32 0, i32 1, !dbg !72 | |
| %62 = load i64, i64* %61, !dbg !72 | |
| store { i8*, i64 } { i8* getelementptr inbounds ([6 x i8], [6 x i8]* @5, i32 0, i32 0), i64 6 }, { i8*, i64 }* %12, !dbg !72 | |
| %63 = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %12, i32 0, i32 0, !dbg !72 | |
| %64 = load i8*, i8** %63, !dbg !72 | |
| %65 = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %12, i32 0, i32 1, !dbg !72 | |
| %66 = load i64, i64* %65, !dbg !72 | |
| %67 = call i64 @__go_strcmp(i8* nest undef, i8* %60, i64 %62, i8* %64, i64 %66), !dbg !72 | |
| %68 = icmp eq i64 %67, 0, !dbg !72 | |
| %69 = zext i1 %68 to i8, !dbg !72 | |
| %70 = trunc i8 %69 to i1, !dbg !69 | |
| br i1 %70, label %.3.if.then, label %.4.if.else, !dbg !69 | |
| .3.if.then: ; preds = %.2.if.else | |
| store { i8*, i8* } %26, { i8*, i8* }* %13, !dbg !73 | |
| %71 = getelementptr inbounds { i8*, i8* }, { i8*, i8* }* %13, i32 0, i32 0, !dbg !73 | |
| %72 = load i8*, i8** %71, !dbg !73 | |
| %73 = getelementptr inbounds { i8*, i8* }, { i8*, i8* }* %13, i32 0, i32 1, !dbg !73 | |
| %74 = load i8*, i8** %73, !dbg !73 | |
| store { i8*, i64, i64 } %36, { i8*, i64, i64 }* %14, !dbg !73 | |
| call void @main.delete.pN20_main.SimpleChaincode({ { i8*, i64, i64 }, { i8*, i8* } }* sret %15, i8* nest undef, i8* %2, i8* %72, i8* %74, { i8*, i64, i64 }* byval %14), !dbg !73 | |
| %75 = getelementptr inbounds { { i8*, i64, i64 }, { i8*, i8* } }, { { i8*, i64, i64 }, { i8*, i8* } }* %15, i32 0, i32 0, !dbg !73 | |
| %76 = load { i8*, i64, i64 }, { i8*, i64, i64 }* %75, !dbg !73 | |
| %77 = getelementptr inbounds { { i8*, i64, i64 }, { i8*, i8* } }, { { i8*, i64, i64 }, { i8*, i8* } }* %15, i32 0, i32 1, !dbg !73 | |
| %78 = load { i8*, i8* }, { i8*, i8* }* %77, !dbg !73 | |
| %79 = getelementptr inbounds { { i8*, i64, i64 }, { i8*, i8* } }, { { i8*, i64, i64 }, { i8*, i8* } }* %0, i32 0, i32 0, !dbg !74 | |
| store { i8*, i64, i64 } %76, { i8*, i64, i64 }* %79, !dbg !74 | |
| %80 = getelementptr inbounds { { i8*, i64, i64 }, { i8*, i8* } }, { { i8*, i64, i64 }, { i8*, i8* } }* %0, i32 0, i32 1, !dbg !74 | |
| store { i8*, i8* } %78, { i8*, i8* }* %80, !dbg !74 | |
| ret void, !dbg !74 | |
| .4.if.else: ; preds = %.2.if.else | |
| store { i8*, i64 } %34, { i8*, i64 }* %16, !dbg !75 | |
| %81 = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %16, i32 0, i32 0, !dbg !75 | |
| %82 = load i8*, i8** %81, !dbg !75 | |
| %83 = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %16, i32 0, i32 1, !dbg !75 | |
| %84 = load i64, i64* %83, !dbg !75 | |
| store { i8*, i64 } { i8* getelementptr inbounds ([5 x i8], [5 x i8]* @6, i32 0, i32 0), i64 5 }, { i8*, i64 }* %17, !dbg !75 | |
| %85 = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %17, i32 0, i32 0, !dbg !75 | |
| %86 = load i8*, i8** %85, !dbg !75 | |
| %87 = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %17, i32 0, i32 1, !dbg !75 | |
| %88 = load i64, i64* %87, !dbg !75 | |
| %89 = call i64 @__go_strcmp(i8* nest undef, i8* %82, i64 %84, i8* %86, i64 %88), !dbg !75 | |
| %90 = icmp eq i64 %89, 0, !dbg !75 | |
| %91 = zext i1 %90 to i8, !dbg !75 | |
| %92 = trunc i8 %91 to i1, !dbg !69 | |
| br i1 %92, label %.5.if.then, label %.6.if.done, !dbg !69 | |
| .5.if.then: ; preds = %.4.if.else | |
| store { i8*, i8* } %26, { i8*, i8* }* %18, !dbg !76 | |
| %93 = getelementptr inbounds { i8*, i8* }, { i8*, i8* }* %18, i32 0, i32 0, !dbg !76 | |
| %94 = load i8*, i8** %93, !dbg !76 | |
| %95 = getelementptr inbounds { i8*, i8* }, { i8*, i8* }* %18, i32 0, i32 1, !dbg !76 | |
| %96 = load i8*, i8** %95, !dbg !76 | |
| store { i8*, i64, i64 } %36, { i8*, i64, i64 }* %19, !dbg !76 | |
| call void @main.query.pN20_main.SimpleChaincode({ { i8*, i64, i64 }, { i8*, i8* } }* sret %20, i8* nest undef, i8* %2, i8* %94, i8* %96, { i8*, i64, i64 }* byval %19), !dbg !76 | |
| %97 = getelementptr inbounds { { i8*, i64, i64 }, { i8*, i8* } }, { { i8*, i64, i64 }, { i8*, i8* } }* %20, i32 0, i32 0, !dbg !76 | |
| %98 = load { i8*, i64, i64 }, { i8*, i64, i64 }* %97, !dbg !76 | |
| %99 = getelementptr inbounds { { i8*, i64, i64 }, { i8*, i8* } }, { { i8*, i64, i64 }, { i8*, i8* } }* %20, i32 0, i32 1, !dbg !76 | |
| %100 = load { i8*, i8* }, { i8*, i8* }* %99, !dbg !76 | |
| %101 = getelementptr inbounds { { i8*, i64, i64 }, { i8*, i8* } }, { { i8*, i64, i64 }, { i8*, i8* } }* %0, i32 0, i32 0, !dbg !77 | |
| store { i8*, i64, i64 } %98, { i8*, i64, i64 }* %101, !dbg !77 | |
| %102 = getelementptr inbounds { { i8*, i64, i64 }, { i8*, i8* } }, { { i8*, i64, i64 }, { i8*, i8* } }* %0, i32 0, i32 1, !dbg !77 | |
| store { i8*, i8* } %100, { i8*, i8* }* %102, !dbg !77 | |
| ret void, !dbg !77 | |
| .6.if.done: ; preds = %.4.if.else | |
| store { i8*, i64 } { i8* getelementptr inbounds ([65 x i8], [65 x i8]* @7, i32 0, i32 0), i64 65 }, { i8*, i64 }* %21, !dbg !78 | |
| %103 = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %21, i32 0, i32 0, !dbg !78 | |
| %104 = load i8*, i8** %103, !dbg !78 | |
| %105 = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %21, i32 0, i32 1, !dbg !78 | |
| %106 = load i64, i64* %105, !dbg !78 | |
| %107 = call { i8*, i8* } @errors.New(i8* nest undef, i8* %104, i64 %106), !dbg !78 | |
| %108 = extractvalue { i8*, i8* } %107, 0, !dbg !78 | |
| %109 = extractvalue { i8*, i8* } %107, 1, !dbg !78 | |
| %110 = getelementptr inbounds { i8*, i8* }, { i8*, i8* }* %22, i32 0, i32 0, !dbg !78 | |
| store i8* %108, i8** %110, !dbg !78 | |
| %111 = getelementptr inbounds { i8*, i8* }, { i8*, i8* }* %22, i32 0, i32 1, !dbg !78 | |
| store i8* %109, i8** %111, !dbg !78 | |
| %112 = load { i8*, i8* }, { i8*, i8* }* %22, !dbg !78 | |
| %113 = getelementptr inbounds { { i8*, i64, i64 }, { i8*, i8* } }, { { i8*, i64, i64 }, { i8*, i8* } }* %0, i32 0, i32 0, !dbg !79 | |
| store { i8*, i64, i64 } zeroinitializer, { i8*, i64, i64 }* %113, !dbg !79 | |
| %114 = getelementptr inbounds { { i8*, i64, i64 }, { i8*, i8* } }, { { i8*, i64, i64 }, { i8*, i8* } }* %0, i32 0, i32 1, !dbg !79 | |
| store { i8*, i8* } %112, { i8*, i8* }* %114, !dbg !79 | |
| ret void, !dbg !79 | |
| } | |
| define void @main.invoke.pN20_main.SimpleChaincode({ { i8*, i64, i64 }, { i8*, i8* } }* sret, i8* nest, i8*, i8*, i8*, { i8*, i64, i64 }* byval) #2 !dbg !80 { | |
| prologue: | |
| %6 = alloca { i8*, i64 }, !dbg !89 | |
| %7 = alloca { i8*, i8* }, !dbg !89 | |
| %8 = alloca { i8*, i64 }, !dbg !89 | |
| %9 = alloca { { i8*, i64, i64 }, { i8*, i8* } }, !dbg !89 | |
| %10 = alloca { i8*, i8* }, !dbg !89 | |
| %11 = alloca { i8*, i8* }, !dbg !89 | |
| %12 = alloca { i8*, i64 }, !dbg !89 | |
| %13 = alloca { i8*, i8* }, !dbg !89 | |
| %14 = alloca { i8*, i64 }, !dbg !89 | |
| %15 = alloca { i8*, i8* }, !dbg !89 | |
| %16 = alloca { i8*, i64 }, !dbg !89 | |
| %17 = alloca { i8*, i64 }, !dbg !89 | |
| %18 = alloca { i64, { i8*, i8* } }, !dbg !89 | |
| %19 = alloca { i8*, i64 }, !dbg !89 | |
| %20 = alloca { { i8*, i64, i64 }, { i8*, i8* } }, !dbg !89 | |
| %21 = alloca { i8*, i8* }, !dbg !89 | |
| %22 = alloca { i8*, i8* }, !dbg !89 | |
| %23 = alloca { i8*, i64 }, !dbg !89 | |
| %24 = alloca { i8*, i8* }, !dbg !89 | |
| %25 = alloca { i8*, i64 }, !dbg !89 | |
| %26 = alloca { i8*, i8* }, !dbg !89 | |
| %27 = alloca { i8*, i64 }, !dbg !89 | |
| %28 = alloca { i8*, i64 }, !dbg !89 | |
| %29 = alloca { i64, { i8*, i8* } }, !dbg !89 | |
| %30 = alloca { i8*, i64 }, !dbg !89 | |
| %31 = alloca { i64, { i8*, i8* } }, !dbg !89 | |
| %32 = alloca { i8*, i8* }, !dbg !89 | |
| %33 = alloca { i8*, i8* }, !dbg !89 | |
| %34 = alloca { i8*, i64 }, !dbg !89 | |
| %35 = alloca { i8*, i8* }, !dbg !89 | |
| %36 = alloca { i8*, i64 }, !dbg !89 | |
| %37 = alloca { i8*, i64, i64 }, !dbg !89 | |
| %38 = alloca { i64, { i8*, i8* } }, !dbg !89 | |
| %39 = alloca { i8*, i64 }, !dbg !89 | |
| %40 = alloca { i8*, i64 }, !dbg !89 | |
| %41 = alloca { i8*, i64, i64 }, !dbg !89 | |
| %42 = alloca { i8*, i64 }, !dbg !89 | |
| %43 = alloca { i8*, i64, i64 }, !dbg !89 | |
| %44 = alloca { i8*, i8* }, !dbg !89 | |
| %45 = alloca { i8*, i8* }, !dbg !89 | |
| %46 = alloca { i8*, i8* }, !dbg !89 | |
| %47 = alloca { i8*, i64 }, !dbg !89 | |
| %48 = alloca { i8*, i64 }, !dbg !89 | |
| %49 = alloca { i8*, i64, i64 }, !dbg !89 | |
| %50 = alloca { i8*, i64 }, !dbg !89 | |
| %51 = alloca { i8*, i64, i64 }, !dbg !89 | |
| %52 = alloca { i8*, i8* }, !dbg !89 | |
| %53 = alloca { i8*, i8* }, !dbg !89 | |
| %54 = alloca { i8*, i8* }, !dbg !89 | |
| %55 = alloca { i8*, i8* }, !dbg !89 | |
| %56 = getelementptr inbounds { i8*, i8* }, { i8*, i8* }* %55, i32 0, i32 0, !dbg !89 | |
| store i8* %3, i8** %56, !dbg !89 | |
| %57 = getelementptr inbounds { i8*, i8* }, { i8*, i8* }* %55, i32 0, i32 1, !dbg !89 | |
| store i8* %4, i8** %57, !dbg !89 | |
| %58 = load { i8*, i8* }, { i8*, i8* }* %55, !dbg !89 | |
| %59 = load { i8*, i64, i64 }, { i8*, i64, i64 }* %5, !dbg !89 | |
| br label %.0.entry, !dbg !89 | |
| .0.entry: ; preds = %prologue | |
| %60 = extractvalue { i8*, i64, i64 } %59, 1, !dbg !90 | |
| %61 = icmp eq i64 %60, 3, !dbg !91 | |
| %62 = zext i1 %61 to i8, !dbg !91 | |
| %63 = xor i8 %62, 1, !dbg !91 | |
| %64 = trunc i8 %63 to i1, !dbg !92 | |
| br i1 %64, label %.1.if.then, label %.2.if.done, !dbg !92 | |
| .1.if.then: ; preds = %.0.entry | |
| store { i8*, i64 } { i8* getelementptr inbounds ([42 x i8], [42 x i8]* @10, i32 0, i32 0), i64 42 }, { i8*, i64 }* %6, !dbg !93 | |
| %65 = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %6, i32 0, i32 0, !dbg !93 | |
| %66 = load i8*, i8** %65, !dbg !93 | |
| %67 = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %6, i32 0, i32 1, !dbg !93 | |
| %68 = load i64, i64* %67, !dbg !93 | |
| %69 = call { i8*, i8* } @errors.New(i8* nest undef, i8* %66, i64 %68), !dbg !93 | |
| %70 = extractvalue { i8*, i8* } %69, 0, !dbg !93 | |
| %71 = extractvalue { i8*, i8* } %69, 1, !dbg !93 | |
| %72 = getelementptr inbounds { i8*, i8* }, { i8*, i8* }* %7, i32 0, i32 0, !dbg !93 | |
| store i8* %70, i8** %72, !dbg !93 | |
| %73 = getelementptr inbounds { i8*, i8* }, { i8*, i8* }* %7, i32 0, i32 1, !dbg !93 | |
| store i8* %71, i8** %73, !dbg !93 | |
| %74 = load { i8*, i8* }, { i8*, i8* }* %7, !dbg !93 | |
| %75 = getelementptr inbounds { { i8*, i64, i64 }, { i8*, i8* } }, { { i8*, i64, i64 }, { i8*, i8* } }* %0, i32 0, i32 0, !dbg !94 | |
| store { i8*, i64, i64 } zeroinitializer, { i8*, i64, i64 }* %75, !dbg !94 | |
| %76 = getelementptr inbounds { { i8*, i64, i64 }, { i8*, i8* } }, { { i8*, i64, i64 }, { i8*, i8* } }* %0, i32 0, i32 1, !dbg !94 | |
| store { i8*, i8* } %74, { i8*, i8* }* %76, !dbg !94 | |
| ret void, !dbg !94 | |
| .2.if.done: ; preds = %.0.entry | |
| %77 = extractvalue { i8*, i64, i64 } %59, 0, !dbg !95 | |
| %78 = extractvalue { i8*, i64, i64 } %59, 1, !dbg !95 | |
| %79 = icmp sle i64 %78, 0, !dbg !95 | |
| %80 = or i1 false, %79, !dbg !95 | |
| br i1 %80, label %330, label %331, !dbg !95, !prof !38 | |
| .3.if.then: ; preds = %341 | |
| store { i8*, i64 } { i8* getelementptr inbounds ([19 x i8], [19 x i8]* @11, i32 0, i32 0), i64 19 }, { i8*, i64 }* %12, !dbg !96 | |
| %81 = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %12, i32 0, i32 0, !dbg !96 | |
| %82 = load i8*, i8** %81, !dbg !96 | |
| %83 = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %12, i32 0, i32 1, !dbg !96 | |
| %84 = load i64, i64* %83, !dbg !96 | |
| %85 = call { i8*, i8* } @errors.New(i8* nest undef, i8* %82, i64 %84), !dbg !96 | |
| %86 = extractvalue { i8*, i8* } %85, 0, !dbg !96 | |
| %87 = extractvalue { i8*, i8* } %85, 1, !dbg !96 | |
| %88 = getelementptr inbounds { i8*, i8* }, { i8*, i8* }* %13, i32 0, i32 0, !dbg !96 | |
| store i8* %86, i8** %88, !dbg !96 | |
| %89 = getelementptr inbounds { i8*, i8* }, { i8*, i8* }* %13, i32 0, i32 1, !dbg !96 | |
| store i8* %87, i8** %89, !dbg !96 | |
| %90 = load { i8*, i8* }, { i8*, i8* }* %13, !dbg !96 | |
| %91 = getelementptr inbounds { { i8*, i64, i64 }, { i8*, i8* } }, { { i8*, i64, i64 }, { i8*, i8* } }* %0, i32 0, i32 0, !dbg !97 | |
| store { i8*, i64, i64 } zeroinitializer, { i8*, i64, i64 }* %91, !dbg !97 | |
| %92 = getelementptr inbounds { { i8*, i64, i64 }, { i8*, i8* } }, { { i8*, i64, i64 }, { i8*, i8* } }* %0, i32 0, i32 1, !dbg !97 | |
| store { i8*, i8* } %90, { i8*, i8* }* %92, !dbg !97 | |
| ret void, !dbg !97 | |
| .4.if.done: ; preds = %341 | |
| %93 = extractvalue { i8*, i64, i64 } %358, 0, !dbg !98 | |
| %94 = icmp eq i8* %93, null, !dbg !98 | |
| %95 = zext i1 %94 to i8, !dbg !98 | |
| %96 = trunc i8 %95 to i1, !dbg !92 | |
| br i1 %96, label %.5.if.then, label %.6.if.done, !dbg !92 | |
| .5.if.then: ; preds = %.4.if.done | |
| store { i8*, i64 } { i8* getelementptr inbounds ([16 x i8], [16 x i8]* @12, i32 0, i32 0), i64 16 }, { i8*, i64 }* %14, !dbg !99 | |
| %97 = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %14, i32 0, i32 0, !dbg !99 | |
| %98 = load i8*, i8** %97, !dbg !99 | |
| %99 = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %14, i32 0, i32 1, !dbg !99 | |
| %100 = load i64, i64* %99, !dbg !99 | |
| %101 = call { i8*, i8* } @errors.New(i8* nest undef, i8* %98, i64 %100), !dbg !99 | |
| %102 = extractvalue { i8*, i8* } %101, 0, !dbg !99 | |
| %103 = extractvalue { i8*, i8* } %101, 1, !dbg !99 | |
| %104 = getelementptr inbounds { i8*, i8* }, { i8*, i8* }* %15, i32 0, i32 0, !dbg !99 | |
| store i8* %102, i8** %104, !dbg !99 | |
| %105 = getelementptr inbounds { i8*, i8* }, { i8*, i8* }* %15, i32 0, i32 1, !dbg !99 | |
| store i8* %103, i8** %105, !dbg !99 | |
| %106 = load { i8*, i8* }, { i8*, i8* }* %15, !dbg !99 | |
| %107 = getelementptr inbounds { { i8*, i64, i64 }, { i8*, i8* } }, { { i8*, i64, i64 }, { i8*, i8* } }* %0, i32 0, i32 0, !dbg !100 | |
| store { i8*, i64, i64 } zeroinitializer, { i8*, i64, i64 }* %107, !dbg !100 | |
| %108 = getelementptr inbounds { { i8*, i64, i64 }, { i8*, i8* } }, { { i8*, i64, i64 }, { i8*, i8* } }* %0, i32 0, i32 1, !dbg !100 | |
| store { i8*, i8* } %106, { i8*, i8* }* %108, !dbg !100 | |
| ret void, !dbg !100 | |
| .6.if.done: ; preds = %.4.if.done | |
| %109 = extractvalue { i8*, i64, i64 } %358, 0, !dbg !101 | |
| %110 = extractvalue { i8*, i64, i64 } %358, 1, !dbg !101 | |
| %111 = call { i8*, i64 } @__go_byte_array_to_string(i8* nest undef, i8* %109, i64 %110), !dbg !101 | |
| %112 = extractvalue { i8*, i64 } %111, 0, !dbg !101 | |
| %113 = extractvalue { i8*, i64 } %111, 1, !dbg !101 | |
| %114 = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %16, i32 0, i32 0, !dbg !101 | |
| store i8* %112, i8** %114, !dbg !101 | |
| %115 = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %16, i32 0, i32 1, !dbg !101 | |
| store i64 %113, i64* %115, !dbg !101 | |
| %116 = load { i8*, i64 }, { i8*, i64 }* %16, !dbg !101 | |
| store { i8*, i64 } %116, { i8*, i64 }* %17, !dbg !102 | |
| %117 = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %17, i32 0, i32 0, !dbg !102 | |
| %118 = load i8*, i8** %117, !dbg !102 | |
| %119 = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %17, i32 0, i32 1, !dbg !102 | |
| %120 = load i64, i64* %119, !dbg !102 | |
| call void @strconv.Atoi({ i64, { i8*, i8* } }* sret %18, i8* nest undef, i8* %118, i64 %120), !dbg !102 | |
| %121 = getelementptr inbounds { i64, { i8*, i8* } }, { i64, { i8*, i8* } }* %18, i32 0, i32 0, !dbg !102 | |
| %122 = load i64, i64* %121, !dbg !102 | |
| %123 = getelementptr inbounds { i64, { i8*, i8* } }, { i64, { i8*, i8* } }* %18, i32 0, i32 1, !dbg !102 | |
| %124 = load { i8*, i8* }, { i8*, i8* }* %123, !dbg !102 | |
| %125 = extractvalue { i8*, i8* } %58, 0, !dbg !103 | |
| %126 = extractvalue { i8*, i8* } %58, 1, !dbg !103 | |
| %127 = bitcast i8* %125 to i8**, !dbg !103 | |
| %128 = getelementptr i8*, i8** %127, i32 13, !dbg !103 | |
| %129 = load i8*, i8** %128, !dbg !103 | |
| store { i8*, i64 } %346, { i8*, i64 }* %19, !dbg !103 | |
| %130 = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %19, i32 0, i32 0, !dbg !103 | |
| %131 = load i8*, i8** %130, !dbg !103 | |
| %132 = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %19, i32 0, i32 1, !dbg !103 | |
| %133 = load i64, i64* %132, !dbg !103 | |
| %134 = bitcast i8* %129 to void ({ { i8*, i64, i64 }, { i8*, i8* } }*, i8*, i8*, i8*, i64)*, !dbg !103 | |
| call void %134({ { i8*, i64, i64 }, { i8*, i8* } }* sret %20, i8* nest undef, i8* %126, i8* %131, i64 %133), !dbg !103 | |
| %135 = getelementptr inbounds { { i8*, i64, i64 }, { i8*, i8* } }, { { i8*, i64, i64 }, { i8*, i8* } }* %20, i32 0, i32 0, !dbg !103 | |
| %136 = load { i8*, i64, i64 }, { i8*, i64, i64 }* %135, !dbg !103 | |
| %137 = getelementptr inbounds { { i8*, i64, i64 }, { i8*, i8* } }, { { i8*, i64, i64 }, { i8*, i8* } }* %20, i32 0, i32 1, !dbg !103 | |
| %138 = load { i8*, i8* }, { i8*, i8* }* %137, !dbg !103 | |
| store { i8*, i8* } %138, { i8*, i8* }* %21, !dbg !104 | |
| %139 = getelementptr inbounds { i8*, i8* }, { i8*, i8* }* %21, i32 0, i32 0, !dbg !104 | |
| %140 = load i8*, i8** %139, !dbg !104 | |
| %141 = getelementptr inbounds { i8*, i8* }, { i8*, i8* }* %21, i32 0, i32 1, !dbg !104 | |
| %142 = load i8*, i8** %141, !dbg !104 | |
| store { i8*, i8* } zeroinitializer, { i8*, i8* }* %22, !dbg !104 | |
| %143 = getelementptr inbounds { i8*, i8* }, { i8*, i8* }* %22, i32 0, i32 0, !dbg !104 | |
| %144 = load i8*, i8** %143, !dbg !104 | |
| %145 = getelementptr inbounds { i8*, i8* }, { i8*, i8* }* %22, i32 0, i32 1, !dbg !104 | |
| %146 = load i8*, i8** %145, !dbg !104 | |
| %147 = call i64 @__go_interface_compare(i8* nest undef, i8* %140, i8* %142, i8* %144, i8* %146), !dbg !104 | |
| %148 = icmp eq i64 %147, 0, !dbg !104 | |
| %149 = zext i1 %148 to i8, !dbg !104 | |
| %150 = xor i8 %149, 1, !dbg !104 | |
| %151 = trunc i8 %150 to i1, !dbg !92 | |
| br i1 %151, label %.7.if.then, label %.8.if.done, !dbg !92 | |
| .7.if.then: ; preds = %.6.if.done | |
| store { i8*, i64 } { i8* getelementptr inbounds ([19 x i8], [19 x i8]* @13, i32 0, i32 0), i64 19 }, { i8*, i64 }* %23, !dbg !105 | |
| %152 = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %23, i32 0, i32 0, !dbg !105 | |
| %153 = load i8*, i8** %152, !dbg !105 | |
| %154 = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %23, i32 0, i32 1, !dbg !105 | |
| %155 = load i64, i64* %154, !dbg !105 | |
| %156 = call { i8*, i8* } @errors.New(i8* nest undef, i8* %153, i64 %155), !dbg !105 | |
| %157 = extractvalue { i8*, i8* } %156, 0, !dbg !105 | |
| %158 = extractvalue { i8*, i8* } %156, 1, !dbg !105 | |
| %159 = getelementptr inbounds { i8*, i8* }, { i8*, i8* }* %24, i32 0, i32 0, !dbg !105 | |
| store i8* %157, i8** %159, !dbg !105 | |
| %160 = getelementptr inbounds { i8*, i8* }, { i8*, i8* }* %24, i32 0, i32 1, !dbg !105 | |
| store i8* %158, i8** %160, !dbg !105 | |
| %161 = load { i8*, i8* }, { i8*, i8* }* %24, !dbg !105 | |
| %162 = getelementptr inbounds { { i8*, i64, i64 }, { i8*, i8* } }, { { i8*, i64, i64 }, { i8*, i8* } }* %0, i32 0, i32 0, !dbg !106 | |
| store { i8*, i64, i64 } zeroinitializer, { i8*, i64, i64 }* %162, !dbg !106 | |
| %163 = getelementptr inbounds { { i8*, i64, i64 }, { i8*, i8* } }, { { i8*, i64, i64 }, { i8*, i8* } }* %0, i32 0, i32 1, !dbg !106 | |
| store { i8*, i8* } %161, { i8*, i8* }* %163, !dbg !106 | |
| ret void, !dbg !106 | |
| .8.if.done: ; preds = %.6.if.done | |
| %164 = extractvalue { i8*, i64, i64 } %136, 0, !dbg !107 | |
| %165 = icmp eq i8* %164, null, !dbg !107 | |
| %166 = zext i1 %165 to i8, !dbg !107 | |
| %167 = trunc i8 %166 to i1, !dbg !92 | |
| br i1 %167, label %.9.if.then, label %.10.if.done, !dbg !92 | |
| .9.if.then: ; preds = %.8.if.done | |
| store { i8*, i64 } { i8* getelementptr inbounds ([16 x i8], [16 x i8]* @14, i32 0, i32 0), i64 16 }, { i8*, i64 }* %25, !dbg !108 | |
| %168 = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %25, i32 0, i32 0, !dbg !108 | |
| %169 = load i8*, i8** %168, !dbg !108 | |
| %170 = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %25, i32 0, i32 1, !dbg !108 | |
| %171 = load i64, i64* %170, !dbg !108 | |
| %172 = call { i8*, i8* } @errors.New(i8* nest undef, i8* %169, i64 %171), !dbg !108 | |
| %173 = extractvalue { i8*, i8* } %172, 0, !dbg !108 | |
| %174 = extractvalue { i8*, i8* } %172, 1, !dbg !108 | |
| %175 = getelementptr inbounds { i8*, i8* }, { i8*, i8* }* %26, i32 0, i32 0, !dbg !108 | |
| store i8* %173, i8** %175, !dbg !108 | |
| %176 = getelementptr inbounds { i8*, i8* }, { i8*, i8* }* %26, i32 0, i32 1, !dbg !108 | |
| store i8* %174, i8** %176, !dbg !108 | |
| %177 = load { i8*, i8* }, { i8*, i8* }* %26, !dbg !108 | |
| %178 = getelementptr inbounds { { i8*, i64, i64 }, { i8*, i8* } }, { { i8*, i64, i64 }, { i8*, i8* } }* %0, i32 0, i32 0, !dbg !109 | |
| store { i8*, i64, i64 } zeroinitializer, { i8*, i64, i64 }* %178, !dbg !109 | |
| %179 = getelementptr inbounds { { i8*, i64, i64 }, { i8*, i8* } }, { { i8*, i64, i64 }, { i8*, i8* } }* %0, i32 0, i32 1, !dbg !109 | |
| store { i8*, i8* } %177, { i8*, i8* }* %179, !dbg !109 | |
| ret void, !dbg !109 | |
| .10.if.done: ; preds = %.8.if.done | |
| %180 = extractvalue { i8*, i64, i64 } %136, 0, !dbg !110 | |
| %181 = extractvalue { i8*, i64, i64 } %136, 1, !dbg !110 | |
| %182 = call { i8*, i64 } @__go_byte_array_to_string(i8* nest undef, i8* %180, i64 %181), !dbg !110 | |
| %183 = extractvalue { i8*, i64 } %182, 0, !dbg !110 | |
| %184 = extractvalue { i8*, i64 } %182, 1, !dbg !110 | |
| %185 = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %27, i32 0, i32 0, !dbg !110 | |
| store i8* %183, i8** %185, !dbg !110 | |
| %186 = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %27, i32 0, i32 1, !dbg !110 | |
| store i64 %184, i64* %186, !dbg !110 | |
| %187 = load { i8*, i64 }, { i8*, i64 }* %27, !dbg !110 | |
| store { i8*, i64 } %187, { i8*, i64 }* %28, !dbg !111 | |
| %188 = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %28, i32 0, i32 0, !dbg !111 | |
| %189 = load i8*, i8** %188, !dbg !111 | |
| %190 = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %28, i32 0, i32 1, !dbg !111 | |
| %191 = load i64, i64* %190, !dbg !111 | |
| call void @strconv.Atoi({ i64, { i8*, i8* } }* sret %29, i8* nest undef, i8* %189, i64 %191), !dbg !111 | |
| %192 = getelementptr inbounds { i64, { i8*, i8* } }, { i64, { i8*, i8* } }* %29, i32 0, i32 0, !dbg !111 | |
| %193 = load i64, i64* %192, !dbg !111 | |
| %194 = getelementptr inbounds { i64, { i8*, i8* } }, { i64, { i8*, i8* } }* %29, i32 0, i32 1, !dbg !111 | |
| %195 = load { i8*, i8* }, { i8*, i8* }* %194, !dbg !111 | |
| %196 = extractvalue { i8*, i64, i64 } %59, 0, !dbg !112 | |
| %197 = extractvalue { i8*, i64, i64 } %59, 1, !dbg !112 | |
| %198 = icmp sle i64 %197, 2, !dbg !112 | |
| %199 = or i1 false, %198, !dbg !112 | |
| br i1 %199, label %330, label %374, !dbg !112, !prof !38 | |
| .11.if.then: ; preds = %374 | |
| store { i8*, i64 } { i8* getelementptr inbounds ([53 x i8], [53 x i8]* @15, i32 0, i32 0), i64 53 }, { i8*, i64 }* %34, !dbg !113 | |
| %200 = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %34, i32 0, i32 0, !dbg !113 | |
| %201 = load i8*, i8** %200, !dbg !113 | |
| %202 = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %34, i32 0, i32 1, !dbg !113 | |
| %203 = load i64, i64* %202, !dbg !113 | |
| %204 = call { i8*, i8* } @errors.New(i8* nest undef, i8* %201, i64 %203), !dbg !113 | |
| %205 = extractvalue { i8*, i8* } %204, 0, !dbg !113 | |
| %206 = extractvalue { i8*, i8* } %204, 1, !dbg !113 | |
| %207 = getelementptr inbounds { i8*, i8* }, { i8*, i8* }* %35, i32 0, i32 0, !dbg !113 | |
| store i8* %205, i8** %207, !dbg !113 | |
| %208 = getelementptr inbounds { i8*, i8* }, { i8*, i8* }* %35, i32 0, i32 1, !dbg !113 | |
| store i8* %206, i8** %208, !dbg !113 | |
| %209 = load { i8*, i8* }, { i8*, i8* }* %35, !dbg !113 | |
| %210 = getelementptr inbounds { { i8*, i64, i64 }, { i8*, i8* } }, { { i8*, i64, i64 }, { i8*, i8* } }* %0, i32 0, i32 0, !dbg !114 | |
| store { i8*, i64, i64 } zeroinitializer, { i8*, i64, i64 }* %210, !dbg !114 | |
| %211 = getelementptr inbounds { { i8*, i64, i64 }, { i8*, i8* } }, { { i8*, i64, i64 }, { i8*, i8* } }* %0, i32 0, i32 1, !dbg !114 | |
| store { i8*, i8* } %209, { i8*, i8* }* %211, !dbg !114 | |
| ret void, !dbg !114 | |
| .12.if.done: ; preds = %374 | |
| %212 = sub i64 %122, %385, !dbg !115 | |
| %213 = add i64 %193, %385, !dbg !116 | |
| %214 = call i8* @__go_new(i8* nest undef, i8* getelementptr inbounds (%arrayType, %arrayType* @__go_td_AIe2e, i32 0, i32 0, i32 0), i64 32), !dbg !117 | |
| %varargs = bitcast i8* %214 to [2 x { i8*, i8* }]*, !dbg !117 | |
| %215 = bitcast [2 x { i8*, i8* }]* %varargs to i8*, !dbg !117 | |
| %216 = bitcast i8* %215 to { i8*, i8* }*, !dbg !92 | |
| %217 = getelementptr { i8*, i8* }, { i8*, i8* }* %216, i64 0, !dbg !92 | |
| %218 = bitcast { i8*, i8* }* %217 to i8*, !dbg !92 | |
| %219 = call i8* @__go_new(i8* nest undef, i8* getelementptr inbounds (%commonType, %commonType* @__go_tdn_int, i32 0, i32 0), i64 8), !dbg !92 | |
| %220 = bitcast i8* %219 to i64*, !dbg !92 | |
| store i64 %212, i64* %220, !dbg !92 | |
| %221 = bitcast i64* %220 to i8*, !dbg !92 | |
| %222 = insertvalue { i8*, i8* } { i8* getelementptr inbounds (%commonType, %commonType* @__go_tdn_int, i32 0, i32 0), i8* undef }, i8* %221, 1, !dbg !92 | |
| %223 = bitcast i8* %218 to { i8*, i8* }*, !dbg !118 | |
| store { i8*, i8* } %222, { i8*, i8* }* %223, !dbg !118 | |
| %224 = bitcast i8* %215 to { i8*, i8* }*, !dbg !92 | |
| %225 = getelementptr { i8*, i8* }, { i8*, i8* }* %224, i64 1, !dbg !92 | |
| %226 = bitcast { i8*, i8* }* %225 to i8*, !dbg !92 | |
| %227 = call i8* @__go_new(i8* nest undef, i8* getelementptr inbounds (%commonType, %commonType* @__go_tdn_int, i32 0, i32 0), i64 8), !dbg !92 | |
| %228 = bitcast i8* %227 to i64*, !dbg !92 | |
| store i64 %213, i64* %228, !dbg !92 | |
| %229 = bitcast i64* %228 to i8*, !dbg !92 | |
| %230 = insertvalue { i8*, i8* } { i8* getelementptr inbounds (%commonType, %commonType* @__go_tdn_int, i32 0, i32 0), i8* undef }, i8* %229, 1, !dbg !92 | |
| %231 = bitcast i8* %226 to { i8*, i8* }*, !dbg !119 | |
| store { i8*, i8* } %230, { i8*, i8* }* %231, !dbg !119 | |
| %232 = getelementptr inbounds i8, i8* %215, i64 0, !dbg !92 | |
| %233 = insertvalue { i8*, i64, i64 } undef, i8* %232, 0, !dbg !92 | |
| %234 = insertvalue { i8*, i64, i64 } %233, i64 2, 1, !dbg !92 | |
| %235 = insertvalue { i8*, i64, i64 } %234, i64 2, 2, !dbg !92 | |
| store { i8*, i64 } { i8* getelementptr inbounds ([21 x i8], [21 x i8]* @16, i32 0, i32 0), i64 21 }, { i8*, i64 }* %36, !dbg !120 | |
| %236 = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %36, i32 0, i32 0, !dbg !120 | |
| %237 = load i8*, i8** %236, !dbg !120 | |
| %238 = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %36, i32 0, i32 1, !dbg !120 | |
| %239 = load i64, i64* %238, !dbg !120 | |
| store { i8*, i64, i64 } %235, { i8*, i64, i64 }* %37, !dbg !120 | |
| call void @fmt.Printf({ i64, { i8*, i8* } }* sret %38, i8* nest undef, i8* %237, i64 %239, { i8*, i64, i64 }* byval %37), !dbg !120 | |
| %240 = getelementptr inbounds { i64, { i8*, i8* } }, { i64, { i8*, i8* } }* %38, i32 0, i32 0, !dbg !120 | |
| %241 = load i64, i64* %240, !dbg !120 | |
| %242 = getelementptr inbounds { i64, { i8*, i8* } }, { i64, { i8*, i8* } }* %38, i32 0, i32 1, !dbg !120 | |
| %243 = load { i8*, i8* }, { i8*, i8* }* %242, !dbg !120 | |
| %244 = call { i8*, i64 } @strconv.Itoa(i8* nest undef, i64 %212), !dbg !121 | |
| %245 = extractvalue { i8*, i64 } %244, 0, !dbg !121 | |
| %246 = extractvalue { i8*, i64 } %244, 1, !dbg !121 | |
| %247 = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %39, i32 0, i32 0, !dbg !121 | |
| store i8* %245, i8** %247, !dbg !121 | |
| %248 = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %39, i32 0, i32 1, !dbg !121 | |
| store i64 %246, i64* %248, !dbg !121 | |
| %249 = load { i8*, i64 }, { i8*, i64 }* %39, !dbg !121 | |
| store { i8*, i64 } %249, { i8*, i64 }* %40, !dbg !122 | |
| %250 = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %40, i32 0, i32 0, !dbg !122 | |
| %251 = load i8*, i8** %250, !dbg !122 | |
| %252 = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %40, i32 0, i32 1, !dbg !122 | |
| %253 = load i64, i64* %252, !dbg !122 | |
| call void @__go_string_to_byte_array({ i8*, i64, i64 }* sret %41, i8* nest undef, i8* %251, i64 %253), !dbg !122 | |
| %254 = load { i8*, i64, i64 }, { i8*, i64, i64 }* %41, !dbg !122 | |
| %255 = extractvalue { i8*, i8* } %58, 0, !dbg !123 | |
| %256 = extractvalue { i8*, i8* } %58, 1, !dbg !123 | |
| %257 = bitcast i8* %255 to i8**, !dbg !123 | |
| %258 = getelementptr i8*, i8** %257, i32 20, !dbg !123 | |
| %259 = load i8*, i8** %258, !dbg !123 | |
| store { i8*, i64 } %336, { i8*, i64 }* %42, !dbg !123 | |
| %260 = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %42, i32 0, i32 0, !dbg !123 | |
| %261 = load i8*, i8** %260, !dbg !123 | |
| %262 = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %42, i32 0, i32 1, !dbg !123 | |
| %263 = load i64, i64* %262, !dbg !123 | |
| store { i8*, i64, i64 } %254, { i8*, i64, i64 }* %43, !dbg !123 | |
| %264 = bitcast i8* %259 to { i8*, i8* } (i8*, i8*, i8*, i64, { i8*, i64, i64 }*)*, !dbg !123 | |
| %265 = call { i8*, i8* } %264(i8* nest undef, i8* %256, i8* %261, i64 %263, { i8*, i64, i64 }* byval %43), !dbg !123 | |
| %266 = extractvalue { i8*, i8* } %265, 0, !dbg !123 | |
| %267 = extractvalue { i8*, i8* } %265, 1, !dbg !123 | |
| %268 = getelementptr inbounds { i8*, i8* }, { i8*, i8* }* %44, i32 0, i32 0, !dbg !123 | |
| store i8* %266, i8** %268, !dbg !123 | |
| %269 = getelementptr inbounds { i8*, i8* }, { i8*, i8* }* %44, i32 0, i32 1, !dbg !123 | |
| store i8* %267, i8** %269, !dbg !123 | |
| %270 = load { i8*, i8* }, { i8*, i8* }* %44, !dbg !123 | |
| store { i8*, i8* } %270, { i8*, i8* }* %45, !dbg !124 | |
| %271 = getelementptr inbounds { i8*, i8* }, { i8*, i8* }* %45, i32 0, i32 0, !dbg !124 | |
| %272 = load i8*, i8** %271, !dbg !124 | |
| %273 = getelementptr inbounds { i8*, i8* }, { i8*, i8* }* %45, i32 0, i32 1, !dbg !124 | |
| %274 = load i8*, i8** %273, !dbg !124 | |
| store { i8*, i8* } zeroinitializer, { i8*, i8* }* %46, !dbg !124 | |
| %275 = getelementptr inbounds { i8*, i8* }, { i8*, i8* }* %46, i32 0, i32 0, !dbg !124 | |
| %276 = load i8*, i8** %275, !dbg !124 | |
| %277 = getelementptr inbounds { i8*, i8* }, { i8*, i8* }* %46, i32 0, i32 1, !dbg !124 | |
| %278 = load i8*, i8** %277, !dbg !124 | |
| %279 = call i64 @__go_interface_compare(i8* nest undef, i8* %272, i8* %274, i8* %276, i8* %278), !dbg !124 | |
| %280 = icmp eq i64 %279, 0, !dbg !124 | |
| %281 = zext i1 %280 to i8, !dbg !124 | |
| %282 = xor i8 %281, 1, !dbg !124 | |
| %283 = trunc i8 %282 to i1, !dbg !92 | |
| br i1 %283, label %.13.if.then, label %.14.if.done, !dbg !92 | |
| .13.if.then: ; preds = %.12.if.done | |
| %284 = getelementptr inbounds { { i8*, i64, i64 }, { i8*, i8* } }, { { i8*, i64, i64 }, { i8*, i8* } }* %0, i32 0, i32 0, !dbg !125 | |
| store { i8*, i64, i64 } zeroinitializer, { i8*, i64, i64 }* %284, !dbg !125 | |
| %285 = getelementptr inbounds { { i8*, i64, i64 }, { i8*, i8* } }, { { i8*, i64, i64 }, { i8*, i8* } }* %0, i32 0, i32 1, !dbg !125 | |
| store { i8*, i8* } %270, { i8*, i8* }* %285, !dbg !125 | |
| ret void, !dbg !125 | |
| .14.if.done: ; preds = %.12.if.done | |
| %286 = call { i8*, i64 } @strconv.Itoa(i8* nest undef, i64 %213), !dbg !126 | |
| %287 = extractvalue { i8*, i64 } %286, 0, !dbg !126 | |
| %288 = extractvalue { i8*, i64 } %286, 1, !dbg !126 | |
| %289 = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %47, i32 0, i32 0, !dbg !126 | |
| store i8* %287, i8** %289, !dbg !126 | |
| %290 = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %47, i32 0, i32 1, !dbg !126 | |
| store i64 %288, i64* %290, !dbg !126 | |
| %291 = load { i8*, i64 }, { i8*, i64 }* %47, !dbg !126 | |
| store { i8*, i64 } %291, { i8*, i64 }* %48, !dbg !127 | |
| %292 = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %48, i32 0, i32 0, !dbg !127 | |
| %293 = load i8*, i8** %292, !dbg !127 | |
| %294 = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %48, i32 0, i32 1, !dbg !127 | |
| %295 = load i64, i64* %294, !dbg !127 | |
| call void @__go_string_to_byte_array({ i8*, i64, i64 }* sret %49, i8* nest undef, i8* %293, i64 %295), !dbg !127 | |
| %296 = load { i8*, i64, i64 }, { i8*, i64, i64 }* %49, !dbg !127 | |
| %297 = extractvalue { i8*, i8* } %58, 0, !dbg !128 | |
| %298 = extractvalue { i8*, i8* } %58, 1, !dbg !128 | |
| %299 = bitcast i8* %297 to i8**, !dbg !128 | |
| %300 = getelementptr i8*, i8** %299, i32 20, !dbg !128 | |
| %301 = load i8*, i8** %300, !dbg !128 | |
| store { i8*, i64 } %346, { i8*, i64 }* %50, !dbg !128 | |
| %302 = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %50, i32 0, i32 0, !dbg !128 | |
| %303 = load i8*, i8** %302, !dbg !128 | |
| %304 = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %50, i32 0, i32 1, !dbg !128 | |
| %305 = load i64, i64* %304, !dbg !128 | |
| store { i8*, i64, i64 } %296, { i8*, i64, i64 }* %51, !dbg !128 | |
| %306 = bitcast i8* %301 to { i8*, i8* } (i8*, i8*, i8*, i64, { i8*, i64, i64 }*)*, !dbg !128 | |
| %307 = call { i8*, i8* } %306(i8* nest undef, i8* %298, i8* %303, i64 %305, { i8*, i64, i64 }* byval %51), !dbg !128 | |
| %308 = extractvalue { i8*, i8* } %307, 0, !dbg !128 | |
| %309 = extractvalue { i8*, i8* } %307, 1, !dbg !128 | |
| %310 = getelementptr inbounds { i8*, i8* }, { i8*, i8* }* %52, i32 0, i32 0, !dbg !128 | |
| store i8* %308, i8** %310, !dbg !128 | |
| %311 = getelementptr inbounds { i8*, i8* }, { i8*, i8* }* %52, i32 0, i32 1, !dbg !128 | |
| store i8* %309, i8** %311, !dbg !128 | |
| %312 = load { i8*, i8* }, { i8*, i8* }* %52, !dbg !128 | |
| store { i8*, i8* } %312, { i8*, i8* }* %53, !dbg !129 | |
| %313 = getelementptr inbounds { i8*, i8* }, { i8*, i8* }* %53, i32 0, i32 0, !dbg !129 | |
| %314 = load i8*, i8** %313, !dbg !129 | |
| %315 = getelementptr inbounds { i8*, i8* }, { i8*, i8* }* %53, i32 0, i32 1, !dbg !129 | |
| %316 = load i8*, i8** %315, !dbg !129 | |
| store { i8*, i8* } zeroinitializer, { i8*, i8* }* %54, !dbg !129 | |
| %317 = getelementptr inbounds { i8*, i8* }, { i8*, i8* }* %54, i32 0, i32 0, !dbg !129 | |
| %318 = load i8*, i8** %317, !dbg !129 | |
| %319 = getelementptr inbounds { i8*, i8* }, { i8*, i8* }* %54, i32 0, i32 1, !dbg !129 | |
| %320 = load i8*, i8** %319, !dbg !129 | |
| %321 = call i64 @__go_interface_compare(i8* nest undef, i8* %314, i8* %316, i8* %318, i8* %320), !dbg !129 | |
| %322 = icmp eq i64 %321, 0, !dbg !129 | |
| %323 = zext i1 %322 to i8, !dbg !129 | |
| %324 = xor i8 %323, 1, !dbg !129 | |
| %325 = trunc i8 %324 to i1, !dbg !92 | |
| br i1 %325, label %.15.if.then, label %.16.if.done, !dbg !92 | |
| .15.if.then: ; preds = %.14.if.done | |
| %326 = getelementptr inbounds { { i8*, i64, i64 }, { i8*, i8* } }, { { i8*, i64, i64 }, { i8*, i8* } }* %0, i32 0, i32 0, !dbg !130 | |
| store { i8*, i64, i64 } zeroinitializer, { i8*, i64, i64 }* %326, !dbg !130 | |
| %327 = getelementptr inbounds { { i8*, i64, i64 }, { i8*, i8* } }, { { i8*, i64, i64 }, { i8*, i8* } }* %0, i32 0, i32 1, !dbg !130 | |
| store { i8*, i8* } %312, { i8*, i8* }* %327, !dbg !130 | |
| ret void, !dbg !130 | |
| .16.if.done: ; preds = %.14.if.done | |
| %328 = getelementptr inbounds { { i8*, i64, i64 }, { i8*, i8* } }, { { i8*, i64, i64 }, { i8*, i8* } }* %0, i32 0, i32 0, !dbg !131 | |
| store { i8*, i64, i64 } zeroinitializer, { i8*, i64, i64 }* %328, !dbg !131 | |
| %329 = getelementptr inbounds { { i8*, i64, i64 }, { i8*, i8* } }, { { i8*, i64, i64 }, { i8*, i8* } }* %0, i32 0, i32 1, !dbg !131 | |
| store { i8*, i8* } zeroinitializer, { i8*, i8* }* %329, !dbg !131 | |
| ret void, !dbg !131 | |
| ; <label>:330: ; preds = %.10.if.done, %331, %.2.if.done | |
| call void @__go_runtime_error(i8* nest undef, i32 0), !dbg !95 | |
| unreachable, !dbg !95 | |
| ; <label>:331: ; preds = %.2.if.done | |
| %332 = bitcast i8* %77 to { i8*, i64 }*, !dbg !95 | |
| %333 = getelementptr { i8*, i64 }, { i8*, i64 }* %332, i64 0, !dbg !95 | |
| %334 = bitcast { i8*, i64 }* %333 to i8*, !dbg !95 | |
| %335 = bitcast i8* %334 to { i8*, i64 }*, !dbg !95 | |
| %336 = load { i8*, i64 }, { i8*, i64 }* %335, !dbg !95 | |
| %337 = extractvalue { i8*, i64, i64 } %59, 0, !dbg !132 | |
| %338 = extractvalue { i8*, i64, i64 } %59, 1, !dbg !132 | |
| %339 = icmp sle i64 %338, 1, !dbg !132 | |
| %340 = or i1 false, %339, !dbg !132 | |
| br i1 %340, label %330, label %341, !dbg !132, !prof !38 | |
| ; <label>:341: ; preds = %331 | |
| %342 = bitcast i8* %337 to { i8*, i64 }*, !dbg !132 | |
| %343 = getelementptr { i8*, i64 }, { i8*, i64 }* %342, i64 1, !dbg !132 | |
| %344 = bitcast { i8*, i64 }* %343 to i8*, !dbg !132 | |
| %345 = bitcast i8* %344 to { i8*, i64 }*, !dbg !132 | |
| %346 = load { i8*, i64 }, { i8*, i64 }* %345, !dbg !132 | |
| %347 = extractvalue { i8*, i8* } %58, 0, !dbg !133 | |
| %348 = extractvalue { i8*, i8* } %58, 1, !dbg !133 | |
| %349 = bitcast i8* %347 to i8**, !dbg !133 | |
| %350 = getelementptr i8*, i8** %349, i32 13, !dbg !133 | |
| %351 = load i8*, i8** %350, !dbg !133 | |
| store { i8*, i64 } %336, { i8*, i64 }* %8, !dbg !133 | |
| %352 = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %8, i32 0, i32 0, !dbg !133 | |
| %353 = load i8*, i8** %352, !dbg !133 | |
| %354 = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %8, i32 0, i32 1, !dbg !133 | |
| %355 = load i64, i64* %354, !dbg !133 | |
| %356 = bitcast i8* %351 to void ({ { i8*, i64, i64 }, { i8*, i8* } }*, i8*, i8*, i8*, i64)*, !dbg !133 | |
| call void %356({ { i8*, i64, i64 }, { i8*, i8* } }* sret %9, i8* nest undef, i8* %348, i8* %353, i64 %355), !dbg !133 | |
| %357 = getelementptr inbounds { { i8*, i64, i64 }, { i8*, i8* } }, { { i8*, i64, i64 }, { i8*, i8* } }* %9, i32 0, i32 0, !dbg !133 | |
| %358 = load { i8*, i64, i64 }, { i8*, i64, i64 }* %357, !dbg !133 | |
| %359 = getelementptr inbounds { { i8*, i64, i64 }, { i8*, i8* } }, { { i8*, i64, i64 }, { i8*, i8* } }* %9, i32 0, i32 1, !dbg !133 | |
| %360 = load { i8*, i8* }, { i8*, i8* }* %359, !dbg !133 | |
| store { i8*, i8* } %360, { i8*, i8* }* %10, !dbg !134 | |
| %361 = getelementptr inbounds { i8*, i8* }, { i8*, i8* }* %10, i32 0, i32 0, !dbg !134 | |
| %362 = load i8*, i8** %361, !dbg !134 | |
| %363 = getelementptr inbounds { i8*, i8* }, { i8*, i8* }* %10, i32 0, i32 1, !dbg !134 | |
| %364 = load i8*, i8** %363, !dbg !134 | |
| store { i8*, i8* } zeroinitializer, { i8*, i8* }* %11, !dbg !134 | |
| %365 = getelementptr inbounds { i8*, i8* }, { i8*, i8* }* %11, i32 0, i32 0, !dbg !134 | |
| %366 = load i8*, i8** %365, !dbg !134 | |
| %367 = getelementptr inbounds { i8*, i8* }, { i8*, i8* }* %11, i32 0, i32 1, !dbg !134 | |
| %368 = load i8*, i8** %367, !dbg !134 | |
| %369 = call i64 @__go_interface_compare(i8* nest undef, i8* %362, i8* %364, i8* %366, i8* %368), !dbg !134 | |
| %370 = icmp eq i64 %369, 0, !dbg !134 | |
| %371 = zext i1 %370 to i8, !dbg !134 | |
| %372 = xor i8 %371, 1, !dbg !134 | |
| %373 = trunc i8 %372 to i1, !dbg !92 | |
| br i1 %373, label %.3.if.then, label %.4.if.done, !dbg !92 | |
| ; <label>:374: ; preds = %.10.if.done | |
| %375 = bitcast i8* %196 to { i8*, i64 }*, !dbg !112 | |
| %376 = getelementptr { i8*, i64 }, { i8*, i64 }* %375, i64 2, !dbg !112 | |
| %377 = bitcast { i8*, i64 }* %376 to i8*, !dbg !112 | |
| %378 = bitcast i8* %377 to { i8*, i64 }*, !dbg !112 | |
| %379 = load { i8*, i64 }, { i8*, i64 }* %378, !dbg !112 | |
| store { i8*, i64 } %379, { i8*, i64 }* %30, !dbg !135 | |
| %380 = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %30, i32 0, i32 0, !dbg !135 | |
| %381 = load i8*, i8** %380, !dbg !135 | |
| %382 = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %30, i32 0, i32 1, !dbg !135 | |
| %383 = load i64, i64* %382, !dbg !135 | |
| call void @strconv.Atoi({ i64, { i8*, i8* } }* sret %31, i8* nest undef, i8* %381, i64 %383), !dbg !135 | |
| %384 = getelementptr inbounds { i64, { i8*, i8* } }, { i64, { i8*, i8* } }* %31, i32 0, i32 0, !dbg !135 | |
| %385 = load i64, i64* %384, !dbg !135 | |
| %386 = getelementptr inbounds { i64, { i8*, i8* } }, { i64, { i8*, i8* } }* %31, i32 0, i32 1, !dbg !135 | |
| %387 = load { i8*, i8* }, { i8*, i8* }* %386, !dbg !135 | |
| store { i8*, i8* } %387, { i8*, i8* }* %32, !dbg !136 | |
| %388 = getelementptr inbounds { i8*, i8* }, { i8*, i8* }* %32, i32 0, i32 0, !dbg !136 | |
| %389 = load i8*, i8** %388, !dbg !136 | |
| %390 = getelementptr inbounds { i8*, i8* }, { i8*, i8* }* %32, i32 0, i32 1, !dbg !136 | |
| %391 = load i8*, i8** %390, !dbg !136 | |
| store { i8*, i8* } zeroinitializer, { i8*, i8* }* %33, !dbg !136 | |
| %392 = getelementptr inbounds { i8*, i8* }, { i8*, i8* }* %33, i32 0, i32 0, !dbg !136 | |
| %393 = load i8*, i8** %392, !dbg !136 | |
| %394 = getelementptr inbounds { i8*, i8* }, { i8*, i8* }* %33, i32 0, i32 1, !dbg !136 | |
| %395 = load i8*, i8** %394, !dbg !136 | |
| %396 = call i64 @__go_interface_compare(i8* nest undef, i8* %389, i8* %391, i8* %393, i8* %395), !dbg !136 | |
| %397 = icmp eq i64 %396, 0, !dbg !136 | |
| %398 = zext i1 %397 to i8, !dbg !136 | |
| %399 = xor i8 %398, 1, !dbg !136 | |
| %400 = trunc i8 %399 to i1, !dbg !92 | |
| br i1 %400, label %.11.if.then, label %.12.if.done, !dbg !92 | |
| } | |
| define void @main.delete.pN20_main.SimpleChaincode({ { i8*, i64, i64 }, { i8*, i8* } }* sret, i8* nest, i8*, i8*, i8*, { i8*, i64, i64 }* byval) #2 !dbg !137 { | |
| prologue: | |
| %6 = alloca { i8*, i64 }, !dbg !138 | |
| %7 = alloca { i8*, i8* }, !dbg !138 | |
| %8 = alloca { i8*, i64 }, !dbg !138 | |
| %9 = alloca { i8*, i8* }, !dbg !138 | |
| %10 = alloca { i8*, i8* }, !dbg !138 | |
| %11 = alloca { i8*, i8* }, !dbg !138 | |
| %12 = alloca { i8*, i64 }, !dbg !138 | |
| %13 = alloca { i8*, i8* }, !dbg !138 | |
| %14 = alloca { i8*, i8* }, !dbg !138 | |
| %15 = getelementptr inbounds { i8*, i8* }, { i8*, i8* }* %14, i32 0, i32 0, !dbg !138 | |
| store i8* %3, i8** %15, !dbg !138 | |
| %16 = getelementptr inbounds { i8*, i8* }, { i8*, i8* }* %14, i32 0, i32 1, !dbg !138 | |
| store i8* %4, i8** %16, !dbg !138 | |
| %17 = load { i8*, i8* }, { i8*, i8* }* %14, !dbg !138 | |
| %18 = load { i8*, i64, i64 }, { i8*, i64, i64 }* %5, !dbg !138 | |
| br label %.0.entry, !dbg !138 | |
| .0.entry: ; preds = %prologue | |
| %19 = extractvalue { i8*, i64, i64 } %18, 1, !dbg !139 | |
| %20 = icmp eq i64 %19, 1, !dbg !140 | |
| %21 = zext i1 %20 to i8, !dbg !140 | |
| %22 = xor i8 %21, 1, !dbg !140 | |
| %23 = trunc i8 %22 to i1, !dbg !141 | |
| br i1 %23, label %.1.if.then, label %.2.if.done, !dbg !141 | |
| .1.if.then: ; preds = %.0.entry | |
| store { i8*, i64 } { i8* getelementptr inbounds ([42 x i8], [42 x i8]* @8, i32 0, i32 0), i64 42 }, { i8*, i64 }* %6, !dbg !142 | |
| %24 = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %6, i32 0, i32 0, !dbg !142 | |
| %25 = load i8*, i8** %24, !dbg !142 | |
| %26 = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %6, i32 0, i32 1, !dbg !142 | |
| %27 = load i64, i64* %26, !dbg !142 | |
| %28 = call { i8*, i8* } @errors.New(i8* nest undef, i8* %25, i64 %27), !dbg !142 | |
| %29 = extractvalue { i8*, i8* } %28, 0, !dbg !142 | |
| %30 = extractvalue { i8*, i8* } %28, 1, !dbg !142 | |
| %31 = getelementptr inbounds { i8*, i8* }, { i8*, i8* }* %7, i32 0, i32 0, !dbg !142 | |
| store i8* %29, i8** %31, !dbg !142 | |
| %32 = getelementptr inbounds { i8*, i8* }, { i8*, i8* }* %7, i32 0, i32 1, !dbg !142 | |
| store i8* %30, i8** %32, !dbg !142 | |
| %33 = load { i8*, i8* }, { i8*, i8* }* %7, !dbg !142 | |
| %34 = getelementptr inbounds { { i8*, i64, i64 }, { i8*, i8* } }, { { i8*, i64, i64 }, { i8*, i8* } }* %0, i32 0, i32 0, !dbg !143 | |
| store { i8*, i64, i64 } zeroinitializer, { i8*, i64, i64 }* %34, !dbg !143 | |
| %35 = getelementptr inbounds { { i8*, i64, i64 }, { i8*, i8* } }, { { i8*, i64, i64 }, { i8*, i8* } }* %0, i32 0, i32 1, !dbg !143 | |
| store { i8*, i8* } %33, { i8*, i8* }* %35, !dbg !143 | |
| ret void, !dbg !143 | |
| .2.if.done: ; preds = %.0.entry | |
| %36 = extractvalue { i8*, i64, i64 } %18, 0, !dbg !144 | |
| %37 = extractvalue { i8*, i64, i64 } %18, 1, !dbg !144 | |
| %38 = icmp sle i64 %37, 0, !dbg !144 | |
| %39 = or i1 false, %38, !dbg !144 | |
| br i1 %39, label %54, label %55, !dbg !144, !prof !38 | |
| .3.if.then: ; preds = %55 | |
| store { i8*, i64 } { i8* getelementptr inbounds ([22 x i8], [22 x i8]* @9, i32 0, i32 0), i64 22 }, { i8*, i64 }* %12, !dbg !145 | |
| %40 = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %12, i32 0, i32 0, !dbg !145 | |
| %41 = load i8*, i8** %40, !dbg !145 | |
| %42 = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %12, i32 0, i32 1, !dbg !145 | |
| %43 = load i64, i64* %42, !dbg !145 | |
| %44 = call { i8*, i8* } @errors.New(i8* nest undef, i8* %41, i64 %43), !dbg !145 | |
| %45 = extractvalue { i8*, i8* } %44, 0, !dbg !145 | |
| %46 = extractvalue { i8*, i8* } %44, 1, !dbg !145 | |
| %47 = getelementptr inbounds { i8*, i8* }, { i8*, i8* }* %13, i32 0, i32 0, !dbg !145 | |
| store i8* %45, i8** %47, !dbg !145 | |
| %48 = getelementptr inbounds { i8*, i8* }, { i8*, i8* }* %13, i32 0, i32 1, !dbg !145 | |
| store i8* %46, i8** %48, !dbg !145 | |
| %49 = load { i8*, i8* }, { i8*, i8* }* %13, !dbg !145 | |
| %50 = getelementptr inbounds { { i8*, i64, i64 }, { i8*, i8* } }, { { i8*, i64, i64 }, { i8*, i8* } }* %0, i32 0, i32 0, !dbg !146 | |
| store { i8*, i64, i64 } zeroinitializer, { i8*, i64, i64 }* %50, !dbg !146 | |
| %51 = getelementptr inbounds { { i8*, i64, i64 }, { i8*, i8* } }, { { i8*, i64, i64 }, { i8*, i8* } }* %0, i32 0, i32 1, !dbg !146 | |
| store { i8*, i8* } %49, { i8*, i8* }* %51, !dbg !146 | |
| ret void, !dbg !146 | |
| .4.if.done: ; preds = %55 | |
| %52 = getelementptr inbounds { { i8*, i64, i64 }, { i8*, i8* } }, { { i8*, i64, i64 }, { i8*, i8* } }* %0, i32 0, i32 0, !dbg !147 | |
| store { i8*, i64, i64 } zeroinitializer, { i8*, i64, i64 }* %52, !dbg !147 | |
| %53 = getelementptr inbounds { { i8*, i64, i64 }, { i8*, i8* } }, { { i8*, i64, i64 }, { i8*, i8* } }* %0, i32 0, i32 1, !dbg !147 | |
| store { i8*, i8* } zeroinitializer, { i8*, i8* }* %53, !dbg !147 | |
| ret void, !dbg !147 | |
| ; <label>:54: ; preds = %.2.if.done | |
| call void @__go_runtime_error(i8* nest undef, i32 0), !dbg !144 | |
| unreachable, !dbg !144 | |
| ; <label>:55: ; preds = %.2.if.done | |
| %56 = bitcast i8* %36 to { i8*, i64 }*, !dbg !144 | |
| %57 = getelementptr { i8*, i64 }, { i8*, i64 }* %56, i64 0, !dbg !144 | |
| %58 = bitcast { i8*, i64 }* %57 to i8*, !dbg !144 | |
| %59 = bitcast i8* %58 to { i8*, i64 }*, !dbg !144 | |
| %60 = load { i8*, i64 }, { i8*, i64 }* %59, !dbg !144 | |
| %61 = extractvalue { i8*, i8* } %17, 0, !dbg !148 | |
| %62 = extractvalue { i8*, i8* } %17, 1, !dbg !148 | |
| %63 = bitcast i8* %61 to i8**, !dbg !148 | |
| %64 = getelementptr i8*, i8** %63, i32 2, !dbg !148 | |
| %65 = load i8*, i8** %64, !dbg !148 | |
| store { i8*, i64 } %60, { i8*, i64 }* %8, !dbg !148 | |
| %66 = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %8, i32 0, i32 0, !dbg !148 | |
| %67 = load i8*, i8** %66, !dbg !148 | |
| %68 = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %8, i32 0, i32 1, !dbg !148 | |
| %69 = load i64, i64* %68, !dbg !148 | |
| %70 = bitcast i8* %65 to { i8*, i8* } (i8*, i8*, i8*, i64)*, !dbg !148 | |
| %71 = call { i8*, i8* } %70(i8* nest undef, i8* %62, i8* %67, i64 %69), !dbg !148 | |
| %72 = extractvalue { i8*, i8* } %71, 0, !dbg !148 | |
| %73 = extractvalue { i8*, i8* } %71, 1, !dbg !148 | |
| %74 = getelementptr inbounds { i8*, i8* }, { i8*, i8* }* %9, i32 0, i32 0, !dbg !148 | |
| store i8* %72, i8** %74, !dbg !148 | |
| %75 = getelementptr inbounds { i8*, i8* }, { i8*, i8* }* %9, i32 0, i32 1, !dbg !148 | |
| store i8* %73, i8** %75, !dbg !148 | |
| %76 = load { i8*, i8* }, { i8*, i8* }* %9, !dbg !148 | |
| store { i8*, i8* } %76, { i8*, i8* }* %10, !dbg !149 | |
| %77 = getelementptr inbounds { i8*, i8* }, { i8*, i8* }* %10, i32 0, i32 0, !dbg !149 | |
| %78 = load i8*, i8** %77, !dbg !149 | |
| %79 = getelementptr inbounds { i8*, i8* }, { i8*, i8* }* %10, i32 0, i32 1, !dbg !149 | |
| %80 = load i8*, i8** %79, !dbg !149 | |
| store { i8*, i8* } zeroinitializer, { i8*, i8* }* %11, !dbg !149 | |
| %81 = getelementptr inbounds { i8*, i8* }, { i8*, i8* }* %11, i32 0, i32 0, !dbg !149 | |
| %82 = load i8*, i8** %81, !dbg !149 | |
| %83 = getelementptr inbounds { i8*, i8* }, { i8*, i8* }* %11, i32 0, i32 1, !dbg !149 | |
| %84 = load i8*, i8** %83, !dbg !149 | |
| %85 = call i64 @__go_interface_compare(i8* nest undef, i8* %78, i8* %80, i8* %82, i8* %84), !dbg !149 | |
| %86 = icmp eq i64 %85, 0, !dbg !149 | |
| %87 = zext i1 %86 to i8, !dbg !149 | |
| %88 = xor i8 %87, 1, !dbg !149 | |
| %89 = trunc i8 %88 to i1, !dbg !141 | |
| br i1 %89, label %.3.if.then, label %.4.if.done, !dbg !141 | |
| } | |
| define void @main.query.pN20_main.SimpleChaincode({ { i8*, i64, i64 }, { i8*, i8* } }* sret, i8* nest, i8*, i8*, i8*, { i8*, i64, i64 }* byval) #2 !dbg !150 { | |
| prologue: | |
| %6 = alloca { i8*, i64 }, !dbg !151 | |
| %7 = alloca { i8*, i8* }, !dbg !151 | |
| %8 = alloca { i8*, i64 }, !dbg !151 | |
| %9 = alloca { { i8*, i64, i64 }, { i8*, i8* } }, !dbg !151 | |
| %10 = alloca { i8*, i8* }, !dbg !151 | |
| %11 = alloca { i8*, i8* }, !dbg !151 | |
| %12 = alloca { i8*, i64 }, !dbg !151 | |
| %13 = alloca { i8*, i64 }, !dbg !151 | |
| %14 = alloca { i8*, i64 }, !dbg !151 | |
| %15 = alloca { i8*, i64 }, !dbg !151 | |
| %16 = alloca { i8*, i64 }, !dbg !151 | |
| %17 = alloca { i8*, i64 }, !dbg !151 | |
| %18 = alloca { i8*, i64 }, !dbg !151 | |
| %19 = alloca { i8*, i8* }, !dbg !151 | |
| %20 = alloca { i8*, i64 }, !dbg !151 | |
| %21 = alloca { i8*, i64 }, !dbg !151 | |
| %22 = alloca { i8*, i64 }, !dbg !151 | |
| %23 = alloca { i8*, i64 }, !dbg !151 | |
| %24 = alloca { i8*, i64 }, !dbg !151 | |
| %25 = alloca { i8*, i64 }, !dbg !151 | |
| %26 = alloca { i8*, i64 }, !dbg !151 | |
| %27 = alloca { i8*, i8* }, !dbg !151 | |
| %28 = alloca { i8*, i64 }, !dbg !151 | |
| %29 = alloca { i8*, i64 }, !dbg !151 | |
| %30 = alloca { i8*, i64 }, !dbg !151 | |
| %31 = alloca { i8*, i64 }, !dbg !151 | |
| %32 = alloca { i8*, i64 }, !dbg !151 | |
| %33 = alloca { i8*, i64 }, !dbg !151 | |
| %34 = alloca { i8*, i64 }, !dbg !151 | |
| %35 = alloca { i8*, i64 }, !dbg !151 | |
| %36 = alloca { i8*, i64 }, !dbg !151 | |
| %37 = alloca { i8*, i64 }, !dbg !151 | |
| %38 = alloca { i8*, i64 }, !dbg !151 | |
| %39 = alloca { i8*, i64 }, !dbg !151 | |
| %40 = alloca { i8*, i64 }, !dbg !151 | |
| %41 = alloca { i8*, i64 }, !dbg !151 | |
| %42 = alloca { i8*, i64, i64 }, !dbg !151 | |
| %43 = alloca { i64, { i8*, i8* } }, !dbg !151 | |
| %44 = alloca { i8*, i8* }, !dbg !151 | |
| %45 = getelementptr inbounds { i8*, i8* }, { i8*, i8* }* %44, i32 0, i32 0, !dbg !151 | |
| store i8* %3, i8** %45, !dbg !151 | |
| %46 = getelementptr inbounds { i8*, i8* }, { i8*, i8* }* %44, i32 0, i32 1, !dbg !151 | |
| store i8* %4, i8** %46, !dbg !151 | |
| %47 = load { i8*, i8* }, { i8*, i8* }* %44, !dbg !151 | |
| %48 = load { i8*, i64, i64 }, { i8*, i64, i64 }* %5, !dbg !151 | |
| br label %.0.entry, !dbg !151 | |
| .0.entry: ; preds = %prologue | |
| %49 = extractvalue { i8*, i64, i64 } %48, 1, !dbg !152 | |
| %50 = icmp eq i64 %49, 1, !dbg !153 | |
| %51 = zext i1 %50 to i8, !dbg !153 | |
| %52 = xor i8 %51, 1, !dbg !153 | |
| %53 = trunc i8 %52 to i1, !dbg !154 | |
| br i1 %53, label %.1.if.then, label %.2.if.done, !dbg !154 | |
| .1.if.then: ; preds = %.0.entry | |
| store { i8*, i64 } { i8* getelementptr inbounds ([68 x i8], [68 x i8]* @17, i32 0, i32 0), i64 68 }, { i8*, i64 }* %6, !dbg !155 | |
| %54 = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %6, i32 0, i32 0, !dbg !155 | |
| %55 = load i8*, i8** %54, !dbg !155 | |
| %56 = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %6, i32 0, i32 1, !dbg !155 | |
| %57 = load i64, i64* %56, !dbg !155 | |
| %58 = call { i8*, i8* } @errors.New(i8* nest undef, i8* %55, i64 %57), !dbg !155 | |
| %59 = extractvalue { i8*, i8* } %58, 0, !dbg !155 | |
| %60 = extractvalue { i8*, i8* } %58, 1, !dbg !155 | |
| %61 = getelementptr inbounds { i8*, i8* }, { i8*, i8* }* %7, i32 0, i32 0, !dbg !155 | |
| store i8* %59, i8** %61, !dbg !155 | |
| %62 = getelementptr inbounds { i8*, i8* }, { i8*, i8* }* %7, i32 0, i32 1, !dbg !155 | |
| store i8* %60, i8** %62, !dbg !155 | |
| %63 = load { i8*, i8* }, { i8*, i8* }* %7, !dbg !155 | |
| %64 = getelementptr inbounds { { i8*, i64, i64 }, { i8*, i8* } }, { { i8*, i64, i64 }, { i8*, i8* } }* %0, i32 0, i32 0, !dbg !156 | |
| store { i8*, i64, i64 } zeroinitializer, { i8*, i64, i64 }* %64, !dbg !156 | |
| %65 = getelementptr inbounds { { i8*, i64, i64 }, { i8*, i8* } }, { { i8*, i64, i64 }, { i8*, i8* } }* %0, i32 0, i32 1, !dbg !156 | |
| store { i8*, i8* } %63, { i8*, i8* }* %65, !dbg !156 | |
| ret void, !dbg !156 | |
| .2.if.done: ; preds = %.0.entry | |
| %66 = extractvalue { i8*, i64, i64 } %48, 0, !dbg !157 | |
| %67 = extractvalue { i8*, i64, i64 } %48, 1, !dbg !157 | |
| %68 = icmp sle i64 %67, 0, !dbg !157 | |
| %69 = or i1 false, %68, !dbg !157 | |
| br i1 %69, label %242, label %243, !dbg !157, !prof !38 | |
| .3.if.then: ; preds = %243 | |
| store { i8*, i64 } { i8* getelementptr inbounds ([34 x i8], [34 x i8]* @18, i32 0, i32 0), i64 34 }, { i8*, i64 }* %12, !dbg !158 | |
| %70 = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %12, i32 0, i32 0, !dbg !158 | |
| %71 = load i8*, i8** %70, !dbg !158 | |
| %72 = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %12, i32 0, i32 1, !dbg !158 | |
| %73 = load i64, i64* %72, !dbg !158 | |
| store { i8*, i64 } %248, { i8*, i64 }* %13, !dbg !158 | |
| %74 = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %13, i32 0, i32 0, !dbg !158 | |
| %75 = load i8*, i8** %74, !dbg !158 | |
| %76 = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %13, i32 0, i32 1, !dbg !158 | |
| %77 = load i64, i64* %76, !dbg !158 | |
| %78 = call { i8*, i64 } @__go_string_plus(i8* nest undef, i8* %71, i64 %73, i8* %75, i64 %77), !dbg !158 | |
| %79 = extractvalue { i8*, i64 } %78, 0, !dbg !158 | |
| %80 = extractvalue { i8*, i64 } %78, 1, !dbg !158 | |
| %81 = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %14, i32 0, i32 0, !dbg !158 | |
| store i8* %79, i8** %81, !dbg !158 | |
| %82 = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %14, i32 0, i32 1, !dbg !158 | |
| store i64 %80, i64* %82, !dbg !158 | |
| %83 = load { i8*, i64 }, { i8*, i64 }* %14, !dbg !158 | |
| store { i8*, i64 } %83, { i8*, i64 }* %15, !dbg !159 | |
| %84 = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %15, i32 0, i32 0, !dbg !159 | |
| %85 = load i8*, i8** %84, !dbg !159 | |
| %86 = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %15, i32 0, i32 1, !dbg !159 | |
| %87 = load i64, i64* %86, !dbg !159 | |
| store { i8*, i64 } { i8* getelementptr inbounds ([2 x i8], [2 x i8]* @19, i32 0, i32 0), i64 2 }, { i8*, i64 }* %16, !dbg !159 | |
| %88 = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %16, i32 0, i32 0, !dbg !159 | |
| %89 = load i8*, i8** %88, !dbg !159 | |
| %90 = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %16, i32 0, i32 1, !dbg !159 | |
| %91 = load i64, i64* %90, !dbg !159 | |
| %92 = call { i8*, i64 } @__go_string_plus(i8* nest undef, i8* %85, i64 %87, i8* %89, i64 %91), !dbg !159 | |
| %93 = extractvalue { i8*, i64 } %92, 0, !dbg !159 | |
| %94 = extractvalue { i8*, i64 } %92, 1, !dbg !159 | |
| %95 = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %17, i32 0, i32 0, !dbg !159 | |
| store i8* %93, i8** %95, !dbg !159 | |
| %96 = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %17, i32 0, i32 1, !dbg !159 | |
| store i64 %94, i64* %96, !dbg !159 | |
| %97 = load { i8*, i64 }, { i8*, i64 }* %17, !dbg !159 | |
| store { i8*, i64 } %97, { i8*, i64 }* %18, !dbg !160 | |
| %98 = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %18, i32 0, i32 0, !dbg !160 | |
| %99 = load i8*, i8** %98, !dbg !160 | |
| %100 = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %18, i32 0, i32 1, !dbg !160 | |
| %101 = load i64, i64* %100, !dbg !160 | |
| %102 = call { i8*, i8* } @errors.New(i8* nest undef, i8* %99, i64 %101), !dbg !160 | |
| %103 = extractvalue { i8*, i8* } %102, 0, !dbg !160 | |
| %104 = extractvalue { i8*, i8* } %102, 1, !dbg !160 | |
| %105 = getelementptr inbounds { i8*, i8* }, { i8*, i8* }* %19, i32 0, i32 0, !dbg !160 | |
| store i8* %103, i8** %105, !dbg !160 | |
| %106 = getelementptr inbounds { i8*, i8* }, { i8*, i8* }* %19, i32 0, i32 1, !dbg !160 | |
| store i8* %104, i8** %106, !dbg !160 | |
| %107 = load { i8*, i8* }, { i8*, i8* }* %19, !dbg !160 | |
| %108 = getelementptr inbounds { { i8*, i64, i64 }, { i8*, i8* } }, { { i8*, i64, i64 }, { i8*, i8* } }* %0, i32 0, i32 0, !dbg !161 | |
| store { i8*, i64, i64 } zeroinitializer, { i8*, i64, i64 }* %108, !dbg !161 | |
| %109 = getelementptr inbounds { { i8*, i64, i64 }, { i8*, i8* } }, { { i8*, i64, i64 }, { i8*, i8* } }* %0, i32 0, i32 1, !dbg !161 | |
| store { i8*, i8* } %107, { i8*, i8* }* %109, !dbg !161 | |
| ret void, !dbg !161 | |
| .4.if.done: ; preds = %243 | |
| %110 = extractvalue { i8*, i64, i64 } %260, 0, !dbg !162 | |
| %111 = icmp eq i8* %110, null, !dbg !162 | |
| %112 = zext i1 %111 to i8, !dbg !162 | |
| %113 = trunc i8 %112 to i1, !dbg !154 | |
| br i1 %113, label %.5.if.then, label %.6.if.done, !dbg !154 | |
| .5.if.then: ; preds = %.4.if.done | |
| store { i8*, i64 } { i8* getelementptr inbounds ([25 x i8], [25 x i8]* @20, i32 0, i32 0), i64 25 }, { i8*, i64 }* %20, !dbg !163 | |
| %114 = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %20, i32 0, i32 0, !dbg !163 | |
| %115 = load i8*, i8** %114, !dbg !163 | |
| %116 = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %20, i32 0, i32 1, !dbg !163 | |
| %117 = load i64, i64* %116, !dbg !163 | |
| store { i8*, i64 } %248, { i8*, i64 }* %21, !dbg !163 | |
| %118 = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %21, i32 0, i32 0, !dbg !163 | |
| %119 = load i8*, i8** %118, !dbg !163 | |
| %120 = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %21, i32 0, i32 1, !dbg !163 | |
| %121 = load i64, i64* %120, !dbg !163 | |
| %122 = call { i8*, i64 } @__go_string_plus(i8* nest undef, i8* %115, i64 %117, i8* %119, i64 %121), !dbg !163 | |
| %123 = extractvalue { i8*, i64 } %122, 0, !dbg !163 | |
| %124 = extractvalue { i8*, i64 } %122, 1, !dbg !163 | |
| %125 = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %22, i32 0, i32 0, !dbg !163 | |
| store i8* %123, i8** %125, !dbg !163 | |
| %126 = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %22, i32 0, i32 1, !dbg !163 | |
| store i64 %124, i64* %126, !dbg !163 | |
| %127 = load { i8*, i64 }, { i8*, i64 }* %22, !dbg !163 | |
| store { i8*, i64 } %127, { i8*, i64 }* %23, !dbg !164 | |
| %128 = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %23, i32 0, i32 0, !dbg !164 | |
| %129 = load i8*, i8** %128, !dbg !164 | |
| %130 = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %23, i32 0, i32 1, !dbg !164 | |
| %131 = load i64, i64* %130, !dbg !164 | |
| store { i8*, i64 } { i8* getelementptr inbounds ([2 x i8], [2 x i8]* @21, i32 0, i32 0), i64 2 }, { i8*, i64 }* %24, !dbg !164 | |
| %132 = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %24, i32 0, i32 0, !dbg !164 | |
| %133 = load i8*, i8** %132, !dbg !164 | |
| %134 = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %24, i32 0, i32 1, !dbg !164 | |
| %135 = load i64, i64* %134, !dbg !164 | |
| %136 = call { i8*, i64 } @__go_string_plus(i8* nest undef, i8* %129, i64 %131, i8* %133, i64 %135), !dbg !164 | |
| %137 = extractvalue { i8*, i64 } %136, 0, !dbg !164 | |
| %138 = extractvalue { i8*, i64 } %136, 1, !dbg !164 | |
| %139 = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %25, i32 0, i32 0, !dbg !164 | |
| store i8* %137, i8** %139, !dbg !164 | |
| %140 = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %25, i32 0, i32 1, !dbg !164 | |
| store i64 %138, i64* %140, !dbg !164 | |
| %141 = load { i8*, i64 }, { i8*, i64 }* %25, !dbg !164 | |
| store { i8*, i64 } %141, { i8*, i64 }* %26, !dbg !165 | |
| %142 = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %26, i32 0, i32 0, !dbg !165 | |
| %143 = load i8*, i8** %142, !dbg !165 | |
| %144 = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %26, i32 0, i32 1, !dbg !165 | |
| %145 = load i64, i64* %144, !dbg !165 | |
| %146 = call { i8*, i8* } @errors.New(i8* nest undef, i8* %143, i64 %145), !dbg !165 | |
| %147 = extractvalue { i8*, i8* } %146, 0, !dbg !165 | |
| %148 = extractvalue { i8*, i8* } %146, 1, !dbg !165 | |
| %149 = getelementptr inbounds { i8*, i8* }, { i8*, i8* }* %27, i32 0, i32 0, !dbg !165 | |
| store i8* %147, i8** %149, !dbg !165 | |
| %150 = getelementptr inbounds { i8*, i8* }, { i8*, i8* }* %27, i32 0, i32 1, !dbg !165 | |
| store i8* %148, i8** %150, !dbg !165 | |
| %151 = load { i8*, i8* }, { i8*, i8* }* %27, !dbg !165 | |
| %152 = getelementptr inbounds { { i8*, i64, i64 }, { i8*, i8* } }, { { i8*, i64, i64 }, { i8*, i8* } }* %0, i32 0, i32 0, !dbg !166 | |
| store { i8*, i64, i64 } zeroinitializer, { i8*, i64, i64 }* %152, !dbg !166 | |
| %153 = getelementptr inbounds { { i8*, i64, i64 }, { i8*, i8* } }, { { i8*, i64, i64 }, { i8*, i8* } }* %0, i32 0, i32 1, !dbg !166 | |
| store { i8*, i8* } %151, { i8*, i8* }* %153, !dbg !166 | |
| ret void, !dbg !166 | |
| .6.if.done: ; preds = %.4.if.done | |
| store { i8*, i64 } { i8* getelementptr inbounds ([9 x i8], [9 x i8]* @22, i32 0, i32 0), i64 9 }, { i8*, i64 }* %28, !dbg !167 | |
| %154 = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %28, i32 0, i32 0, !dbg !167 | |
| %155 = load i8*, i8** %154, !dbg !167 | |
| %156 = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %28, i32 0, i32 1, !dbg !167 | |
| %157 = load i64, i64* %156, !dbg !167 | |
| store { i8*, i64 } %248, { i8*, i64 }* %29, !dbg !167 | |
| %158 = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %29, i32 0, i32 0, !dbg !167 | |
| %159 = load i8*, i8** %158, !dbg !167 | |
| %160 = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %29, i32 0, i32 1, !dbg !167 | |
| %161 = load i64, i64* %160, !dbg !167 | |
| %162 = call { i8*, i64 } @__go_string_plus(i8* nest undef, i8* %155, i64 %157, i8* %159, i64 %161), !dbg !167 | |
| %163 = extractvalue { i8*, i64 } %162, 0, !dbg !167 | |
| %164 = extractvalue { i8*, i64 } %162, 1, !dbg !167 | |
| %165 = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %30, i32 0, i32 0, !dbg !167 | |
| store i8* %163, i8** %165, !dbg !167 | |
| %166 = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %30, i32 0, i32 1, !dbg !167 | |
| store i64 %164, i64* %166, !dbg !167 | |
| %167 = load { i8*, i64 }, { i8*, i64 }* %30, !dbg !167 | |
| store { i8*, i64 } %167, { i8*, i64 }* %31, !dbg !168 | |
| %168 = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %31, i32 0, i32 0, !dbg !168 | |
| %169 = load i8*, i8** %168, !dbg !168 | |
| %170 = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %31, i32 0, i32 1, !dbg !168 | |
| %171 = load i64, i64* %170, !dbg !168 | |
| store { i8*, i64 } { i8* getelementptr inbounds ([12 x i8], [12 x i8]* @23, i32 0, i32 0), i64 12 }, { i8*, i64 }* %32, !dbg !168 | |
| %172 = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %32, i32 0, i32 0, !dbg !168 | |
| %173 = load i8*, i8** %172, !dbg !168 | |
| %174 = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %32, i32 0, i32 1, !dbg !168 | |
| %175 = load i64, i64* %174, !dbg !168 | |
| %176 = call { i8*, i64 } @__go_string_plus(i8* nest undef, i8* %169, i64 %171, i8* %173, i64 %175), !dbg !168 | |
| %177 = extractvalue { i8*, i64 } %176, 0, !dbg !168 | |
| %178 = extractvalue { i8*, i64 } %176, 1, !dbg !168 | |
| %179 = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %33, i32 0, i32 0, !dbg !168 | |
| store i8* %177, i8** %179, !dbg !168 | |
| %180 = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %33, i32 0, i32 1, !dbg !168 | |
| store i64 %178, i64* %180, !dbg !168 | |
| %181 = load { i8*, i64 }, { i8*, i64 }* %33, !dbg !168 | |
| %182 = extractvalue { i8*, i64, i64 } %260, 0, !dbg !169 | |
| %183 = extractvalue { i8*, i64, i64 } %260, 1, !dbg !169 | |
| %184 = call { i8*, i64 } @__go_byte_array_to_string(i8* nest undef, i8* %182, i64 %183), !dbg !169 | |
| %185 = extractvalue { i8*, i64 } %184, 0, !dbg !169 | |
| %186 = extractvalue { i8*, i64 } %184, 1, !dbg !169 | |
| %187 = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %34, i32 0, i32 0, !dbg !169 | |
| store i8* %185, i8** %187, !dbg !169 | |
| %188 = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %34, i32 0, i32 1, !dbg !169 | |
| store i64 %186, i64* %188, !dbg !169 | |
| %189 = load { i8*, i64 }, { i8*, i64 }* %34, !dbg !169 | |
| store { i8*, i64 } %181, { i8*, i64 }* %35, !dbg !170 | |
| %190 = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %35, i32 0, i32 0, !dbg !170 | |
| %191 = load i8*, i8** %190, !dbg !170 | |
| %192 = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %35, i32 0, i32 1, !dbg !170 | |
| %193 = load i64, i64* %192, !dbg !170 | |
| store { i8*, i64 } %189, { i8*, i64 }* %36, !dbg !170 | |
| %194 = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %36, i32 0, i32 0, !dbg !170 | |
| %195 = load i8*, i8** %194, !dbg !170 | |
| %196 = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %36, i32 0, i32 1, !dbg !170 | |
| %197 = load i64, i64* %196, !dbg !170 | |
| %198 = call { i8*, i64 } @__go_string_plus(i8* nest undef, i8* %191, i64 %193, i8* %195, i64 %197), !dbg !170 | |
| %199 = extractvalue { i8*, i64 } %198, 0, !dbg !170 | |
| %200 = extractvalue { i8*, i64 } %198, 1, !dbg !170 | |
| %201 = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %37, i32 0, i32 0, !dbg !170 | |
| store i8* %199, i8** %201, !dbg !170 | |
| %202 = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %37, i32 0, i32 1, !dbg !170 | |
| store i64 %200, i64* %202, !dbg !170 | |
| %203 = load { i8*, i64 }, { i8*, i64 }* %37, !dbg !170 | |
| store { i8*, i64 } %203, { i8*, i64 }* %38, !dbg !171 | |
| %204 = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %38, i32 0, i32 0, !dbg !171 | |
| %205 = load i8*, i8** %204, !dbg !171 | |
| %206 = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %38, i32 0, i32 1, !dbg !171 | |
| %207 = load i64, i64* %206, !dbg !171 | |
| store { i8*, i64 } { i8* getelementptr inbounds ([2 x i8], [2 x i8]* @24, i32 0, i32 0), i64 2 }, { i8*, i64 }* %39, !dbg !171 | |
| %208 = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %39, i32 0, i32 0, !dbg !171 | |
| %209 = load i8*, i8** %208, !dbg !171 | |
| %210 = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %39, i32 0, i32 1, !dbg !171 | |
| %211 = load i64, i64* %210, !dbg !171 | |
| %212 = call { i8*, i64 } @__go_string_plus(i8* nest undef, i8* %205, i64 %207, i8* %209, i64 %211), !dbg !171 | |
| %213 = extractvalue { i8*, i64 } %212, 0, !dbg !171 | |
| %214 = extractvalue { i8*, i64 } %212, 1, !dbg !171 | |
| %215 = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %40, i32 0, i32 0, !dbg !171 | |
| store i8* %213, i8** %215, !dbg !171 | |
| %216 = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %40, i32 0, i32 1, !dbg !171 | |
| store i64 %214, i64* %216, !dbg !171 | |
| %217 = load { i8*, i64 }, { i8*, i64 }* %40, !dbg !171 | |
| %218 = call i8* @__go_new(i8* nest undef, i8* getelementptr inbounds (%arrayType, %arrayType* @__go_td_AIe1e, i32 0, i32 0, i32 0), i64 16), !dbg !172 | |
| %varargs = bitcast i8* %218 to [1 x { i8*, i8* }]*, !dbg !172 | |
| %219 = bitcast [1 x { i8*, i8* }]* %varargs to i8*, !dbg !172 | |
| %220 = bitcast i8* %219 to { i8*, i8* }*, !dbg !154 | |
| %221 = getelementptr { i8*, i8* }, { i8*, i8* }* %220, i64 0, !dbg !154 | |
| %222 = bitcast { i8*, i8* }* %221 to i8*, !dbg !154 | |
| %223 = call i8* @__go_new(i8* nest undef, i8* getelementptr inbounds (%commonType, %commonType* @__go_tdn_string, i32 0, i32 0), i64 16), !dbg !154 | |
| %224 = bitcast i8* %223 to { i8*, i64 }*, !dbg !154 | |
| store { i8*, i64 } %217, { i8*, i64 }* %224, !dbg !154 | |
| %225 = bitcast { i8*, i64 }* %224 to i8*, !dbg !154 | |
| %226 = insertvalue { i8*, i8* } { i8* getelementptr inbounds (%commonType, %commonType* @__go_tdn_string, i32 0, i32 0), i8* undef }, i8* %225, 1, !dbg !154 | |
| %227 = bitcast i8* %222 to { i8*, i8* }*, !dbg !173 | |
| store { i8*, i8* } %226, { i8*, i8* }* %227, !dbg !173 | |
| %228 = getelementptr inbounds i8, i8* %219, i64 0, !dbg !154 | |
| %229 = insertvalue { i8*, i64, i64 } undef, i8* %228, 0, !dbg !154 | |
| %230 = insertvalue { i8*, i64, i64 } %229, i64 1, 1, !dbg !154 | |
| %231 = insertvalue { i8*, i64, i64 } %230, i64 1, 2, !dbg !154 | |
| store { i8*, i64 } { i8* getelementptr inbounds ([18 x i8], [18 x i8]* @25, i32 0, i32 0), i64 18 }, { i8*, i64 }* %41, !dbg !174 | |
| %232 = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %41, i32 0, i32 0, !dbg !174 | |
| %233 = load i8*, i8** %232, !dbg !174 | |
| %234 = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %41, i32 0, i32 1, !dbg !174 | |
| %235 = load i64, i64* %234, !dbg !174 | |
| store { i8*, i64, i64 } %231, { i8*, i64, i64 }* %42, !dbg !174 | |
| call void @fmt.Printf({ i64, { i8*, i8* } }* sret %43, i8* nest undef, i8* %233, i64 %235, { i8*, i64, i64 }* byval %42), !dbg !174 | |
| %236 = getelementptr inbounds { i64, { i8*, i8* } }, { i64, { i8*, i8* } }* %43, i32 0, i32 0, !dbg !174 | |
| %237 = load i64, i64* %236, !dbg !174 | |
| %238 = getelementptr inbounds { i64, { i8*, i8* } }, { i64, { i8*, i8* } }* %43, i32 0, i32 1, !dbg !174 | |
| %239 = load { i8*, i8* }, { i8*, i8* }* %238, !dbg !174 | |
| %240 = getelementptr inbounds { { i8*, i64, i64 }, { i8*, i8* } }, { { i8*, i64, i64 }, { i8*, i8* } }* %0, i32 0, i32 0, !dbg !175 | |
| store { i8*, i64, i64 } %260, { i8*, i64, i64 }* %240, !dbg !175 | |
| %241 = getelementptr inbounds { { i8*, i64, i64 }, { i8*, i8* } }, { { i8*, i64, i64 }, { i8*, i8* } }* %0, i32 0, i32 1, !dbg !175 | |
| store { i8*, i8* } zeroinitializer, { i8*, i8* }* %241, !dbg !175 | |
| ret void, !dbg !175 | |
| ; <label>:242: ; preds = %.2.if.done | |
| call void @__go_runtime_error(i8* nest undef, i32 0), !dbg !157 | |
| unreachable, !dbg !157 | |
| ; <label>:243: ; preds = %.2.if.done | |
| %244 = bitcast i8* %66 to { i8*, i64 }*, !dbg !157 | |
| %245 = getelementptr { i8*, i64 }, { i8*, i64 }* %244, i64 0, !dbg !157 | |
| %246 = bitcast { i8*, i64 }* %245 to i8*, !dbg !157 | |
| %247 = bitcast i8* %246 to { i8*, i64 }*, !dbg !157 | |
| %248 = load { i8*, i64 }, { i8*, i64 }* %247, !dbg !157 | |
| %249 = extractvalue { i8*, i8* } %47, 0, !dbg !176 | |
| %250 = extractvalue { i8*, i8* } %47, 1, !dbg !176 | |
| %251 = bitcast i8* %249 to i8**, !dbg !176 | |
| %252 = getelementptr i8*, i8** %251, i32 13, !dbg !176 | |
| %253 = load i8*, i8** %252, !dbg !176 | |
| store { i8*, i64 } %248, { i8*, i64 }* %8, !dbg !176 | |
| %254 = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %8, i32 0, i32 0, !dbg !176 | |
| %255 = load i8*, i8** %254, !dbg !176 | |
| %256 = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %8, i32 0, i32 1, !dbg !176 | |
| %257 = load i64, i64* %256, !dbg !176 | |
| %258 = bitcast i8* %253 to void ({ { i8*, i64, i64 }, { i8*, i8* } }*, i8*, i8*, i8*, i64)*, !dbg !176 | |
| call void %258({ { i8*, i64, i64 }, { i8*, i8* } }* sret %9, i8* nest undef, i8* %250, i8* %255, i64 %257), !dbg !176 | |
| %259 = getelementptr inbounds { { i8*, i64, i64 }, { i8*, i8* } }, { { i8*, i64, i64 }, { i8*, i8* } }* %9, i32 0, i32 0, !dbg !176 | |
| %260 = load { i8*, i64, i64 }, { i8*, i64, i64 }* %259, !dbg !176 | |
| %261 = getelementptr inbounds { { i8*, i64, i64 }, { i8*, i8* } }, { { i8*, i64, i64 }, { i8*, i8* } }* %9, i32 0, i32 1, !dbg !176 | |
| %262 = load { i8*, i8* }, { i8*, i8* }* %261, !dbg !176 | |
| store { i8*, i8* } %262, { i8*, i8* }* %10, !dbg !177 | |
| %263 = getelementptr inbounds { i8*, i8* }, { i8*, i8* }* %10, i32 0, i32 0, !dbg !177 | |
| %264 = load i8*, i8** %263, !dbg !177 | |
| %265 = getelementptr inbounds { i8*, i8* }, { i8*, i8* }* %10, i32 0, i32 1, !dbg !177 | |
| %266 = load i8*, i8** %265, !dbg !177 | |
| store { i8*, i8* } zeroinitializer, { i8*, i8* }* %11, !dbg !177 | |
| %267 = getelementptr inbounds { i8*, i8* }, { i8*, i8* }* %11, i32 0, i32 0, !dbg !177 | |
| %268 = load i8*, i8** %267, !dbg !177 | |
| %269 = getelementptr inbounds { i8*, i8* }, { i8*, i8* }* %11, i32 0, i32 1, !dbg !177 | |
| %270 = load i8*, i8** %269, !dbg !177 | |
| %271 = call i64 @__go_interface_compare(i8* nest undef, i8* %264, i8* %266, i8* %268, i8* %270), !dbg !177 | |
| %272 = icmp eq i64 %271, 0, !dbg !177 | |
| %273 = zext i1 %272 to i8, !dbg !177 | |
| %274 = xor i8 %273, 1, !dbg !177 | |
| %275 = trunc i8 %274 to i1, !dbg !154 | |
| br i1 %275, label %.3.if.then, label %.4.if.done, !dbg !154 | |
| } | |
| define void @main..import(i8* nest) #2 !dbg !178 { | |
| prologue: | |
| %1 = load i1, i1* @"init$guard", !dbg !182 | |
| br i1 %1, label %2, label %3, !dbg !182 | |
| .0.entry: ; preds = %3 | |
| ret void, !dbg !182 | |
| ; <label>:2: ; preds = %prologue | |
| ret void, !dbg !182 | |
| ; <label>:3: ; preds = %prologue | |
| store i1 true, i1* @"init$guard", !dbg !182 | |
| call void @errors..import(i8* undef), !dbg !182 | |
| call void @fmt..import(i8* undef), !dbg !182 | |
| call void @strconv..import(i8* undef), !dbg !182 | |
| call void @github_com_hyperledger_fabric_core_chaincode_shim..import(i8* undef), !dbg !182 | |
| br label %.0.entry, !dbg !182 | |
| } | |
| declare void @errors..import(i8*) | |
| declare void @fmt..import(i8*) | |
| declare void @strconv..import(i8*) | |
| declare void @github_com_hyperledger_fabric_core_chaincode_shim..import(i8*) | |
| define void @main.main(i8* nest) #2 !dbg !183 { | |
| prologue: | |
| %1 = alloca { i8*, i8* }, !dbg !184 | |
| %2 = alloca { i8*, i8* }, !dbg !184 | |
| %3 = alloca { i8*, i8* }, !dbg !184 | |
| %4 = alloca { i8*, i8* }, !dbg !184 | |
| %5 = alloca { i8*, i64 }, !dbg !184 | |
| %6 = alloca { i8*, i64, i64 }, !dbg !184 | |
| %7 = alloca { i64, { i8*, i8* } }, !dbg !184 | |
| br label %.0.entry, !dbg !184 | |
| .0.entry: ; preds = %prologue | |
| %8 = call i8* @__go_new(i8* nest undef, i8* getelementptr inbounds (%structType, %structType* @__go_tdn_main.SimpleChaincode, i32 0, i32 0, i32 0), i64 0), !dbg !185 | |
| %new = bitcast i8* %8 to {}*, !dbg !185 | |
| %9 = bitcast {}* %new to i8*, !dbg !185 | |
| %10 = insertvalue { i8*, i8* } { i8* bitcast ([3 x i8*]* @__go_imt_I4_InitFpN72_github_com_hyperledger_fabric_core_chaincode_shim.ChaincodeStubInterfaceerAN5_uint8eN5_erroree6_InvokeFpN72_github_com_hyperledger_fabric_core_chaincode_shim.ChaincodeStubInterfaceerAN5_uint8eN5_erroreee__pN20_main.SimpleChaincode to i8*), i8* undef }, i8* %9, 1, !dbg !186 | |
| store { i8*, i8* } %10, { i8*, i8* }* %1, !dbg !187 | |
| %11 = getelementptr inbounds { i8*, i8* }, { i8*, i8* }* %1, i32 0, i32 0, !dbg !187 | |
| %12 = load i8*, i8** %11, !dbg !187 | |
| %13 = getelementptr inbounds { i8*, i8* }, { i8*, i8* }* %1, i32 0, i32 1, !dbg !187 | |
| %14 = load i8*, i8** %13, !dbg !187 | |
| %15 = call { i8*, i8* } @github_com_hyperledger_fabric_core_chaincode_shim.Start(i8* nest undef, i8* %12, i8* %14), !dbg !187 | |
| %16 = extractvalue { i8*, i8* } %15, 0, !dbg !187 | |
| %17 = extractvalue { i8*, i8* } %15, 1, !dbg !187 | |
| %18 = getelementptr inbounds { i8*, i8* }, { i8*, i8* }* %2, i32 0, i32 0, !dbg !187 | |
| store i8* %16, i8** %18, !dbg !187 | |
| %19 = getelementptr inbounds { i8*, i8* }, { i8*, i8* }* %2, i32 0, i32 1, !dbg !187 | |
| store i8* %17, i8** %19, !dbg !187 | |
| %20 = load { i8*, i8* }, { i8*, i8* }* %2, !dbg !187 | |
| store { i8*, i8* } %20, { i8*, i8* }* %3, !dbg !188 | |
| %21 = getelementptr inbounds { i8*, i8* }, { i8*, i8* }* %3, i32 0, i32 0, !dbg !188 | |
| %22 = load i8*, i8** %21, !dbg !188 | |
| %23 = getelementptr inbounds { i8*, i8* }, { i8*, i8* }* %3, i32 0, i32 1, !dbg !188 | |
| %24 = load i8*, i8** %23, !dbg !188 | |
| store { i8*, i8* } zeroinitializer, { i8*, i8* }* %4, !dbg !188 | |
| %25 = getelementptr inbounds { i8*, i8* }, { i8*, i8* }* %4, i32 0, i32 0, !dbg !188 | |
| %26 = load i8*, i8** %25, !dbg !188 | |
| %27 = getelementptr inbounds { i8*, i8* }, { i8*, i8* }* %4, i32 0, i32 1, !dbg !188 | |
| %28 = load i8*, i8** %27, !dbg !188 | |
| %29 = call i64 @__go_interface_compare(i8* nest undef, i8* %22, i8* %24, i8* %26, i8* %28), !dbg !188 | |
| %30 = icmp eq i64 %29, 0, !dbg !188 | |
| %31 = zext i1 %30 to i8, !dbg !188 | |
| %32 = xor i8 %31, 1, !dbg !188 | |
| %33 = trunc i8 %32 to i1, !dbg !186 | |
| br i1 %33, label %.1.if.then, label %.2.if.done, !dbg !186 | |
| .1.if.then: ; preds = %.0.entry | |
| %34 = call i8* @__go_new(i8* nest undef, i8* getelementptr inbounds (%arrayType, %arrayType* @__go_td_AIe1e, i32 0, i32 0, i32 0), i64 16), !dbg !189 | |
| %varargs = bitcast i8* %34 to [1 x { i8*, i8* }]*, !dbg !189 | |
| %35 = bitcast [1 x { i8*, i8* }]* %varargs to i8*, !dbg !189 | |
| %36 = bitcast i8* %35 to { i8*, i8* }*, !dbg !186 | |
| %37 = getelementptr { i8*, i8* }, { i8*, i8* }* %36, i64 0, !dbg !186 | |
| %38 = bitcast { i8*, i8* }* %37 to i8*, !dbg !186 | |
| %39 = extractvalue { i8*, i8* } %20, 0, !dbg !186 | |
| %40 = icmp ne i8* %39, null, !dbg !186 | |
| br i1 %40, label %41, label %44, !dbg !186 | |
| .2.if.done: ; preds = %44, %.0.entry | |
| ret void, !dbg !186 | |
| ; <label>:41: ; preds = %.1.if.then | |
| %42 = bitcast i8* %39 to i8**, !dbg !186 | |
| %43 = load i8*, i8** %42, !dbg !186 | |
| br label %44, !dbg !186 | |
| ; <label>:44: ; preds = %41, %.1.if.then | |
| %45 = phi i8* [ null, %.1.if.then ], [ %43, %41 ], !dbg !186 | |
| %46 = extractvalue { i8*, i8* } %20, 1, !dbg !186 | |
| %47 = insertvalue { i8*, i8* } undef, i8* %45, 0, !dbg !186 | |
| %48 = insertvalue { i8*, i8* } %47, i8* %46, 1, !dbg !186 | |
| %49 = bitcast i8* %38 to { i8*, i8* }*, !dbg !190 | |
| store { i8*, i8* } %48, { i8*, i8* }* %49, !dbg !190 | |
| %50 = getelementptr inbounds i8, i8* %35, i64 0, !dbg !186 | |
| %51 = insertvalue { i8*, i64, i64 } undef, i8* %50, 0, !dbg !186 | |
| %52 = insertvalue { i8*, i64, i64 } %51, i64 1, 1, !dbg !186 | |
| %53 = insertvalue { i8*, i64, i64 } %52, i64 1, 2, !dbg !186 | |
| store { i8*, i64 } { i8* getelementptr inbounds ([35 x i8], [35 x i8]* @26, i32 0, i32 0), i64 35 }, { i8*, i64 }* %5, !dbg !191 | |
| %54 = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %5, i32 0, i32 0, !dbg !191 | |
| %55 = load i8*, i8** %54, !dbg !191 | |
| %56 = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %5, i32 0, i32 1, !dbg !191 | |
| %57 = load i64, i64* %56, !dbg !191 | |
| store { i8*, i64, i64 } %53, { i8*, i64, i64 }* %6, !dbg !191 | |
| call void @fmt.Printf({ i64, { i8*, i8* } }* sret %7, i8* nest undef, i8* %55, i64 %57, { i8*, i64, i64 }* byval %6), !dbg !191 | |
| %58 = getelementptr inbounds { i64, { i8*, i8* } }, { i64, { i8*, i8* } }* %7, i32 0, i32 0, !dbg !191 | |
| %59 = load i64, i64* %58, !dbg !191 | |
| %60 = getelementptr inbounds { i64, { i8*, i8* } }, { i64, { i8*, i8* } }* %7, i32 0, i32 1, !dbg !191 | |
| %61 = load { i8*, i8* }, { i8*, i8* }* %60, !dbg !191 | |
| br label %.2.if.done, !dbg !186 | |
| } | |
| declare { i8*, i8* } @github_com_hyperledger_fabric_core_chaincode_shim.Start(i8* nest, i8*, i8*) | |
| define linkonce_odr i64 @__go_type_hash_AIe1e(i8*, i64) { | |
| entry: | |
| %2 = bitcast i8* %0 to { i8*, i8* }* | |
| br label %loop | |
| loop: ; preds = %loop, %entry | |
| %3 = phi i64 [ 0, %entry ], [ %10, %loop ] | |
| %4 = phi i64 [ 0, %entry ], [ %9, %loop ] | |
| %5 = getelementptr { i8*, i8* }, { i8*, i8* }* %2, i64 %3 | |
| %6 = bitcast { i8*, i8* }* %5 to i8* | |
| %7 = call i64 @__go_type_hash_empty_interface(i8* %6, i64 16) | |
| %8 = mul i64 %4, 33 | |
| %9 = add i64 %8, %7 | |
| %10 = add i64 %3, 1 | |
| %11 = icmp eq i64 %10, 1 | |
| br i1 %11, label %exit, label %loop | |
| exit: ; preds = %loop | |
| ret i64 %9 | |
| } | |
| define linkonce_odr i8 @__go_type_hash_AIe1e.1(i8*, i8*, i64) { | |
| entry: | |
| %3 = bitcast i8* %0 to { i8*, i8* }* | |
| %4 = bitcast i8* %1 to { i8*, i8* }* | |
| br label %loop | |
| loop: ; preds = %cont, %entry | |
| %5 = phi i64 [ 0, %entry ], [ %12, %cont ] | |
| %6 = getelementptr { i8*, i8* }, { i8*, i8* }* %3, i64 %5 | |
| %7 = bitcast { i8*, i8* }* %6 to i8* | |
| %8 = getelementptr { i8*, i8* }, { i8*, i8* }* %4, i64 %5 | |
| %9 = bitcast { i8*, i8* }* %8 to i8* | |
| %10 = call i8 @__go_type_equal_empty_interface(i8* %7, i8* %9, i64 16) | |
| %11 = icmp eq i8 %10, 0 | |
| br i1 %11, label %retzero, label %cont | |
| exit: ; preds = %cont | |
| ret i8 1 | |
| retzero: ; preds = %loop | |
| ret i8 0 | |
| cont: ; preds = %loop | |
| %12 = add i64 %5, 1 | |
| %13 = icmp eq i64 %12, 1 | |
| br i1 %13, label %exit, label %loop | |
| } | |
| define linkonce_odr i64 @__go_type_hash_AIe2e(i8*, i64) { | |
| entry: | |
| %2 = bitcast i8* %0 to { i8*, i8* }* | |
| br label %loop | |
| loop: ; preds = %loop, %entry | |
| %3 = phi i64 [ 0, %entry ], [ %10, %loop ] | |
| %4 = phi i64 [ 0, %entry ], [ %9, %loop ] | |
| %5 = getelementptr { i8*, i8* }, { i8*, i8* }* %2, i64 %3 | |
| %6 = bitcast { i8*, i8* }* %5 to i8* | |
| %7 = call i64 @__go_type_hash_empty_interface(i8* %6, i64 16) | |
| %8 = mul i64 %4, 33 | |
| %9 = add i64 %8, %7 | |
| %10 = add i64 %3, 1 | |
| %11 = icmp eq i64 %10, 2 | |
| br i1 %11, label %exit, label %loop | |
| exit: ; preds = %loop | |
| ret i64 %9 | |
| } | |
| define linkonce_odr i8 @__go_type_hash_AIe2e.3(i8*, i8*, i64) { | |
| entry: | |
| %3 = bitcast i8* %0 to { i8*, i8* }* | |
| %4 = bitcast i8* %1 to { i8*, i8* }* | |
| br label %loop | |
| loop: ; preds = %cont, %entry | |
| %5 = phi i64 [ 0, %entry ], [ %12, %cont ] | |
| %6 = getelementptr { i8*, i8* }, { i8*, i8* }* %3, i64 %5 | |
| %7 = bitcast { i8*, i8* }* %6 to i8* | |
| %8 = getelementptr { i8*, i8* }, { i8*, i8* }* %4, i64 %5 | |
| %9 = bitcast { i8*, i8* }* %8 to i8* | |
| %10 = call i8 @__go_type_equal_empty_interface(i8* %7, i8* %9, i64 16) | |
| %11 = icmp eq i8 %10, 0 | |
| br i1 %11, label %retzero, label %cont | |
| exit: ; preds = %cont | |
| ret i8 1 | |
| retzero: ; preds = %loop | |
| ret i8 0 | |
| cont: ; preds = %loop | |
| %12 = add i64 %5, 1 | |
| %13 = icmp eq i64 %12, 2 | |
| br i1 %13, label %exit, label %loop | |
| } | |
| define linkonce_odr i64 @__go_type_hash_Se(i8*, i64) { | |
| entry: | |
| %2 = bitcast i8* %0 to {}* | |
| ret i64 0 | |
| } | |
| define linkonce_odr i8 @__go_type_equal_Se(i8*, i8*, i64) { | |
| entry: | |
| %3 = bitcast i8* %0 to {}* | |
| %4 = bitcast i8* %1 to {}* | |
| ret i8 1 | |
| retzero: ; No predecessors! | |
| ret i8 0 | |
| } | |
| define void @__go_init_main(i8*) #2 { | |
| entry: | |
| call void @main..import(i8* undef) | |
| ret void | |
| } | |
| attributes #0 = { nounwind } | |
| attributes #1 = { noreturn } | |
| attributes #2 = { "disable-tail-calls"="true" "split-stack" } | |
| !llvm.dbg.cu = !{!0} | |
| !llvm.module.flags = !{!3, !4} | |
| !0 = distinct !DICompileUnit(language: DW_LANG_Go, file: !1, producer: "llgo", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !2) | |
| !1 = !DIFile(filename: "chaincode_example02.go", directory: "/root/gocode/src/github.com/chaincode_example02") | |
| !2 = !{} | |
| !3 = !{i32 2, !"Dwarf Version", i32 4} | |
| !4 = !{i32 1, !"Debug Info Version", i32 3} | |
| !5 = distinct !DISubprogram(name: "main.Init.pN20_main.SimpleChaincode", linkageName: "main.Init.pN20_main.SimpleChaincode", scope: null, file: !6, line: 37, type: !7, isLocal: false, isDefinition: true, isOptimized: false, unit: !0, variables: !2) | |
| !6 = !DIFile(filename: "chaincode_example02.go", directory: "") | |
| !7 = !DISubroutineType(types: !8) | |
| !8 = !{!9, !26, !29} | |
| !9 = !DICompositeType(tag: DW_TAG_structure_type, size: 320, align: 64, elements: !10) | |
| !10 = !{!11, !20} | |
| !11 = !DIDerivedType(tag: DW_TAG_member, name: "_", baseType: !12, size: 192, align: 64) | |
| !12 = !DICompositeType(tag: DW_TAG_structure_type, name: "[]byte", size: 192, align: 64, elements: !13) | |
| !13 = !{!14, !17, !19} | |
| !14 = !DIDerivedType(tag: DW_TAG_member, name: "ptr", baseType: !15, size: 64, align: 64) | |
| !15 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !16, size: 64, align: 64) | |
| !16 = !DIBasicType(name: "byte", size: 8, align: 8, encoding: DW_ATE_unsigned) | |
| !17 = !DIDerivedType(tag: DW_TAG_member, name: "len", baseType: !18, size: 64, align: 64, offset: 64) | |
| !18 = !DIBasicType(name: "int", size: 64, align: 64, encoding: DW_ATE_signed) | |
| !19 = !DIDerivedType(tag: DW_TAG_member, name: "cap", baseType: !18, size: 64, align: 64, offset: 128) | |
| !20 = !DIDerivedType(tag: DW_TAG_member, name: "_", baseType: !21, size: 128, align: 64, offset: 192) | |
| !21 = !DIDerivedType(tag: DW_TAG_typedef, name: "error", baseType: !22) | |
| !22 = !DICompositeType(tag: DW_TAG_structure_type, name: "interface{Error() string}", size: 128, align: 64, elements: !23) | |
| !23 = !{!24, !25} | |
| !24 = !DIDerivedType(tag: DW_TAG_member, name: "type", baseType: !15, size: 64, align: 64) | |
| !25 = !DIDerivedType(tag: DW_TAG_member, name: "data", baseType: !15, size: 64, align: 64, offset: 64) | |
| !26 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !27, size: 64, align: 64) | |
| !27 = !DIDerivedType(tag: DW_TAG_typedef, name: "SimpleChaincode", file: !6, line: 34, baseType: !28) | |
| !28 = !DICompositeType(tag: DW_TAG_structure_type, name: "struct{}", align: 8) | |
| !29 = !DIDerivedType(tag: DW_TAG_typedef, name: "ChaincodeStubInterface", baseType: !22) | |
| !30 = !DILocation(line: 37, column: 27, scope: !5) | |
| !31 = !DILocation(line: 38, column: 42, scope: !5) | |
| !32 = !DILocation(line: 43, column: 8, scope: !5) | |
| !33 = !DILocation(line: 43, column: 15, scope: !5) | |
| !34 = !DILocation(line: 0, scope: !5) | |
| !35 = !DILocation(line: 44, column: 25, scope: !5) | |
| !36 = !DILocation(line: 44, column: 3, scope: !5) | |
| !37 = !DILocation(line: 48, column: 10, scope: !5) | |
| !38 = !{!"branch_weights", i32 1, i32 1000} | |
| !39 = !DILocation(line: 51, column: 25, scope: !5) | |
| !40 = !DILocation(line: 51, column: 3, scope: !5) | |
| !41 = !DILocation(line: 53, column: 10, scope: !5) | |
| !42 = !DILocation(line: 56, column: 25, scope: !5) | |
| !43 = !DILocation(line: 56, column: 3, scope: !5) | |
| !44 = !DILocation(line: 58, column: 49, scope: !5) | |
| !45 = !DILocation(line: 58, column: 39, scope: !5) | |
| !46 = !DILocation(line: 58, column: 45, scope: !5) | |
| !47 = !DILocation(line: 58, column: 12, scope: !5) | |
| !48 = !DILocation(line: 61, column: 44, scope: !5) | |
| !49 = !DILocation(line: 61, column: 31, scope: !5) | |
| !50 = !DILocation(line: 61, column: 21, scope: !5) | |
| !51 = !DILocation(line: 62, column: 9, scope: !5) | |
| !52 = !DILocation(line: 63, column: 3, scope: !5) | |
| !53 = !DILocation(line: 66, column: 44, scope: !5) | |
| !54 = !DILocation(line: 66, column: 31, scope: !5) | |
| !55 = !DILocation(line: 66, column: 21, scope: !5) | |
| !56 = !DILocation(line: 67, column: 9, scope: !5) | |
| !57 = !DILocation(line: 68, column: 3, scope: !5) | |
| !58 = !DILocation(line: 71, column: 2, scope: !5) | |
| !59 = !DILocation(line: 49, column: 31, scope: !5) | |
| !60 = !DILocation(line: 49, column: 26, scope: !5) | |
| !61 = !DILocation(line: 50, column: 9, scope: !5) | |
| !62 = !DILocation(line: 54, column: 31, scope: !5) | |
| !63 = !DILocation(line: 54, column: 26, scope: !5) | |
| !64 = !DILocation(line: 55, column: 9, scope: !5) | |
| !65 = distinct !DISubprogram(name: "main.Invoke.pN20_main.SimpleChaincode", linkageName: "main.Invoke.pN20_main.SimpleChaincode", scope: null, file: !6, line: 74, type: !7, isLocal: false, isDefinition: true, isOptimized: false, unit: !0, variables: !2) | |
| !66 = !DILocation(line: 74, column: 27, scope: !65) | |
| !67 = !DILocation(line: 75, column: 49, scope: !65) | |
| !68 = !DILocation(line: 76, column: 14, scope: !65) | |
| !69 = !DILocation(line: 0, scope: !65) | |
| !70 = !DILocation(line: 78, column: 18, scope: !65) | |
| !71 = !DILocation(line: 78, column: 3, scope: !65) | |
| !72 = !DILocation(line: 79, column: 21, scope: !65) | |
| !73 = !DILocation(line: 81, column: 18, scope: !65) | |
| !74 = !DILocation(line: 81, column: 3, scope: !65) | |
| !75 = !DILocation(line: 82, column: 21, scope: !65) | |
| !76 = !DILocation(line: 84, column: 17, scope: !65) | |
| !77 = !DILocation(line: 84, column: 3, scope: !65) | |
| !78 = !DILocation(line: 87, column: 24, scope: !65) | |
| !79 = !DILocation(line: 87, column: 2, scope: !65) | |
| !80 = distinct !DISubprogram(name: "main.invoke.pN20_main.SimpleChaincode", linkageName: "main.invoke.pN20_main.SimpleChaincode", scope: null, file: !6, line: 91, type: !81, isLocal: false, isDefinition: true, isOptimized: false, unit: !0, variables: !2) | |
| !81 = !DISubroutineType(types: !82) | |
| !82 = !{!9, !26, !29, !83} | |
| !83 = !DICompositeType(tag: DW_TAG_structure_type, name: "[]string", size: 192, align: 64, elements: !84) | |
| !84 = !{!85, !17, !19} | |
| !85 = !DIDerivedType(tag: DW_TAG_member, name: "ptr", baseType: !86, size: 64, align: 64) | |
| !86 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !87, size: 64, align: 64) | |
| !87 = !DICompositeType(tag: DW_TAG_structure_type, name: "string", size: 128, align: 64, elements: !88) | |
| !88 = !{!14, !17} | |
| !89 = !DILocation(line: 91, column: 27, scope: !80) | |
| !90 = !DILocation(line: 97, column: 8, scope: !80) | |
| !91 = !DILocation(line: 97, column: 15, scope: !80) | |
| !92 = !DILocation(line: 0, scope: !80) | |
| !93 = !DILocation(line: 98, column: 25, scope: !80) | |
| !94 = !DILocation(line: 98, column: 3, scope: !80) | |
| !95 = !DILocation(line: 101, column: 10, scope: !80) | |
| !96 = !DILocation(line: 108, column: 25, scope: !80) | |
| !97 = !DILocation(line: 108, column: 3, scope: !80) | |
| !98 = !DILocation(line: 110, column: 15, scope: !80) | |
| !99 = !DILocation(line: 111, column: 25, scope: !80) | |
| !100 = !DILocation(line: 111, column: 3, scope: !80) | |
| !101 = !DILocation(line: 113, column: 31, scope: !80) | |
| !102 = !DILocation(line: 113, column: 24, scope: !80) | |
| !103 = !DILocation(line: 115, column: 33, scope: !80) | |
| !104 = !DILocation(line: 116, column: 9, scope: !80) | |
| !105 = !DILocation(line: 117, column: 25, scope: !80) | |
| !106 = !DILocation(line: 117, column: 3, scope: !80) | |
| !107 = !DILocation(line: 119, column: 15, scope: !80) | |
| !108 = !DILocation(line: 120, column: 25, scope: !80) | |
| !109 = !DILocation(line: 120, column: 3, scope: !80) | |
| !110 = !DILocation(line: 122, column: 31, scope: !80) | |
| !111 = !DILocation(line: 122, column: 24, scope: !80) | |
| !112 = !DILocation(line: 125, column: 28, scope: !80) | |
| !113 = !DILocation(line: 127, column: 25, scope: !80) | |
| !114 = !DILocation(line: 127, column: 3, scope: !80) | |
| !115 = !DILocation(line: 129, column: 14, scope: !80) | |
| !116 = !DILocation(line: 130, column: 14, scope: !80) | |
| !117 = !DILocation(line: 131, column: 49, scope: !80) | |
| !118 = !DILocation(line: 131, column: 39, scope: !80) | |
| !119 = !DILocation(line: 131, column: 45, scope: !80) | |
| !120 = !DILocation(line: 131, column: 12, scope: !80) | |
| !121 = !DILocation(line: 134, column: 44, scope: !80) | |
| !122 = !DILocation(line: 134, column: 31, scope: !80) | |
| !123 = !DILocation(line: 134, column: 21, scope: !80) | |
| !124 = !DILocation(line: 135, column: 9, scope: !80) | |
| !125 = !DILocation(line: 136, column: 3, scope: !80) | |
| !126 = !DILocation(line: 139, column: 44, scope: !80) | |
| !127 = !DILocation(line: 139, column: 31, scope: !80) | |
| !128 = !DILocation(line: 139, column: 21, scope: !80) | |
| !129 = !DILocation(line: 140, column: 9, scope: !80) | |
| !130 = !DILocation(line: 141, column: 3, scope: !80) | |
| !131 = !DILocation(line: 144, column: 2, scope: !80) | |
| !132 = !DILocation(line: 102, column: 10, scope: !80) | |
| !133 = !DILocation(line: 106, column: 33, scope: !80) | |
| !134 = !DILocation(line: 107, column: 9, scope: !80) | |
| !135 = !DILocation(line: 125, column: 23, scope: !80) | |
| !136 = !DILocation(line: 126, column: 9, scope: !80) | |
| !137 = distinct !DISubprogram(name: "main.delete.pN20_main.SimpleChaincode", linkageName: "main.delete.pN20_main.SimpleChaincode", scope: null, file: !6, line: 148, type: !81, isLocal: false, isDefinition: true, isOptimized: false, unit: !0, variables: !2) | |
| !138 = !DILocation(line: 148, column: 27, scope: !137) | |
| !139 = !DILocation(line: 149, column: 8, scope: !137) | |
| !140 = !DILocation(line: 149, column: 15, scope: !137) | |
| !141 = !DILocation(line: 0, scope: !137) | |
| !142 = !DILocation(line: 150, column: 25, scope: !137) | |
| !143 = !DILocation(line: 150, column: 3, scope: !137) | |
| !144 = !DILocation(line: 153, column: 11, scope: !137) | |
| !145 = !DILocation(line: 158, column: 25, scope: !137) | |
| !146 = !DILocation(line: 158, column: 3, scope: !137) | |
| !147 = !DILocation(line: 161, column: 2, scope: !137) | |
| !148 = !DILocation(line: 156, column: 22, scope: !137) | |
| !149 = !DILocation(line: 157, column: 9, scope: !137) | |
| !150 = distinct !DISubprogram(name: "main.query.pN20_main.SimpleChaincode", linkageName: "main.query.pN20_main.SimpleChaincode", scope: null, file: !6, line: 165, type: !81, isLocal: false, isDefinition: true, isOptimized: false, unit: !0, variables: !2) | |
| !151 = !DILocation(line: 165, column: 27, scope: !150) | |
| !152 = !DILocation(line: 169, column: 8, scope: !150) | |
| !153 = !DILocation(line: 169, column: 15, scope: !150) | |
| !154 = !DILocation(line: 0, scope: !150) | |
| !155 = !DILocation(line: 170, column: 25, scope: !150) | |
| !156 = !DILocation(line: 170, column: 3, scope: !150) | |
| !157 = !DILocation(line: 173, column: 10, scope: !150) | |
| !158 = !DILocation(line: 178, column: 55, scope: !150) | |
| !159 = !DILocation(line: 178, column: 59, scope: !150) | |
| !160 = !DILocation(line: 179, column: 25, scope: !150) | |
| !161 = !DILocation(line: 179, column: 3, scope: !150) | |
| !162 = !DILocation(line: 182, column: 15, scope: !150) | |
| !163 = !DILocation(line: 183, column: 46, scope: !150) | |
| !164 = !DILocation(line: 183, column: 50, scope: !150) | |
| !165 = !DILocation(line: 184, column: 25, scope: !150) | |
| !166 = !DILocation(line: 184, column: 3, scope: !150) | |
| !167 = !DILocation(line: 187, column: 29, scope: !150) | |
| !168 = !DILocation(line: 187, column: 33, scope: !150) | |
| !169 = !DILocation(line: 187, column: 62, scope: !150) | |
| !170 = !DILocation(line: 187, column: 54, scope: !150) | |
| !171 = !DILocation(line: 187, column: 74, scope: !150) | |
| !172 = !DILocation(line: 188, column: 44, scope: !150) | |
| !173 = !DILocation(line: 188, column: 36, scope: !150) | |
| !174 = !DILocation(line: 188, column: 12, scope: !150) | |
| !175 = !DILocation(line: 189, column: 2, scope: !150) | |
| !176 = !DILocation(line: 176, column: 33, scope: !150) | |
| !177 = !DILocation(line: 177, column: 9, scope: !150) | |
| !178 = distinct !DISubprogram(name: "main..import", linkageName: "main..import", scope: null, type: !179, isLocal: false, isDefinition: true, isOptimized: false, unit: !0, variables: !2) | |
| !179 = !DISubroutineType(types: !180) | |
| !180 = !{!181} | |
| !181 = !DIBasicType(name: "void") | |
| !182 = !DILocation(line: 0, scope: !178) | |
| !183 = distinct !DISubprogram(name: "main.main", linkageName: "main.main", scope: null, file: !6, line: 192, type: !179, isLocal: false, isDefinition: true, isOptimized: false, unit: !0, variables: !2) | |
| !184 = !DILocation(line: 192, column: 6, scope: !183) | |
| !185 = !DILocation(line: 193, column: 23, scope: !183) | |
| !186 = !DILocation(line: 0, scope: !183) | |
| !187 = !DILocation(line: 193, column: 19, scope: !183) | |
| !188 = !DILocation(line: 194, column: 9, scope: !183) | |
| !189 = !DILocation(line: 195, column: 56, scope: !183) | |
| !190 = !DILocation(line: 195, column: 53, scope: !183) | |
| !191 = !DILocation(line: 195, column: 13, scope: !183) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment