Skip to content

Commit 761694f

Browse files
committed
Add dependency region text (stringify tokens)
Closes llvm#2
1 parent e10b585 commit 761694f

40 files changed

+157
-156
lines changed

clang/lib/CodeGen/CGOmpSsRuntime.cpp

+9
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
#include "llvm/IR/DerivedTypes.h"
2828
#include "llvm/IR/GlobalValue.h"
2929
#include "llvm/IR/Value.h"
30+
#include "clang/Lex/Lexer.h"
3031
#include "llvm/Support/Format.h"
3132
#include "llvm/Support/raw_ostream.h"
3233
#include "clang/Sema/SemaDiagnostic.h"
@@ -1668,6 +1669,14 @@ void CGOmpSsRuntime::EmitDependencyList(
16681669
// Fill the bundle
16691670

16701671
List.push_back(DependInfoGathering.getBaseValue());
1672+
1673+
StringRef ExprStringified = Lexer::getSourceText(
1674+
CharSourceRange::getTokenRange(Dep.E->getBeginLoc(), Dep.E->getEndLoc()),
1675+
CGM.getContext().getSourceManager(), CGM.getLangOpts());
1676+
List.push_back(
1677+
llvm::ConstantDataArray::getString(
1678+
CGM.getLLVMContext(), ExprStringified));
1679+
16711680
List.push_back(ComputeDepFun);
16721681

16731682
for (const auto &p : DependInfoGathering.getInvolvedVarList()) {

clang/test/OmpSs/IR/lambda.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ void bar(int x) {
1111
}
1212

1313
// CHECK: %1 = load i32*, i32** %0, align 8
14-
// CHECK-NEXT: %2 = call token @llvm.directive.region.entry() [ "DIR.OSS"([5 x i8] c"TASK\00"), "QUAL.OSS.SHARED"(i32* %1), "QUAL.OSS.DEP.IN"(i32* %1, %struct._depend_unpack_t (i32*)* @compute_dep, i32* %1) ]
14+
// CHECK-NEXT: %2 = call token @llvm.directive.region.entry() [ "DIR.OSS"([5 x i8] c"TASK\00"), "QUAL.OSS.SHARED"(i32* %1), "QUAL.OSS.DEP.IN"(i32* %1, [2 x i8] c"x\00", %struct._depend_unpack_t (i32*)* @compute_dep, i32* %1) ]
1515
// CHECK-NEXT: %3 = load i32, i32* %1, align 4
1616
// CHECK-NEXT: %inc = add nsw i32 %3, 1
1717
// CHECK-NEXT: store i32 %inc, i32* %1, align 4

clang/test/OmpSs/IR/multi_discrete.c

+3-3
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ void constants() {
77
{}
88
}
99

10-
// CHECK: %0 = call token @llvm.directive.region.entry() [ "DIR.OSS"([5 x i8] c"TASK\00"), "QUAL.OSS.SHARED"([10 x [20 x i32]]* @v), "QUAL.OSS.PRIVATE"(i32* %i), "QUAL.OSS.PRIVATE"(i32* %j), "QUAL.OSS.MULTIDEP.RANGE.IN"(i32* %i, i32* %j, %struct._depend_unpack_t (i32*, i32*)* @compute_dep, i32* %i, i32* %j, [10 x [20 x i32]]* @v, %struct._depend_unpack_t.0 (i32*, i32*, [10 x [20 x i32]]*)* @compute_dep.2, i32* %i, i32* %j, [10 x [20 x i32]]* @v) ]
10+
// CHECK: %0 = call token @llvm.directive.region.entry() [ "DIR.OSS"([5 x i8] c"TASK\00"), "QUAL.OSS.SHARED"([10 x [20 x i32]]* @v), "QUAL.OSS.PRIVATE"(i32* %i), "QUAL.OSS.PRIVATE"(i32* %j), "QUAL.OSS.MULTIDEP.RANGE.IN"(i32* %i, i32* %j, %struct._depend_unpack_t (i32*, i32*)* @compute_dep, i32* %i, i32* %j, [10 x [20 x i32]]* @v, [40 x i8] c"{ v[i][j], i = {0, 1, 2}, j={3, 4, 5} }\00", %struct._depend_unpack_t.0 (i32*, i32*, [10 x [20 x i32]]*)* @compute_dep.2, i32* %i, i32* %j, [10 x [20 x i32]]* @v) ]
1111

1212
// CHECK: define internal %struct._depend_unpack_t @compute_dep(i32* %i, i32* %j)
1313
// CHECK: entry:
@@ -51,7 +51,7 @@ void nonconstants_int(
5151
{}
5252
}
5353

54-
// CHECK: %0 = call token @llvm.directive.region.entry() [ "DIR.OSS"([5 x i8] c"TASK\00"), "QUAL.OSS.SHARED"([10 x [20 x i32]]* @v), "QUAL.OSS.PRIVATE"(i32* %i), "QUAL.OSS.PRIVATE"(i32* %j), "QUAL.OSS.FIRSTPRIVATE"(i32* %lb1.addr), "QUAL.OSS.FIRSTPRIVATE"(i32* %lb2.addr), "QUAL.OSS.MULTIDEP.RANGE.IN"(i32* %i, i32* %j, %struct._depend_unpack_t.1 (i32*, i32*, i32*, i32*)* @compute_dep.3, i32* %i, i32* %lb1.addr, i32* %j, i32* %lb2.addr, [10 x [20 x i32]]* @v, %struct._depend_unpack_t.2 (i32*, i32*, i32*, i32*, [10 x [20 x i32]]*)* @compute_dep.4, i32* %i, i32* %j, i32* %lb1.addr, i32* %lb2.addr, [10 x [20 x i32]]* @v) ]
54+
// CHECK: %0 = call token @llvm.directive.region.entry() [ "DIR.OSS"([5 x i8] c"TASK\00"), "QUAL.OSS.SHARED"([10 x [20 x i32]]* @v), "QUAL.OSS.PRIVATE"(i32* %i), "QUAL.OSS.PRIVATE"(i32* %j), "QUAL.OSS.FIRSTPRIVATE"(i32* %lb1.addr), "QUAL.OSS.FIRSTPRIVATE"(i32* %lb2.addr), "QUAL.OSS.MULTIDEP.RANGE.IN"(i32* %i, i32* %j, %struct._depend_unpack_t.1 (i32*, i32*, i32*, i32*)* @compute_dep.3, i32* %i, i32* %lb1.addr, i32* %j, i32* %lb2.addr, [10 x [20 x i32]]* @v, [68 x i8] c"{ v[i][j], i = {lb1, lb1 + 1, lb1 + 2}, j={lb2, lb2 + 1, lb2 + 2} }\00", %struct._depend_unpack_t.2 (i32*, i32*, i32*, i32*, [10 x [20 x i32]]*)* @compute_dep.4, i32* %i, i32* %j, i32* %lb1.addr, i32* %lb2.addr, [10 x [20 x i32]]* @v) ]
5555

5656
// CHECK: define internal %struct._depend_unpack_t.1 @compute_dep.3(i32* %i, i32* %lb1, i32* %j, i32* %lb2)
5757
// CHECK: entry:
@@ -113,7 +113,7 @@ void nonconstants_short(
113113
{}
114114
}
115115

116-
// CHECK: %0 = call token @llvm.directive.region.entry() [ "DIR.OSS"([5 x i8] c"TASK\00"), "QUAL.OSS.SHARED"([10 x [20 x i32]]* @v), "QUAL.OSS.PRIVATE"(i32* %i), "QUAL.OSS.PRIVATE"(i32* %j), "QUAL.OSS.FIRSTPRIVATE"(i16* %lb1.addr), "QUAL.OSS.FIRSTPRIVATE"(i16* %lb2.addr), "QUAL.OSS.MULTIDEP.RANGE.IN"(i32* %i, i32* %j, %struct._depend_unpack_t.3 (i32*, i16*, i32*, i16*)* @compute_dep.5, i32* %i, i16* %lb1.addr, i32* %j, i16* %lb2.addr, [10 x [20 x i32]]* @v, %struct._depend_unpack_t.4 (i32*, i32*, i16*, i16*, [10 x [20 x i32]]*)* @compute_dep.6, i32* %i, i32* %j, i16* %lb1.addr, i16* %lb2.addr, [10 x [20 x i32]]* @v) ]
116+
// CHECK: %0 = call token @llvm.directive.region.entry() [ "DIR.OSS"([5 x i8] c"TASK\00"), "QUAL.OSS.SHARED"([10 x [20 x i32]]* @v), "QUAL.OSS.PRIVATE"(i32* %i), "QUAL.OSS.PRIVATE"(i32* %j), "QUAL.OSS.FIRSTPRIVATE"(i16* %lb1.addr), "QUAL.OSS.FIRSTPRIVATE"(i16* %lb2.addr), "QUAL.OSS.MULTIDEP.RANGE.IN"(i32* %i, i32* %j, %struct._depend_unpack_t.3 (i32*, i16*, i32*, i16*)* @compute_dep.5, i32* %i, i16* %lb1.addr, i32* %j, i16* %lb2.addr, [10 x [20 x i32]]* @v, [68 x i8] c"{ v[i][j], i = {lb1, lb1 + 1, lb1 + 2}, j={lb2, lb2 + 1, lb2 + 2} }\00", %struct._depend_unpack_t.4 (i32*, i32*, i16*, i16*, [10 x [20 x i32]]*)* @compute_dep.6, i32* %i, i32* %j, i16* %lb1.addr, i16* %lb2.addr, [10 x [20 x i32]]* @v) ]
117117

118118
// CHECK: define internal %struct._depend_unpack_t.3 @compute_dep.5(i32* %i, i16* %lb1, i32* %j, i16* %lb2)
119119
// CHECK: entry:

clang/test/OmpSs/IR/multi_discrete.cpp

+3-3
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,9 @@ void f() {
2222
nonconstants<short>();
2323
}
2424

25-
// CHECK: %0 = call token @llvm.directive.region.entry() [ "DIR.OSS"([5 x i8] c"TASK\00"), "QUAL.OSS.SHARED"([10 x [20 x i32]]* @v), "QUAL.OSS.PRIVATE"(i32* %i), "QUAL.OSS.PRIVATE"(i32* %j), "QUAL.OSS.MULTIDEP.RANGE.IN"(i32* %i, i32* %j, %struct._depend_unpack_t (i32*, i32*)* @compute_dep, i32* %i, i32* %j, [10 x [20 x i32]]* @v, %struct._depend_unpack_t.0 (i32*, i32*, [10 x [20 x i32]]*)* @compute_dep.2, i32* %i, i32* %j, [10 x [20 x i32]]* @v) ]
26-
// CHECK: %0 = call token @llvm.directive.region.entry() [ "DIR.OSS"([5 x i8] c"TASK\00"), "QUAL.OSS.SHARED"([10 x [20 x i32]]* @v), "QUAL.OSS.PRIVATE"(i32* %i), "QUAL.OSS.PRIVATE"(i32* %j), "QUAL.OSS.FIRSTPRIVATE"(i32* %lb1), "QUAL.OSS.FIRSTPRIVATE"(i32* %lb2), "QUAL.OSS.MULTIDEP.RANGE.IN"(i32* %i, i32* %j, %struct._depend_unpack_t.1 (i32*, i32*, i32*, i32*)* @compute_dep.3, i32* %i, i32* %lb1, i32* %j, i32* %lb2, [10 x [20 x i32]]* @v, %struct._depend_unpack_t.2 (i32*, i32*, i32*, i32*, [10 x [20 x i32]]*)* @compute_dep.4, i32* %i, i32* %j, i32* %lb1, i32* %lb2, [10 x [20 x i32]]* @v) ]
27-
// CHECK: %0 = call token @llvm.directive.region.entry() [ "DIR.OSS"([5 x i8] c"TASK\00"), "QUAL.OSS.SHARED"([10 x [20 x i32]]* @v), "QUAL.OSS.PRIVATE"(i32* %i), "QUAL.OSS.PRIVATE"(i32* %j), "QUAL.OSS.FIRSTPRIVATE"(i16* %lb1), "QUAL.OSS.FIRSTPRIVATE"(i16* %lb2), "QUAL.OSS.MULTIDEP.RANGE.IN"(i32* %i, i32* %j, %struct._depend_unpack_t.3 (i32*, i16*, i32*, i16*)* @compute_dep.5, i32* %i, i16* %lb1, i32* %j, i16* %lb2, [10 x [20 x i32]]* @v, %struct._depend_unpack_t.4 (i32*, i32*, i16*, i16*, [10 x [20 x i32]]*)* @compute_dep.6, i32* %i, i32* %j, i16* %lb1, i16* %lb2, [10 x [20 x i32]]* @v) ]
25+
// CHECK: %0 = call token @llvm.directive.region.entry() [ "DIR.OSS"([5 x i8] c"TASK\00"), "QUAL.OSS.SHARED"([10 x [20 x i32]]* @v), "QUAL.OSS.PRIVATE"(i32* %i), "QUAL.OSS.PRIVATE"(i32* %j), "QUAL.OSS.MULTIDEP.RANGE.IN"(i32* %i, i32* %j, %struct._depend_unpack_t (i32*, i32*)* @compute_dep, i32* %i, i32* %j, [10 x [20 x i32]]* @v, [40 x i8] c"{ v[i][j], i = {0, 1, 2}, j={3, 4, 5} }\00", %struct._depend_unpack_t.0 (i32*, i32*, [10 x [20 x i32]]*)* @compute_dep.2, i32* %i, i32* %j, [10 x [20 x i32]]* @v) ]
26+
// CHECK: %0 = call token @llvm.directive.region.entry() [ "DIR.OSS"([5 x i8] c"TASK\00"), "QUAL.OSS.SHARED"([10 x [20 x i32]]* @v), "QUAL.OSS.PRIVATE"(i32* %i), "QUAL.OSS.PRIVATE"(i32* %j), "QUAL.OSS.FIRSTPRIVATE"(i32* %lb1), "QUAL.OSS.FIRSTPRIVATE"(i32* %lb2), "QUAL.OSS.MULTIDEP.RANGE.IN"(i32* %i, i32* %j, %struct._depend_unpack_t.1 (i32*, i32*, i32*, i32*)* @compute_dep.3, i32* %i, i32* %lb1, i32* %j, i32* %lb2, [10 x [20 x i32]]* @v, [68 x i8] c"{ v[i][j], i = {lb1, lb1 + 1, lb1 + 2}, j={lb2, lb2 + 1, lb2 + 2} }\00", %struct._depend_unpack_t.2 (i32*, i32*, i32*, i32*, [10 x [20 x i32]]*)* @compute_dep.4, i32* %i, i32* %j, i32* %lb1, i32* %lb2, [10 x [20 x i32]]* @v) ]
27+
// CHECK: %0 = call token @llvm.directive.region.entry() [ "DIR.OSS"([5 x i8] c"TASK\00"), "QUAL.OSS.SHARED"([10 x [20 x i32]]* @v), "QUAL.OSS.PRIVATE"(i32* %i), "QUAL.OSS.PRIVATE"(i32* %j), "QUAL.OSS.FIRSTPRIVATE"(i16* %lb1), "QUAL.OSS.FIRSTPRIVATE"(i16* %lb2), "QUAL.OSS.MULTIDEP.RANGE.IN"(i32* %i, i32* %j, %struct._depend_unpack_t.3 (i32*, i16*, i32*, i16*)* @compute_dep.5, i32* %i, i16* %lb1, i32* %j, i16* %lb2, [10 x [20 x i32]]* @v, [68 x i8] c"{ v[i][j], i = {lb1, lb1 + 1, lb1 + 2}, j={lb2, lb2 + 1, lb2 + 2} }\00", %struct._depend_unpack_t.4 (i32*, i32*, i16*, i16*, [10 x [20 x i32]]*)* @compute_dep.6, i32* %i, i32* %j, i16* %lb1, i16* %lb2, [10 x [20 x i32]]* @v) ]
2828

2929
// CHECK: define internal %struct._depend_unpack_t @compute_dep(i32* %i, i32* %j)
3030
// CHECK: entry:

clang/test/OmpSs/IR/multi_range.c

+6-6
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@ void constants() {
99
{}
1010
}
1111

12-
// CHECK: %0 = call token @llvm.directive.region.entry() [ "DIR.OSS"([5 x i8] c"TASK\00"), "QUAL.OSS.SHARED"([10 x [20 x i32]]* @v), "QUAL.OSS.PRIVATE"(i32* %i), "QUAL.OSS.PRIVATE"(i32* %j), "QUAL.OSS.MULTIDEP.RANGE.IN"(i32* %i, i32* %j, %struct._depend_unpack_t (i32*, i32*)* @compute_dep, i32* %i, i32* %j, [10 x [20 x i32]]* @v, %struct._depend_unpack_t.0 (i32*, i32*, [10 x [20 x i32]]*)* @compute_dep.1, i32* %i, i32* %j, [10 x [20 x i32]]* @v) ]
13-
// CHECK: %1 = call token @llvm.directive.region.entry() [ "DIR.OSS"([5 x i8] c"TASK\00"), "QUAL.OSS.SHARED"([10 x [20 x i32]]* @v), "QUAL.OSS.PRIVATE"(i32* %i1), "QUAL.OSS.PRIVATE"(i32* %j2), "QUAL.OSS.MULTIDEP.RANGE.IN"(i32* %i1, i32* %j2, %struct._depend_unpack_t.1 (i32*, i32*)* @compute_dep.2, i32* %i1, i32* %j2, [10 x [20 x i32]]* @v, %struct._depend_unpack_t.2 (i32*, i32*, [10 x [20 x i32]]*)* @compute_dep.3, i32* %i1, i32* %j2, [10 x [20 x i32]]* @v) ]
12+
// CHECK: %0 = call token @llvm.directive.region.entry() [ "DIR.OSS"([5 x i8] c"TASK\00"), "QUAL.OSS.SHARED"([10 x [20 x i32]]* @v), "QUAL.OSS.PRIVATE"(i32* %i), "QUAL.OSS.PRIVATE"(i32* %j), "QUAL.OSS.MULTIDEP.RANGE.IN"(i32* %i, i32* %j, %struct._depend_unpack_t (i32*, i32*)* @compute_dep, i32* %i, i32* %j, [10 x [20 x i32]]* @v, [32 x i8] c"{ v[i][j], i = 0:10-1, j=0;20 }\00", %struct._depend_unpack_t.0 (i32*, i32*, [10 x [20 x i32]]*)* @compute_dep.1, i32* %i, i32* %j, [10 x [20 x i32]]* @v) ]
13+
// CHECK: %1 = call token @llvm.directive.region.entry() [ "DIR.OSS"([5 x i8] c"TASK\00"), "QUAL.OSS.SHARED"([10 x [20 x i32]]* @v), "QUAL.OSS.PRIVATE"(i32* %i1), "QUAL.OSS.PRIVATE"(i32* %j2), "QUAL.OSS.MULTIDEP.RANGE.IN"(i32* %i1, i32* %j2, %struct._depend_unpack_t.1 (i32*, i32*)* @compute_dep.2, i32* %i1, i32* %j2, [10 x [20 x i32]]* @v, [36 x i8] c"{ v[i][j], i = 0:10-1:1, j=0;20:1 }\00", %struct._depend_unpack_t.2 (i32*, i32*, [10 x [20 x i32]]*)* @compute_dep.3, i32* %i1, i32* %j2, [10 x [20 x i32]]* @v) ]
1414

1515
// CHECK: define internal %struct._depend_unpack_t @compute_dep(i32* %i, i32* %j)
1616
// CHECK: entry:
@@ -73,8 +73,8 @@ void nonconstants_int(
7373
{}
7474
}
7575

76-
// CHECK: %2 = call token @llvm.directive.region.entry() [ "DIR.OSS"([5 x i8] c"TASK\00"), "QUAL.OSS.SHARED"([10 x [20 x i32]]* @v), "QUAL.OSS.PRIVATE"(i32* %i), "QUAL.OSS.PRIVATE"(i32* %j), "QUAL.OSS.FIRSTPRIVATE"(i32* %lb1.addr), "QUAL.OSS.FIRSTPRIVATE"(i32* %ub1.addr), "QUAL.OSS.FIRSTPRIVATE"(i32* %lb2.addr), "QUAL.OSS.FIRSTPRIVATE"(i32* %ub2.addr), "QUAL.OSS.MULTIDEP.RANGE.IN"(i32* %i, i32* %j, %struct._depend_unpack_t.3 (i32*, i32*, i32*, i32*, i32*, i32*)* @compute_dep.4, i32* %i, i32* %lb1.addr, i32* %ub1.addr, i32* %j, i32* %lb2.addr, i32* %ub2.addr, [10 x [20 x i32]]* @v, %struct._depend_unpack_t.4 (i32*, i32*, i32*, i32*, i32*, i32*, [10 x [20 x i32]]*)* @compute_dep.5, i32* %i, i32* %j, i32* %lb1.addr, i32* %lb2.addr, i32* %ub1.addr, i32* %ub2.addr, [10 x [20 x i32]]* @v) ]
77-
// CHECK: %5 = call token @llvm.directive.region.entry() [ "DIR.OSS"([5 x i8] c"TASK\00"), "QUAL.OSS.SHARED"([10 x [20 x i32]]* @v), "QUAL.OSS.PRIVATE"(i32* %i1), "QUAL.OSS.PRIVATE"(i32* %j2), "QUAL.OSS.FIRSTPRIVATE"(i32* %lb1.addr), "QUAL.OSS.FIRSTPRIVATE"(i32* %ub1.addr), "QUAL.OSS.FIRSTPRIVATE"(i32* %step1.addr), "QUAL.OSS.FIRSTPRIVATE"(i32* %lb2.addr), "QUAL.OSS.FIRSTPRIVATE"(i32* %ub2.addr), "QUAL.OSS.FIRSTPRIVATE"(i32* %step2.addr), "QUAL.OSS.MULTIDEP.RANGE.IN"(i32* %i1, i32* %j2, %struct._depend_unpack_t.5 (i32*, i32*, i32*, i32*, i32*, i32*, i32*, i32*)* @compute_dep.6, i32* %i1, i32* %lb1.addr, i32* %ub1.addr, i32* %step1.addr, i32* %j2, i32* %lb2.addr, i32* %ub2.addr, i32* %step2.addr, [10 x [20 x i32]]* @v, %struct._depend_unpack_t.6 (i32*, i32*, i32*, i32*, i32*, i32*, i32*, i32*, [10 x [20 x i32]]*)* @compute_dep.7, i32* %i1, i32* %j2, i32* %lb1.addr, i32* %lb2.addr, i32* %ub1.addr, i32* %ub2.addr, i32* %step1.addr, i32* %step2.addr, [10 x [20 x i32]]* @v) ]
76+
// CHECK: %2 = call token @llvm.directive.region.entry() [ "DIR.OSS"([5 x i8] c"TASK\00"), "QUAL.OSS.SHARED"([10 x [20 x i32]]* @v), "QUAL.OSS.PRIVATE"(i32* %i), "QUAL.OSS.PRIVATE"(i32* %j), "QUAL.OSS.FIRSTPRIVATE"(i32* %lb1.addr), "QUAL.OSS.FIRSTPRIVATE"(i32* %ub1.addr), "QUAL.OSS.FIRSTPRIVATE"(i32* %lb2.addr), "QUAL.OSS.FIRSTPRIVATE"(i32* %ub2.addr), "QUAL.OSS.MULTIDEP.RANGE.IN"(i32* %i, i32* %j, %struct._depend_unpack_t.3 (i32*, i32*, i32*, i32*, i32*, i32*)* @compute_dep.4, i32* %i, i32* %lb1.addr, i32* %ub1.addr, i32* %j, i32* %lb2.addr, i32* %ub2.addr, [10 x [20 x i32]]* @v, [36 x i8] c"{ v[i][j], i = lb1:ub1, j=lb2;ub2 }\00", %struct._depend_unpack_t.4 (i32*, i32*, i32*, i32*, i32*, i32*, [10 x [20 x i32]]*)* @compute_dep.5, i32* %i, i32* %j, i32* %lb1.addr, i32* %lb2.addr, i32* %ub1.addr, i32* %ub2.addr, [10 x [20 x i32]]* @v) ]
77+
// CHECK: %5 = call token @llvm.directive.region.entry() [ "DIR.OSS"([5 x i8] c"TASK\00"), "QUAL.OSS.SHARED"([10 x [20 x i32]]* @v), "QUAL.OSS.PRIVATE"(i32* %i1), "QUAL.OSS.PRIVATE"(i32* %j2), "QUAL.OSS.FIRSTPRIVATE"(i32* %lb1.addr), "QUAL.OSS.FIRSTPRIVATE"(i32* %ub1.addr), "QUAL.OSS.FIRSTPRIVATE"(i32* %step1.addr), "QUAL.OSS.FIRSTPRIVATE"(i32* %lb2.addr), "QUAL.OSS.FIRSTPRIVATE"(i32* %ub2.addr), "QUAL.OSS.FIRSTPRIVATE"(i32* %step2.addr), "QUAL.OSS.MULTIDEP.RANGE.IN"(i32* %i1, i32* %j2, %struct._depend_unpack_t.5 (i32*, i32*, i32*, i32*, i32*, i32*, i32*, i32*)* @compute_dep.6, i32* %i1, i32* %lb1.addr, i32* %ub1.addr, i32* %step1.addr, i32* %j2, i32* %lb2.addr, i32* %ub2.addr, i32* %step2.addr, [10 x [20 x i32]]* @v, [48 x i8] c"{ v[i][j], i = lb1:ub1:step1, j=lb2;ub2:step2 }\00", %struct._depend_unpack_t.6 (i32*, i32*, i32*, i32*, i32*, i32*, i32*, i32*, [10 x [20 x i32]]*)* @compute_dep.7, i32* %i1, i32* %j2, i32* %lb1.addr, i32* %lb2.addr, i32* %ub1.addr, i32* %ub2.addr, i32* %step1.addr, i32* %step2.addr, [10 x [20 x i32]]* @v) ]
7878

7979

8080
// CHECK: define internal %struct._depend_unpack_t.3 @compute_dep.4(i32* %i, i32* %lb1, i32* %ub1, i32* %j, i32* %lb2, i32* %ub2)
@@ -151,8 +151,8 @@ void nonconstants_short(
151151
{}
152152
}
153153

154-
// CHECK: %2 = call token @llvm.directive.region.entry() [ "DIR.OSS"([5 x i8] c"TASK\00"), "QUAL.OSS.SHARED"([10 x [20 x i32]]* @v), "QUAL.OSS.PRIVATE"(i32* %i), "QUAL.OSS.PRIVATE"(i32* %j), "QUAL.OSS.FIRSTPRIVATE"(i16* %lb1.addr), "QUAL.OSS.FIRSTPRIVATE"(i16* %ub1.addr), "QUAL.OSS.FIRSTPRIVATE"(i16* %lb2.addr), "QUAL.OSS.FIRSTPRIVATE"(i16* %ub2.addr), "QUAL.OSS.MULTIDEP.RANGE.IN"(i32* %i, i32* %j, %struct._depend_unpack_t.7 (i32*, i16*, i16*, i32*, i16*, i16*)* @compute_dep.8, i32* %i, i16* %lb1.addr, i16* %ub1.addr, i32* %j, i16* %lb2.addr, i16* %ub2.addr, [10 x [20 x i32]]* @v, %struct._depend_unpack_t.8 (i32*, i32*, i16*, i16*, i16*, i16*, [10 x [20 x i32]]*)* @compute_dep.9, i32* %i, i32* %j, i16* %lb1.addr, i16* %lb2.addr, i16* %ub1.addr, i16* %ub2.addr, [10 x [20 x i32]]* @v) ]
155-
// CHECK: %5 = call token @llvm.directive.region.entry() [ "DIR.OSS"([5 x i8] c"TASK\00"), "QUAL.OSS.SHARED"([10 x [20 x i32]]* @v), "QUAL.OSS.PRIVATE"(i32* %i2), "QUAL.OSS.PRIVATE"(i32* %j4), "QUAL.OSS.FIRSTPRIVATE"(i16* %lb1.addr), "QUAL.OSS.FIRSTPRIVATE"(i16* %ub1.addr), "QUAL.OSS.FIRSTPRIVATE"(i16* %step1.addr), "QUAL.OSS.FIRSTPRIVATE"(i16* %lb2.addr), "QUAL.OSS.FIRSTPRIVATE"(i16* %ub2.addr), "QUAL.OSS.FIRSTPRIVATE"(i16* %step2.addr), "QUAL.OSS.MULTIDEP.RANGE.IN"(i32* %i2, i32* %j4, %struct._depend_unpack_t.9 (i32*, i16*, i16*, i16*, i32*, i16*, i16*, i16*)* @compute_dep.10, i32* %i2, i16* %lb1.addr, i16* %ub1.addr, i16* %step1.addr, i32* %j4, i16* %lb2.addr, i16* %ub2.addr, i16* %step2.addr, [10 x [20 x i32]]* @v, %struct._depend_unpack_t.10 (i32*, i32*, i16*, i16*, i16*, i16*, i16*, i16*, [10 x [20 x i32]]*)* @compute_dep.11, i32* %i2, i32* %j4, i16* %lb1.addr, i16* %lb2.addr, i16* %ub1.addr, i16* %ub2.addr, i16* %step1.addr, i16* %step2.addr, [10 x [20 x i32]]* @v) ]
154+
// CHECK: %2 = call token @llvm.directive.region.entry() [ "DIR.OSS"([5 x i8] c"TASK\00"), "QUAL.OSS.SHARED"([10 x [20 x i32]]* @v), "QUAL.OSS.PRIVATE"(i32* %i), "QUAL.OSS.PRIVATE"(i32* %j), "QUAL.OSS.FIRSTPRIVATE"(i16* %lb1.addr), "QUAL.OSS.FIRSTPRIVATE"(i16* %ub1.addr), "QUAL.OSS.FIRSTPRIVATE"(i16* %lb2.addr), "QUAL.OSS.FIRSTPRIVATE"(i16* %ub2.addr), "QUAL.OSS.MULTIDEP.RANGE.IN"(i32* %i, i32* %j, %struct._depend_unpack_t.7 (i32*, i16*, i16*, i32*, i16*, i16*)* @compute_dep.8, i32* %i, i16* %lb1.addr, i16* %ub1.addr, i32* %j, i16* %lb2.addr, i16* %ub2.addr, [10 x [20 x i32]]* @v, [36 x i8] c"{ v[i][j], i = lb1:ub1, j=lb2;ub2 }\00", %struct._depend_unpack_t.8 (i32*, i32*, i16*, i16*, i16*, i16*, [10 x [20 x i32]]*)* @compute_dep.9, i32* %i, i32* %j, i16* %lb1.addr, i16* %lb2.addr, i16* %ub1.addr, i16* %ub2.addr, [10 x [20 x i32]]* @v) ]
155+
// CHECK: %5 = call token @llvm.directive.region.entry() [ "DIR.OSS"([5 x i8] c"TASK\00"), "QUAL.OSS.SHARED"([10 x [20 x i32]]* @v), "QUAL.OSS.PRIVATE"(i32* %i2), "QUAL.OSS.PRIVATE"(i32* %j4), "QUAL.OSS.FIRSTPRIVATE"(i16* %lb1.addr), "QUAL.OSS.FIRSTPRIVATE"(i16* %ub1.addr), "QUAL.OSS.FIRSTPRIVATE"(i16* %step1.addr), "QUAL.OSS.FIRSTPRIVATE"(i16* %lb2.addr), "QUAL.OSS.FIRSTPRIVATE"(i16* %ub2.addr), "QUAL.OSS.FIRSTPRIVATE"(i16* %step2.addr), "QUAL.OSS.MULTIDEP.RANGE.IN"(i32* %i2, i32* %j4, %struct._depend_unpack_t.9 (i32*, i16*, i16*, i16*, i32*, i16*, i16*, i16*)* @compute_dep.10, i32* %i2, i16* %lb1.addr, i16* %ub1.addr, i16* %step1.addr, i32* %j4, i16* %lb2.addr, i16* %ub2.addr, i16* %step2.addr, [10 x [20 x i32]]* @v, [48 x i8] c"{ v[i][j], i = lb1:ub1:step1, j=lb2;ub2:step2 }\00", %struct._depend_unpack_t.10 (i32*, i32*, i16*, i16*, i16*, i16*, i16*, i16*, [10 x [20 x i32]]*)* @compute_dep.11, i32* %i2, i32* %j4, i16* %lb1.addr, i16* %lb2.addr, i16* %ub1.addr, i16* %ub2.addr, i16* %step1.addr, i16* %step2.addr, [10 x [20 x i32]]* @v) ]
156156

157157
// CHECK: define internal %struct._depend_unpack_t.7 @compute_dep.8(i32* %i, i16* %lb1, i16* %ub1, i32* %j, i16* %lb2, i16* %ub2)
158158
// CHECK: entry:

0 commit comments

Comments
 (0)