[PATCH] D151991: [AMDGPU] Add amdgpu_cs_chain[_preserve] CCs to IR & verifier

Diana Picus via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Jun 2 06:18:15 PDT 2023


rovka created this revision.
Herald added subscribers: ormris, kerbowa, steven_wu, hiraditya, tpr, dstuttard, yaxunl, jvesely, kzhuravl.
Herald added a project: All.
rovka requested review of this revision.
Herald added subscribers: llvm-commits, wdng.
Herald added a project: LLVM.

Add the `amdgpu_cs_chain` and `amdgpu_cs_chain_preserve` keywords to
LLVM IR and make sure we can parse and print them. Also make sure we
perform some basic checks in the IR verifier - similar to what we check
for many of the other AMDGPU calling conventions, plus the additional
restriction that we can't have direct calls to functions with these
calling conventions.

[AMDGPU] Add llvm.amdgcn.cs.chain intrinsic to IR & verifier

We only check a subset of the constraints in the verifier:

- that we only call the intrinsic from functions with a restricted set of calling conventions
- that the 'flags' argument is an immediate

Other checks are more appropriate for codegen.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D151991

Files:
  llvm/include/llvm/AsmParser/LLToken.h
  llvm/include/llvm/IR/CallingConv.h
  llvm/include/llvm/IR/IntrinsicsAMDGPU.td
  llvm/lib/AsmParser/LLLexer.cpp
  llvm/lib/AsmParser/LLParser.cpp
  llvm/lib/IR/AsmWriter.cpp
  llvm/lib/IR/Verifier.cpp
  llvm/test/Assembler/amdgpu-cs-chain-cc.ll
  llvm/test/Verifier/AMDGPU/intrinsic-amdgpu-cs-chain.ll
  llvm/test/Verifier/amdgpu-cc.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D151991.527831.patch
Type: text/x-patch
Size: 14654 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20230602/b9db0f85/attachment.bin>


More information about the llvm-commits mailing list