188 lines · plain
1; RUN: llc -mcpu=mvp -filetype=obj %s -o - | obj2yaml | FileCheck %s2 3target triple = "wasm32-unknown-unknown"4 5@global1 = global i32 1025, align 86 7declare void @func0()8declare void @func1()9declare void @func2()10declare void @func3()11 12@llvm.global_ctors = appending global [2 x { i32, ptr, ptr }] [13 { i32, ptr, ptr } { i32 65535, ptr @func0, ptr null },14 { i32, ptr, ptr } { i32 42, ptr @func1, ptr null }15]16 17@llvm.global_dtors = appending global [2 x { i32, ptr, ptr }] [18 { i32, ptr, ptr } { i32 65535, ptr @func2, ptr null },19 { i32, ptr, ptr } { i32 42, ptr @func3, ptr null }20]21 22; CHECK: - Type: IMPORT23; CHECK-NEXT: Imports:24; CHECK-NEXT: - Module: env25; CHECK-NEXT: Field: __linear_memory26; CHECK-NEXT: Kind: MEMORY27; CHECK-NEXT: Memory:28; CHECK-NEXT: Minimum: 0x129; CHECK-NEXT: - Module: env30; CHECK-NEXT: Field: func331; CHECK-NEXT: Kind: FUNCTION32; CHECK-NEXT: SigIndex: 133; CHECK-NEXT: - Module: env34; CHECK-NEXT: Field: __cxa_atexit35; CHECK-NEXT: Kind: FUNCTION36; CHECK-NEXT: SigIndex: 237; CHECK-NEXT: - Module: env38; CHECK-NEXT: Field: func239; CHECK-NEXT: Kind: FUNCTION40; CHECK-NEXT: SigIndex: 141; CHECK-NEXT: - Module: env42; CHECK-NEXT: Field: func143; CHECK-NEXT: Kind: FUNCTION44; CHECK-NEXT: SigIndex: 145; CHECK-NEXT: - Module: env46; CHECK-NEXT: Field: func047; CHECK-NEXT: Kind: FUNCTION48; CHECK-NEXT: SigIndex: 149; CHECK-NEXT: - Module: env50; CHECK-NEXT: Field: __indirect_function_table51; CHECK-NEXT: Kind: TABLE52; CHECK-NEXT: Table:53; CHECK-NEXT: Index: 054; CHECK-NEXT: ElemType: FUNCREF55; CHECK-NEXT: Limits:56; CHECK-NEXT: Minimum: 0x257; CHECK-NEXT: - Type: FUNCTION58; CHECK-NEXT: FunctionTypes: [ 0, 1, 0, 1 ]59; CHECK-NEXT: - Type: ELEM60; CHECK-NEXT: Segments:61; CHECK-NEXT: - Offset:62; CHECK-NEXT: Opcode: I32_CONST63; CHECK-NEXT: Value: 164; CHECK-NEXT: Functions: [ 5, 7 ]65; CHECK-NEXT: - Type: DATACOUNT66; CHECK-NEXT: Count: 167; CHECK-NEXT: - Type: CODE68; CHECK-NEXT: Relocations:69; CHECK-NEXT: - Type: R_WASM_FUNCTION_INDEX_LEB70; CHECK-NEXT: Index: 171; CHECK-NEXT: Offset: 0x472; CHECK-NEXT: - Type: R_WASM_TABLE_INDEX_SLEB73; CHECK-NEXT: Index: 074; CHECK-NEXT: Offset: 0xF75; CHECK-NEXT: - Type: R_WASM_MEMORY_ADDR_SLEB76; CHECK-NEXT: Index: 377; CHECK-NEXT: Offset: 0x1778; CHECK-NEXT: - Type: R_WASM_FUNCTION_INDEX_LEB79; CHECK-NEXT: Index: 480; CHECK-NEXT: Offset: 0x1D81; CHECK-NEXT: - Type: R_WASM_FUNCTION_INDEX_LEB82; CHECK-NEXT: Index: 683; CHECK-NEXT: Offset: 0x2B84; CHECK-NEXT: - Type: R_WASM_TABLE_INDEX_SLEB85; CHECK-NEXT: Index: 586; CHECK-NEXT: Offset: 0x3687; CHECK-NEXT: - Type: R_WASM_MEMORY_ADDR_SLEB88; CHECK-NEXT: Index: 389; CHECK-NEXT: Offset: 0x3E90; CHECK-NEXT: - Type: R_WASM_FUNCTION_INDEX_LEB91; CHECK-NEXT: Index: 492; CHECK-NEXT: Offset: 0x4493; CHECK-NEXT: Functions:94; CHECK-NEXT: - Index: 595; CHECK-NEXT: Locals:96; CHECK-NEXT: Body: 1080808080000B97; CHECK-NEXT: - Index: 698; CHECK-NEXT: Locals:99; CHECK-NEXT: Body: 02404181808080004100418080808000108180808000450D00000B0B100; CHECK-NEXT: - Index: 7101; CHECK-NEXT: Locals:102; CHECK-NEXT: Body: 1082808080000B103; CHECK-NEXT: - Index: 8104; CHECK-NEXT: Locals:105; CHECK-NEXT: Body: 02404182808080004100418080808000108180808000450D00000B0B106; CHECK-NEXT: - Type: DATA107; CHECK-NEXT: Segments:108; CHECK-NEXT: - SectionOffset: 6109; CHECK-NEXT: InitFlags: 0110; CHECK-NEXT: Offset:111; CHECK-NEXT: Opcode: I32_CONST112; CHECK-NEXT: Value: 0113; CHECK-NEXT: Content: '01040000'114; CHECK-NEXT: - Type: CUSTOM115; CHECK-NEXT: Name: linking116; CHECK-NEXT: Version: 2117; CHECK-NEXT: SymbolTable:118; CHECK-NEXT: - Index: 0119; CHECK-NEXT: Kind: FUNCTION120; CHECK-NEXT: Name: .Lcall_dtors.42121; CHECK-NEXT: Flags: [ BINDING_LOCAL ]122; CHECK-NEXT: Function: 5123; CHECK-NEXT: - Index: 1124; CHECK-NEXT: Kind: FUNCTION125; CHECK-NEXT: Name: func3126; CHECK-NEXT: Flags: [ UNDEFINED ]127; CHECK-NEXT: Function: 0128; CHECK-NEXT: - Index: 2129; CHECK-NEXT: Kind: FUNCTION130; CHECK-NEXT: Name: .Lregister_call_dtors.42131; CHECK-NEXT: Flags: [ BINDING_LOCAL ]132; CHECK-NEXT: Function: 6133; CHECK-NEXT: - Index: 3134; CHECK-NEXT: Kind: DATA135; CHECK-NEXT: Name: __dso_handle136; CHECK-NEXT: Flags: [ BINDING_WEAK, VISIBILITY_HIDDEN, UNDEFINED ]137; CHECK-NEXT: - Index: 4138; CHECK-NEXT: Kind: FUNCTION139; CHECK-NEXT: Name: __cxa_atexit140; CHECK-NEXT: Flags: [ UNDEFINED ]141; CHECK-NEXT: Function: 1142; CHECK-NEXT: - Index: 5143; CHECK-NEXT: Kind: FUNCTION144; CHECK-NEXT: Name: .Lcall_dtors145; CHECK-NEXT: Flags: [ BINDING_LOCAL ]146; CHECK-NEXT: Function: 7147; CHECK-NEXT: - Index: 6148; CHECK-NEXT: Kind: FUNCTION149; CHECK-NEXT: Name: func2150; CHECK-NEXT: Flags: [ UNDEFINED ]151; CHECK-NEXT: Function: 2152; CHECK-NEXT: - Index: 7153; CHECK-NEXT: Kind: FUNCTION154; CHECK-NEXT: Name: .Lregister_call_dtors155; CHECK-NEXT: Flags: [ BINDING_LOCAL ]156; CHECK-NEXT: Function: 8157; CHECK-NEXT: - Index: 8158; CHECK-NEXT: Kind: DATA159; CHECK-NEXT: Name: global1160; CHECK-NEXT: Flags: [ ]161; CHECK-NEXT: Segment: 0162; CHECK-NEXT: Size: 4163; CHECK-NEXT: - Index: 9164; CHECK-NEXT: Kind: FUNCTION165; CHECK-NEXT: Name: func1166; CHECK-NEXT: Flags: [ UNDEFINED ]167; CHECK-NEXT: Function: 3168; CHECK-NEXT: - Index: 10169; CHECK-NEXT: Kind: FUNCTION170; CHECK-NEXT: Name: func0171; CHECK-NEXT: Flags: [ UNDEFINED ]172; CHECK-NEXT: Function: 4173; CHECK-NEXT: SegmentInfo:174; CHECK-NEXT: - Index: 0175; CHECK-NEXT: Name: .data.global1176; CHECK-NEXT: Alignment: 3177; CHECK-NEXT: Flags: [ ]178; CHECK-NEXT: InitFunctions:179; CHECK-NEXT: - Priority: 42180; CHECK-NEXT: Symbol: 9181; CHECK-NEXT: - Priority: 42182; CHECK-NEXT: Symbol: 2183; CHECK-NEXT: - Priority: 65535184; CHECK-NEXT: Symbol: 10185; CHECK-NEXT: - Priority: 65535186; CHECK-NEXT: Symbol: 7187; CHECK-NEXT: ...188