2
0

sched1.ll 713 B

12345678910111213141516171819202122232425262728293031
  1. ; RUN: llc < %s -march=nvptx -mcpu=sm_20 | FileCheck %s
  2. ; Ensure source scheduling is working
  3. define void @foo(i32* %a) {
  4. ; CHECK: .func foo
  5. ; CHECK: ld.u32
  6. ; CHECK-NEXT: ld.u32
  7. ; CHECK-NEXT: ld.u32
  8. ; CHECK-NEXT: ld.u32
  9. ; CHECK-NEXT: add.s32
  10. ; CHECK-NEXT: add.s32
  11. ; CHECK-NEXT: add.s32
  12. %ptr0 = getelementptr i32, i32* %a, i32 0
  13. %val0 = load i32, i32* %ptr0
  14. %ptr1 = getelementptr i32, i32* %a, i32 1
  15. %val1 = load i32, i32* %ptr1
  16. %ptr2 = getelementptr i32, i32* %a, i32 2
  17. %val2 = load i32, i32* %ptr2
  18. %ptr3 = getelementptr i32, i32* %a, i32 3
  19. %val3 = load i32, i32* %ptr3
  20. %t0 = add i32 %val0, %val1
  21. %t1 = add i32 %t0, %val2
  22. %t2 = add i32 %t1, %val3
  23. store i32 %t2, i32* %a
  24. ret void
  25. }