Remove check for Android in Mips.cpp (#123793)
[llvm-project.git] / llvm / test / ExecutionEngine / JITLink / x86-64 / LocalDependencyPropagation.s
blob83d71cdf6fc83e3b9643cea94ab87e4368834fe6
1 # REQUIRES: asserts
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 \
5 # RUN: | FileCheck %s
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
24 .globl _foo
25 .p2align 4, 0x90
26 _foo:
27 jmp _external_func
29 .p2align 4, 0x90
30 _bar:
32 jmp _foo
34 .globl _baz
35 .p2align 4, 0x90
36 _baz:
38 jmp _bar
40 .subsections_via_symbols