This is an archive of the discontinued LLVM Phabricator instance.

[SPIRV] support enqueue_kernel builtin functions
ClosedPublic

Authored by iliya-diyachkov on Oct 29 2022, 5:13 AM.

Details

Summary

The patch adds support of the enqueue_kernel builtin function. It is implemented in the same way as in the SPIRV translator.

2 LIT tests are added to show the improvement.

Diff Detail

Event Timeline

iliya-diyachkov requested review of this revision.Oct 29 2022, 5:13 AM
Herald added a project: Restricted Project. · View Herald TranscriptOct 29 2022, 5:13 AM
andreytr added inline comments.Oct 29 2022, 8:51 AM
llvm/test/CodeGen/SPIRV/EnqueueEmptyKernel.ll
32

Delete these unnecessary/unused compiler's comments, please.

40–42

Missed [0-9]+ -> # conversion.

45

Remove this too.

48

-1

51

--

60

--

69

Indent.

llvm/test/CodeGen/SPIRV/transcoding/enqueue_kernel.ll
126

--

258

--

261

--

281

--

290

--

313

--

322

--

335

--

344

--

361

--

370

--

393

--

Fix issues in tests. Also update my email in llvm/CODE_OWNERS.TXT.

iliya-diyachkov marked 19 inline comments as done.Oct 29 2022, 2:05 PM

Thanks to @andreytr for noticed issues.

mpaszkowski accepted this revision.Oct 30 2022, 6:39 PM

Thanks for working on the builtins and preparing the patch! LGTM!

The testing results are also now available:
https://spirv-testing.khronos.org/job/44/

Comparing to the last main branch testing, there are no new failing tests:

https://spirv-testing.khronos.org/job/compare/44/37/

This revision is now accepted and ready to land.Oct 30 2022, 6:39 PM

Small changes (correct names: maybeGetPointerEltType->getTypedPtrEltType, getOrCreateConsNullPtr->getOrCreateConstNullPtr).