Krzysztof Parzyszek | 5488deb | 2018-03-26 17:53:48 +0000 | [diff] [blame] | 1 | ; RUN: llc -march=hexagon -O2 < %s | FileCheck %s |
| 2 | ; |
| 3 | ; Check whether there are no redundant register copies of return values |
| 4 | ; |
| 5 | ; CHECK: memw(gp+#g0) = r0 |
| 6 | ; CHECK: memw(gp+#g1) = r0 |
| 7 | |
| 8 | @g0 = external global i32 |
| 9 | @g1 = external global i32 |
| 10 | |
| 11 | define void @f0() { |
| 12 | b0: |
| 13 | %v0 = tail call i32 @f1(i32 1, i32 2, i32 3) |
| 14 | store i32 %v0, i32* @g0, align 4 |
| 15 | %v1 = tail call i32 @f1(i32 4, i32 5, i32 6) |
| 16 | store i32 %v1, i32* @g1, align 4 |
| 17 | ret void |
| 18 | } |
| 19 | |
| 20 | declare i32 @f1(i32, i32, i32) |