2 # RUN: llvm-mc -triple=x86_64-apple-macosx10.9 -filetype=obj -o %t %s
3 # RUN: llvm-jitlink -num-threads=0 -debug-only=orc -noexec \
4 # RUN: -abs _external_func=0x1 -entry=_foo %t 2>&1 \
7 # Check that simplification eliminates dependencies on symbols in this unit,
8 # and correctly propagates dependencies on symbols outside the unit (including
9 # via locally scoped symbols). In this test _baz depends on _foo indirectly via
10 # the local symbol _bar. Initially we expect _baz to depend on _foo, and _foo
11 # on _external_func, after simplification we expect both to depend on
12 # _external_func only.
14 # CHECK: In main emitting {{.*}}_foo{{.*}}
15 # CHECK-NEXT: Initial dependencies:
16 # CHECK-DAG: Symbols: { _foo }, Dependencies: { (main, { _external_func }) }
17 # CHECK-DAG: Symbols: { _baz }, Dependencies: { (main, { _foo }) }
18 # CHECK: Simplified dependencies:
19 # CHECK-DAG: Symbols: { _foo }, Dependencies: { (main, { _external_func }) }
20 # CHECK-DAG: Symbols: { _baz }, Dependencies: { (main, { _external_func }) }
22 .section __TEXT,__text,regular,pure_instructions
40 .subsections_via_symbols