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
31

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

39–41

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

44

Remove this too.

47

-1

50

--

59

--

68

Indent.

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

--

257

--

260

--

280

--

289

--

312

--

321

--

334

--

343

--

360

--

369

--

392

--

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).