+13
-8
lines changedFilter options
+13
-8
lines changed Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
1
1
/*========================== begin_copyright_notice ============================
2
2
3
-
Copyright (C) 2020-2024 Intel Corporation
3
+
Copyright (C) 2020-2025 Intel Corporation
4
4
5
5
SPDX-License-Identifier: MIT
6
6
@@ -192,6 +192,8 @@ Type *SEVUtil::getTypeFreeFromSEV(Type *Ty) {
192
192
// Returns SEV-rich analogue of Type Ty accordingly to the following scheme:
193
193
// U*...**...* ---> <1 x U*...*>*...*
194
194
Type *SEVUtil::getTypeWithSEV(Type *Ty, size_t InnerPointers) {
195
+
if (VCINTR::Type::isOpaquePointerTy(Ty) && InnerPointers > 0)
196
+
return Ty;
195
197
if (auto *VecTy = dyn_cast<VectorType>(Ty)) {
196
198
(void)VecTy;
197
199
assert(InnerPointers == 0);
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
1
1
;=========================== begin_copyright_notice ============================
2
2
;
3
-
; Copyright (C) 2024 Intel Corporation
3
+
; Copyright (C) 2024-2025 Intel Corporation
4
4
;
5
5
; SPDX-License-Identifier: MIT
6
6
;
@@ -9,11 +9,11 @@
9
9
; REQUIRES: opaque-pointers
10
10
; RUN: opt -passes=GenXSPIRVReaderAdaptor -S < %s | FileCheck %s
11
11
12
-
define internal void @foo(ptr "VCSingleElementVector"="0" %v) #0 {
13
-
; CHECK: [[EX:[^ ]+]] = extractelement <1 x ptr> %v, i64 0
14
-
; CHECK-NEXT: [[LD:[^ ]+]] = load i32, ptr [[EX]], align 4
15
-
%ld = load i32, ptr %v, align 4
16
-
ret void
12
+
define internal "VCSingleElementVector"="1" ptr @foo(ptr "VCSingleElementVector"="2" %in, ptr "VCSingleElementVector"="3" %out) #0 {
13
+
; CHECK: store ptr %in, ptr %out, align 8
14
+
; CHECK-NEXT: ret ptr %out
15
+
store ptr %in, ptr %out, align 8
16
+
ret ptr %out
17
17
}
18
18
19
19
define internal "VCSingleElementVector"="0" ptr @bar(ptr "VCSingleElementVector"="0" %in, ptr "VCSingleElementVector"="0" %out) #0 {
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
1
1
;=========================== begin_copyright_notice ============================
2
2
;
3
-
; Copyright (C) 2024 Intel Corporation
3
+
; Copyright (C) 2024-2025 Intel Corporation
4
4
;
5
5
; SPDX-License-Identifier: MIT
6
6
;
@@ -14,9 +14,11 @@
14
14
; CHECK: @global1 = internal global <1 x i32> undef, align 4
15
15
; CHECK: @global2 = internal global <1 x ptr> undef, align 4
16
16
; CHECK: @global3 = external global <1 x ptr>
17
+
; CHECK: @global4 = external global ptr
17
18
@global1 = internal global i32 undef, align 4 #1
18
19
@global2 = internal global ptr undef, align 4 #1
19
20
@global3 = external global ptr #1
21
+
@global4 = external global ptr #2
20
22
21
23
; CHECK: define <1 x i32> @f1(<1 x i32> %a, <1 x i32> %b)
22
24
define "VCSingleElementVector"="0" i32 @f1(i32 "VCSingleElementVector" %a, i32 "VCSingleElementVector" %b) #0 {
@@ -52,3 +54,4 @@ declare void @llvm.genx.intr(ptr)
52
54
53
55
attributes #0 = { "VCFunction" }
54
56
attributes #1 = { "VCGlobalVariable" "VCSingleElementVector"="0" }
57
+
attributes #2 = { "VCGlobalVariable" "VCSingleElementVector"="1" }
You can’t perform that action at this time.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4