brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.3 KiB · 3f76516 Raw
86 lines · plain
1; RUN: llc -filetype=obj %s -mattr=-reference-types,-call-indirect-overlong -o - | llvm-readobj --symbols - | FileCheck %s2; RUN: llc -filetype=obj %s -mattr=+reference-types,-call-indirect-overlong -o - | llvm-readobj --symbols - | FileCheck --check-prefix=REF %s3 4target triple = "wasm32-unknown-unknown-wasm"5 6@foo = alias i8, ptr @func7@bar = alias ptr (), ptr @func8@bar2 = alias ptr (), ptr @bar9 10define ptr @func() {11  call ptr @bar2();12  ret ptr @foo;13}14 15; CHECK:      Symbols [16; CHECK-NEXT:   Symbol {17; CHECK-NEXT:     Name: func18; CHECK-NEXT:     Type: FUNCTION (0x0)19; CHECK-NEXT:     Flags [ (0x0)20; CHECK-NEXT:     ]21; CHECK-NEXT:     ElementIndex: 0x022; CHECK-NEXT:   }23; CHECK-NEXT:   Symbol {24; CHECK-NEXT:     Name: bar225; CHECK-NEXT:     Type: FUNCTION (0x0)26; CHECK-NEXT:     Flags [ (0x0)27; CHECK-NEXT:     ]28; CHECK-NEXT:     ElementIndex: 0x029; CHECK-NEXT:   }30; CHECK-NEXT:   Symbol {31; CHECK-NEXT:     Name: foo32; CHECK-NEXT:     Type: FUNCTION (0x0)33; CHECK-NEXT:     Flags [ (0x0)34; CHECK-NEXT:     ]35; CHECK-NEXT:     ElementIndex: 0x036; CHECK-NEXT:   }37; CHECK-NEXT:   Symbol {38; CHECK-NEXT:     Name: bar39; CHECK-NEXT:     Type: FUNCTION (0x0)40; CHECK-NEXT:     Flags [ (0x0)41; CHECK-NEXT:     ]42; CHECK-NEXT:     ElementIndex: 0x043; CHECK-NEXT:   }44; CHECK-NEXT: ]45 46; REF:      Symbols [47; REF-NEXT:   Symbol {48; REF-NEXT:     Name: func49; REF-NEXT:     Type: FUNCTION (0x0)50; REF-NEXT:     Flags [ (0x0)51; REF-NEXT:     ]52; REF-NEXT:     ElementIndex: 0x053; REF-NEXT:   }54; REF-NEXT:   Symbol {55; REF-NEXT:     Name: bar256; REF-NEXT:     Type: FUNCTION (0x0)57; REF-NEXT:     Flags [ (0x0)58; REF-NEXT:     ]59; REF-NEXT:     ElementIndex: 0x060; REF-NEXT:   }61; REF-NEXT:   Symbol {62; REF-NEXT:     Name: foo63; REF-NEXT:     Type: FUNCTION (0x0)64; REF-NEXT:     Flags [ (0x0)65; REF-NEXT:     ]66; REF-NEXT:     ElementIndex: 0x067; REF-NEXT:   }68; REF-NEXT:   Symbol {69; REF-NEXT:     Name: bar70; REF-NEXT:     Type: FUNCTION (0x0)71; REF-NEXT:     Flags [ (0x0)72; REF-NEXT:     ]73; REF-NEXT:     ElementIndex: 0x074; REF-NEXT:   }75; REF-NEXT:   Symbol {76; REF-NEXT:     Name: __indirect_function_table77; REF-NEXT:     Type: TABLE (0x5)78; REF-NEXT:     Flags [ (0x90)79; REF-NEXT:       NO_STRIP (0x80)80; REF-NEXT:       UNDEFINED (0x10)81; REF-NEXT:     ]82; REF-NEXT:     ImportModule: env83; REF-NEXT:     ElementIndex: 0x084; REF-NEXT:   }85; REF-NEXT: ]86