Tim Northover | 228d9d3 | 2013-02-06 16:43:33 +0000 | [diff] [blame] | 1 | ; RUN: llc -mtriple=aarch64-none-linux-gnu -o - < %s | FileCheck %s |
| 2 | |
| 3 | declare extern_weak i32 @var() |
| 4 | |
| 5 | define i32()* @foo() { |
| 6 | ; The usual ADRP/ADD pair can't be used for a weak reference because it must |
| 7 | ; evaluate to 0 if the symbol is undefined. We use a litpool entry. |
| 8 | ret i32()* @var |
Tim Northover | 228d9d3 | 2013-02-06 16:43:33 +0000 | [diff] [blame] | 9 | ; CHECK: .LCPI0_0: |
| 10 | ; CHECK-NEXT: .xword var |
Tim Northover | 3533ad6b | 2013-02-15 09:33:43 +0000 | [diff] [blame^] | 11 | |
| 12 | ; CHECK: ldr x0, [{{x[0-9]+}}, #:lo12:.LCPI0_0] |
| 13 | |
Tim Northover | 228d9d3 | 2013-02-06 16:43:33 +0000 | [diff] [blame] | 14 | } |