Home | History | Annotate | Download | only in ARM
      1 ; RUN: llc < %s -o /dev/null "-mtriple=thumbv7-apple-ios" -debug-only=post-RA-sched 2> %t
      2 ; RUN: FileCheck %s < %t
      3 ; REQUIRES: asserts
      4 ; Make sure that mayalias store-load dependencies have one cycle
      5 ; latency regardless of whether they are barriers or not.
      6 
      7 ; CHECK: ** List Scheduling
      8 ; CHECK: SU(2){{.*}}STR{{.*}}Volatile
      9 ; CHECK-NOT: ch SU
     10 ; CHECK: ch SU(3): Latency=1
     11 ; CHECK-NOT: ch SU
     12 ; CHECK: SU(3){{.*}}LDR{{.*}}Volatile
     13 ; CHECK-NOT: ch SU
     14 ; CHECK: ch SU(2): Latency=1
     15 ; CHECK-NOT: ch SU
     16 ; CHECK: ** List Scheduling
     17 ; CHECK: SU(2){{.*}}STR{{.*}}
     18 ; CHECK-NOT: ch SU
     19 ; CHECK: ch SU(3): Latency=1
     20 ; CHECK-NOT: ch SU
     21 ; CHECK: SU(3){{.*}}LDR{{.*}}
     22 ; CHECK-NOT: ch SU
     23 ; CHECK: ch SU(2): Latency=1
     24 ; CHECK-NOT: ch SU
     25 define i32 @f1(i32* nocapture %p1, i32* nocapture %p2) nounwind {
     26 entry:
     27   store volatile i32 65540, i32* %p1, align 4, !tbaa !0
     28   %0 = load volatile i32* %p2, align 4, !tbaa !0
     29   ret i32 %0
     30 }
     31 
     32 define i32 @f2(i32* nocapture %p1, i32* nocapture %p2) nounwind {
     33 entry:
     34   store i32 65540, i32* %p1, align 4, !tbaa !0
     35   %0 = load i32* %p2, align 4, !tbaa !0
     36   ret i32 %0
     37 }
     38 
     39 !0 = metadata !{metadata !"int", metadata !1}
     40 !1 = metadata !{metadata !"omnipotent char", metadata !2}
     41 !2 = metadata !{metadata !"Simple C/C++ TBAA"}
     42