[PATCH] D119917: [Support] Add CSKY target parser and attributes parser

Zixuan Wu via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Feb 15 23:49:04 PST 2022


zixuan-wu created this revision.
zixuan-wu added reviewers: rengolin, ARMDavidSpickett, DavidSpickett, MaskRay, Hsiang-Kai.
Herald added subscribers: dexonsmith, jdoerfert, hiraditya, mgorny.
zixuan-wu requested review of this revision.
Herald added a project: LLVM.
Herald added a subscriber: llvm-commits.

Construct LLVM Support module about CSKY target parser and attribute parser. It refers implementation of GNU binutils and GCC.

Now we only support CSKY 800 series cpus and newer cpus in the future undering CSKYv2 ABI specification. There are 11 archs including ck801, ck802, ck803, ck803s, ck804, ck805, ck807, ck810, ck810v, ck860, ck860v.

Every arch has base extensions, the cpus of that arch family have more extended extensions than base extensions. We need specify extended extensions for every cpu. Every extension has its enum value, name and related llvm feature string with +/-. Every enum value represents a bit of uint64_t integer.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D119917

Files:
  llvm/include/llvm/BinaryFormat/ELF.h
  llvm/include/llvm/Support/CSKYAttributeParser.h
  llvm/include/llvm/Support/CSKYAttributes.h
  llvm/include/llvm/Support/CSKYTargetParser.def
  llvm/include/llvm/Support/CSKYTargetParser.h
  llvm/lib/Support/CMakeLists.txt
  llvm/lib/Support/CSKYAttributeParser.cpp
  llvm/lib/Support/CSKYAttributes.cpp
  llvm/lib/Support/CSKYTargetParser.cpp
  llvm/lib/Target/CSKY/AsmParser/CSKYAsmParser.cpp
  llvm/unittests/Support/CMakeLists.txt
  llvm/unittests/Support/CSKYAttributeParserTest.cpp
  llvm/unittests/Support/CSKYTargetParserTest.cpp
  llvm/utils/gn/secondary/llvm/unittests/Support/BUILD.gn

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D119917.409159.patch
Type: text/x-patch
Size: 123512 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20220216/24307ba4/attachment-0001.bin>


More information about the llvm-commits mailing list