brintos

brintos / llvm-project-archived public Read only

0
0
Text · 5.4 KiB · 30bf7cf Raw
136 lines · plain
1; RUN: llc -mcpu=mvp -filetype=obj -o %t.o %s2; RUN: llc -mcpu=mvp -filetype=obj %S/Inputs/weak-alias.ll -o %t2.o3; RUN: wasm-ld --export-dynamic %t.o %t2.o -o %t.wasm4; RUN: obj2yaml %t.wasm | FileCheck %s5 6; Test that the strongly defined alias_fn from this file is used both here7; and in call_alias.8 9target triple = "wasm32-unknown-unknown"10 11define i32 @alias_fn() local_unnamed_addr #1 {12  ret i32 113}14 15; Function Attrs: nounwind uwtable16define void @_start() local_unnamed_addr #1 {17entry:18  %call = tail call i32 @alias_fn() #219  ret void20}21 22; CHECK:      --- !WASM23; CHECK-NEXT: FileHeader:24; CHECK-NEXT:   Version:         0x125; CHECK-NEXT: Sections:26; CHECK-NEXT:   - Type:            TYPE27; CHECK-NEXT:     Signatures:28; CHECK-NEXT:       - Index:           029; CHECK-NEXT:         ParamTypes:      []30; CHECK-NEXT:         ReturnTypes:31; CHECK-NEXT:           - I3232; CHECK-NEXT:       - Index:           133; CHECK-NEXT:         ParamTypes:      []34; CHECK-NEXT:         ReturnTypes:     []35; CHECK-NEXT:   - Type:            FUNCTION36; CHECK-NEXT:     FunctionTypes:   [ 0, 1, 0, 0, 0, 0, 0 ]37; CHECK-NEXT:   - Type:            TABLE38; CHECK-NEXT:     Tables:39; CHECK-NEXT:       - Index:           040; CHECK-NEXT:         ElemType:        FUNCREF41; CHECK-NEXT:         Limits:42; CHECK-NEXT:           Flags:           [ HAS_MAX ]43; CHECK-NEXT:           Minimum:         0x344; CHECK-NEXT:           Maximum:         0x345; CHECK-NEXT:   - Type:            MEMORY46; CHECK-NEXT:     Memories:47; CHECK-NEXT:       - Minimum:         0x148; CHECK-NEXT:   - Type:            GLOBAL49; CHECK-NEXT:     Globals:50; CHECK-NEXT:       - Index:           051; CHECK-NEXT:         Type:            I3252; CHECK-NEXT:         Mutable:         true53; CHECK-NEXT:         InitExpr:54; CHECK-NEXT:           Opcode:          I32_CONST55; CHECK-NEXT:           Value:           6553656; CHECK-NEXT:   - Type:            EXPORT57; CHECK-NEXT:     Exports:58; CHECK-NEXT:       - Name:            memory59; CHECK-NEXT:         Kind:            MEMORY60; CHECK-NEXT:         Index:           061; CHECK-NEXT:       - Name:            alias_fn62; CHECK-NEXT:         Kind:            FUNCTION63; CHECK-NEXT:         Index:           064; CHECK-NEXT:       - Name:            _start65; CHECK-NEXT:         Kind:            FUNCTION66; CHECK-NEXT:         Index:           167; CHECK-NEXT:       - Name:            direct_fn68; CHECK-NEXT:         Kind:            FUNCTION69; CHECK-NEXT:         Index:           270; CHECK-NEXT:       - Name:            call_direct71; CHECK-NEXT:         Kind:            FUNCTION72; CHECK-NEXT:         Index:           373; CHECK-NEXT:       - Name:            call_alias74; CHECK-NEXT:         Kind:            FUNCTION75; CHECK-NEXT:         Index:           476; CHECK-NEXT:       - Name:            call_alias_ptr77; CHECK-NEXT:         Kind:            FUNCTION78; CHECK-NEXT:         Index:           579; CHECK-NEXT:       - Name:            call_direct_ptr80; CHECK-NEXT:         Kind:            FUNCTION81; CHECK-NEXT:         Index:           682; CHECK-NEXT:   - Type:            ELEM83; CHECK-NEXT:     Segments:84; CHECK-NEXT:       - Offset:85; CHECK-NEXT:           Opcode:          I32_CONST86; CHECK-NEXT:           Value:           187; CHECK-NEXT:         Functions:       [ 0, 2 ]88; CHECK-NEXT:   - Type:            CODE89; CHECK-NEXT:     Functions:90; CHECK-NEXT:       - Index:           091; CHECK-NEXT:         Locals:92; CHECK-NEXT:         Body:            41010B93; CHECK-NEXT:       - Index:           194; CHECK-NEXT:         Locals:95; CHECK-NEXT:         Body:            1080808080001A0B96; CHECK-NEXT:       - Index:           297; CHECK-NEXT:         Locals:98; CHECK-NEXT:         Body:            41000B99; CHECK-NEXT:       - Index:           3100; CHECK-NEXT:         Locals:101; CHECK-NEXT:         Body:            1082808080000B102; CHECK-NEXT:       - Index:           4103; CHECK-NEXT:         Locals:104; CHECK-NEXT:         Body:            1080808080000B105; CHECK-NEXT:       - Index:           5106; CHECK-NEXT:         Locals:107; CHECK-NEXT:           - Type:            I32108; CHECK-NEXT:             Count:           2109; CHECK-NEXT:         Body:            23808080800041106B220024808080800020004181808080003602081080808080002101200041106A24808080800020010B110; CHECK-NEXT:       - Index:           6111; CHECK-NEXT:         Locals:112; CHECK-NEXT:           - Type:            I32113; CHECK-NEXT:             Count:           2114; CHECK-NEXT:         Body:            23808080800041106B220024808080800020004182808080003602081082808080002101200041106A24808080800020010B115; CHECK-NEXT:   - Type:            CUSTOM116; CHECK-NEXT:     Name:            name117; CHECK-NEXT:     FunctionNames:118; CHECK-NEXT:       - Index:           0119; CHECK-NEXT:         Name:            alias_fn120; CHECK-NEXT:       - Index:           1121; CHECK-NEXT:         Name:            _start122; CHECK-NEXT:       - Index:           2123; CHECK-NEXT:         Name:            direct_fn124; CHECK-NEXT:       - Index:           3125; CHECK-NEXT:         Name:            call_direct126; CHECK-NEXT:       - Index:           4127; CHECK-NEXT:         Name:            call_alias128; CHECK-NEXT:       - Index:           5129; CHECK-NEXT:         Name:            call_alias_ptr130; CHECK-NEXT:       - Index:           6131; CHECK-NEXT:         Name:            call_direct_ptr132; CHECK-NEXT:     GlobalNames:133; CHECK-NEXT:       - Index:           0134; CHECK-NEXT:         Name:            __stack_pointer135; CHECK-NEXT: ...136