Evan Cheng | 3825ce8 | 2009-10-02 06:53:57 +0000 | [diff] [blame^] | 1 | ; RUN: llc < %s -mtriple=armv7-apple-darwin | FileCheck %s |
Evan Cheng | 60c916b | 2007-06-20 18:26:15 +0000 | [diff] [blame] | 2 | |
| 3 | @x = external global i32* ; <i32**> [#uses=1] |
| 4 | |
| 5 | define void @foo(i32 %a) { |
| 6 | entry: |
| 7 | %tmp = load i32** @x ; <i32*> [#uses=1] |
| 8 | store i32 %a, i32* %tmp |
| 9 | ret void |
| 10 | } |
| 11 | |
| 12 | define void @t1(i32 %a, i32 %b) { |
Evan Cheng | 62a1b5d | 2009-10-02 04:57:15 +0000 | [diff] [blame] | 13 | ; CHECK: t1: |
| 14 | ; CHECK: ldmltfd sp!, {r7, pc} |
Evan Cheng | 60c916b | 2007-06-20 18:26:15 +0000 | [diff] [blame] | 15 | entry: |
| 16 | %tmp1 = icmp sgt i32 %a, 10 ; <i1> [#uses=1] |
| 17 | br i1 %tmp1, label %cond_true, label %UnifiedReturnBlock |
| 18 | |
| 19 | cond_true: ; preds = %entry |
| 20 | tail call void @foo( i32 %b ) |
| 21 | ret void |
| 22 | |
| 23 | UnifiedReturnBlock: ; preds = %entry |
| 24 | ret void |
| 25 | } |