Akira Hatanaka | 6b7588e | 2011-05-04 17:54:27 +0000 | [diff] [blame] | 1 | ; RUN: llc -march=mips < %s | FileCheck %s |
| 2 | |
| 3 | @p = external global i32 |
| 4 | @q = external global i32 |
| 5 | @r = external global i32 |
| 6 | |
| 7 | define void @f0() nounwind { |
| 8 | entry: |
| 9 | ; CHECK: jalr |
| 10 | ; CHECK-NOT: got({{.*}})($gp) |
| 11 | ; CHECK: lw $gp |
| 12 | ; CHECK: jalr |
| 13 | ; CHECK-NOT: got({{.*}})($gp) |
| 14 | ; CHECK: lw $gp |
| 15 | ; CHECK: jalr |
| 16 | ; CHECK-NOT: got({{.*}})($gp) |
| 17 | ; CHECK: lw $gp |
| 18 | tail call void (...)* @f1() nounwind |
Akira Hatanaka | 921c58b | 2011-05-04 18:28:36 +0000 | [diff] [blame] | 19 | %tmp = load i32* @p, align 4 |
Akira Hatanaka | 6b7588e | 2011-05-04 17:54:27 +0000 | [diff] [blame] | 20 | tail call void @f2(i32 %tmp) nounwind |
Akira Hatanaka | 921c58b | 2011-05-04 18:28:36 +0000 | [diff] [blame] | 21 | %tmp1 = load i32* @q, align 4 |
| 22 | %tmp2 = load i32* @r, align 4 |
Akira Hatanaka | 6b7588e | 2011-05-04 17:54:27 +0000 | [diff] [blame] | 23 | tail call void @f3(i32 %tmp1, i32 %tmp2) nounwind |
| 24 | ret void |
| 25 | } |
| 26 | |
| 27 | declare void @f1(...) |
| 28 | |
| 29 | declare void @f2(i32) |
| 30 | |
| 31 | declare void @f3(i32, i32) |
| 32 | |