-
Notifications
You must be signed in to change notification settings - Fork 754
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[SPIR-V] Reland entry point patches (#14450)
Restores: * KhronosGroup/SPIRV-LLVM-Translator@85815e7 * KhronosGroup/SPIRV-LLVM-Translator@aded5af * `transFunctionAttrs()` part of KhronosGroup/SPIRV-LLVM-Translator@15e0aa9 And reverts 4e6a414, 6d84f3a, 6c524eb. Addresses p.2 and p.3 of #7592
- Loading branch information
Showing
35 changed files
with
235 additions
and
116 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,68 @@ | ||
;; Test to check that an LLVM spir_kernel gets translated into an | ||
;; Entrypoint wrapper and Function with LinkageAttributes | ||
; RUN: llvm-as %s -o %t.bc | ||
; RUN: llvm-spirv %t.bc -o - -spirv-text | FileCheck %s --check-prefix=CHECK-SPIRV | ||
; RUN: llvm-spirv %t.bc -o %t.spv | ||
; RUN: spirv-val %t.spv | ||
|
||
target datalayout = "e-i64:64-v16:16-v24:32-v32:32-v48:64-v96:128-v192:256-v256:256-v512:512-v1024:1024-n8:16:32:64" | ||
target triple = "spir64-unknown-unknown" | ||
|
||
define spir_kernel void @testfunction() { | ||
ret void | ||
} | ||
|
||
define spir_kernel void @callerfunction() { | ||
call spir_kernel void @testfunction() | ||
call spir_kernel void @testdeclaration() | ||
ret void | ||
} | ||
|
||
declare spir_kernel void @testdeclaration() | ||
|
||
; Check there is an entrypoint and a function produced. | ||
; CHECK-SPIRV: EntryPoint 6 [[#TestEn:]] "testfunction" | ||
; CHECK-SPIRV: EntryPoint 6 [[#CallerEn:]] "callerfunction" | ||
; CHECK-SPIRV: Name [[#TestDecl:]] "testdeclaration" | ||
; CHECK-SPIRV: Name [[#TestFn:]] "testfunction" | ||
; CHECK-SPIRV: Name [[#CallerFn:]] "callerfunction" | ||
; CHECK-SPIRV: Decorate [[#TestDecl]] LinkageAttributes "testdeclaration" Import | ||
; CHECK-SPIRV: Decorate [[#TestFn]] LinkageAttributes "testfunction" Export | ||
; CHECK-SPIRV: Decorate [[#CallerFn]] LinkageAttributes "callerfunction" Export | ||
|
||
; CHECK-SPIRV: Function [[#]] [[#TestDecl]] [[#]] [[#]] | ||
; CHECK-SPIRV-EMPTY: | ||
; CHECK-SPIRV-NEXT: FunctionEnd | ||
|
||
; CHECK-SPIRV: Function [[#]] [[#TestFn]] [[#]] [[#]] | ||
; CHECK-SPIRV-EMPTY: | ||
; CHECK-SPIRV-NEXT: Label | ||
; CHECK-SPIRV-NEXT: Return | ||
; CHECK-SPIRV-EMPTY: | ||
; CHECK-SPIRV-NEXT: FunctionEnd | ||
|
||
; CHECK-SPIRV: Function [[#]] [[#CallerFn]] [[#]] [[#]] | ||
; CHECK-SPIRV-EMPTY: | ||
; CHECK-SPIRV-NEXT: Label | ||
; CHECK-SPIRV-NEXT: FunctionCall [[#]] [[#]] [[#TestFn]] | ||
; CHECK-SPIRV-NEXT: FunctionCall [[#]] [[#]] [[#TestDecl]] | ||
; CHECK-SPIRV-NEXT: Return | ||
; CHECK-SPIRV-EMPTY: | ||
; CHECK-SPIRV-NEXT: FunctionEnd | ||
|
||
|
||
; CHECK-SPIRV: Function [[#]] [[#TestEn]] [[#]] [[#]] | ||
; CHECK-SPIRV-EMPTY: | ||
; CHECK-SPIRV-NEXT: Label | ||
; CHECK-SPIRV-NEXT: FunctionCall [[#]] [[#]] [[#TestFn]] | ||
; CHECK-SPIRV-NEXT: Return | ||
; CHECK-SPIRV-EMPTY: | ||
; CHECK-SPIRV-NEXT: FunctionEnd | ||
|
||
; CHECK-SPIRV: Function [[#]] [[#CallerEn]] [[#]] [[#]] | ||
; CHECK-SPIRV-EMPTY: | ||
; CHECK-SPIRV-NEXT: Label | ||
; CHECK-SPIRV-NEXT: FunctionCall [[#]] [[#]] [[#CallerFn]] | ||
; CHECK-SPIRV-NEXT: Return | ||
; CHECK-SPIRV-EMPTY: | ||
; CHECK-SPIRV-NEXT: FunctionEnd |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.