Skip to content

Commit 5b413a2

Browse files
committed
Added end-to-end test.
1 parent eeec527 commit 5b413a2

File tree

1 file changed

+30
-0
lines changed

1 file changed

+30
-0
lines changed
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
! Check that the branch weights used by the array repacking
2+
! are propagated all the way to LLVM IR:
3+
! RUN: %flang_fc1 -frepack-arrays -emit-llvm %s -o - | FileCheck %s
4+
5+
! CHECK-LABEL: define void @test_(
6+
! CHECK-SAME: ptr [[TMP0:%.*]]) {
7+
! CHECK: [[TMP4:%.*]] = ptrtoint ptr [[TMP0]] to i64
8+
! CHECK: [[TMP5:%.*]] = icmp ne i64 [[TMP4]], 0
9+
! CHECK: br i1 [[TMP5]], label %[[BB6:.*]], label %[[BB46:.*]]
10+
! CHECK: [[BB6]]:
11+
! CHECK: [[TMP7:%.*]] = call i1 @_FortranAIsContiguous(ptr [[TMP0]])
12+
! CHECK: [[TMP8:%.*]] = icmp eq i1 [[TMP7]], false
13+
! CHECK: [[TMP13:%.*]] = and i1 [[TMP8]], [[TMP12:.*]]
14+
! CHECK: br i1 [[TMP13]], label %[[BB14:.*]], label %[[BB46]], !prof [[PROF2:![0-9]+]]
15+
! CHECK: [[BB14]]:
16+
! CHECK: call void @_FortranAShallowCopyDirect
17+
! CHECK: br label %[[BB46]]
18+
! CHECK: [[BB46]]:
19+
! CHECK: br i1 [[TMP5]], label %[[BB48:.*]], label %[[BB57:.*]]
20+
! CHECK: [[BB48]]:
21+
! CHECK: br i1 [[TMP55:.*]], label %[[BB56:.*]], label %[[BB57]], !prof [[PROF2]]
22+
! CHECK: [[BB56]]:
23+
! CHECK: call void @_FortranAShallowCopyDirect
24+
! CHECK: br label %[[BB57]]
25+
! CHECK: [[BB57]]:
26+
! CHECK: ret void
27+
! CHECK: [[PROF2]] = !{!"branch_weights", i32 0, i32 1}
28+
subroutine test(x)
29+
real :: x(:)
30+
end subroutine test

0 commit comments

Comments
 (0)