Skip to content

Commit 79361b8

Browse files
committed
Fix length in bool dependencies
Fixes llvm#145
1 parent a4da49c commit 79361b8

File tree

2 files changed

+24
-2
lines changed

2 files changed

+24
-2
lines changed

clang/lib/CodeGen/CGOmpSsRuntime.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1709,8 +1709,8 @@ void CGOmpSsRuntime::EmitDependencyList(
17091709
uint64_t BaseElementSize =
17101710
NewCGF.CGM
17111711
.getDataLayout()
1712-
.getTypeSizeInBits(NewCGF
1713-
.ConvertType(BaseElementTy))/8;
1712+
.getTypeStoreSize(NewCGF
1713+
.ConvertType(BaseElementTy));
17141714

17151715
List.push_back(Ptr);
17161716
bool First = true;

clang/test/OmpSs/IR/task_depend3.cpp

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -223,3 +223,25 @@ void foo2() {
223223
// CHECK-NEXT: %4 = load %struct._depend_unpack_t.6, %struct._depend_unpack_t.6* %retval, align 8
224224
// CHECK-NEXT: ret %struct._depend_unpack_t.6 %4
225225
// CHECK-NEXT: }
226+
227+
void foo3(bool b) {
228+
#pragma oss task in(b)
229+
{}
230+
}
231+
232+
// CHECK: define internal %struct._depend_unpack_t.7 @compute_dep.8(i8* %b)
233+
// CHECK-NEXT: entry:
234+
// CHECK-NEXT: %retval = alloca %struct._depend_unpack_t.7, align 8
235+
// CHECK-NEXT: %b.addr = alloca i8*, align 8
236+
// CHECK-NEXT: store i8* %b, i8** %b.addr, align 8
237+
// CHECK-NEXT: %0 = getelementptr inbounds %struct._depend_unpack_t.7, %struct._depend_unpack_t.7* %retval, i32 0, i32 0
238+
// CHECK-NEXT: store i8* %b, i8** %0, align 8
239+
// CHECK-NEXT: %1 = getelementptr inbounds %struct._depend_unpack_t.7, %struct._depend_unpack_t.7* %retval, i32 0, i32 1
240+
// CHECK-NEXT: store i64 1, i64* %1, align 8
241+
// CHECK-NEXT: %2 = getelementptr inbounds %struct._depend_unpack_t.7, %struct._depend_unpack_t.7* %retval, i32 0, i32 2
242+
// CHECK-NEXT: store i64 0, i64* %2, align 8
243+
// CHECK-NEXT: %3 = getelementptr inbounds %struct._depend_unpack_t.7, %struct._depend_unpack_t.7* %retval, i32 0, i32 3
244+
// CHECK-NEXT: store i64 1, i64* %3, align 8
245+
// CHECK-NEXT: %4 = load %struct._depend_unpack_t.7, %struct._depend_unpack_t.7* %retval, align 8
246+
// CHECK-NEXT: ret %struct._depend_unpack_t.7 %4
247+
// CHECK-NEXT: }

0 commit comments

Comments
 (0)