[clang] Introduce target-specific Sema components (#93179)

This patch introduces `SemaAMDGPU`, `SemaARM`, `SemaBPF`, `SemaHexagon`,
`SemaLoongArch`, `SemaMIPS`, `SemaNVPTX`, `SemaPPC`, `SemaSystemZ`,
`SemaWasm`. This continues previous efforts to split Sema up. Additional
context can be found in #84184 and #92682.

I decided to bundle target-specific components together because of their
low impact on `Sema`. That said, their impact on `SemaChecking.cpp` is
far from low, and I consider it a success.

Somewhat accidentally, I also moved Wasm- and AMDGPU-specific function
from `SemaDeclAttr.cpp`, because they were exposed in `Sema`. That went
well, and I consider it a success, too. I'd like to move the rest of
static target-specific functions out of `SemaDeclAttr.cpp` like we're
doing with built-ins in `SemaChecking.cpp` .
This commit is contained in:
Vlad Serebrennikov
2024-05-30 19:59:59 +04:00
committed by GitHub
parent b62ba7f5b1
commit ed35a92c40
32 changed files with 4246 additions and 3496 deletions

View File

@@ -749,6 +749,8 @@ backend:ARM:
- clang/lib/CodeGen/Targets/ARM.cpp
- clang/include/clang/Basic/BuiltinsARM*
- llvm/test/MC/DisasemblerARM/**
- clang/include/clang/Sema/SemaARM.h
- clang/lib/Sema/SemaARM.cpp
backend:AArch64:
- llvm/include/llvm/IR/IntrinsicsAArch64.td
@@ -760,6 +762,8 @@ backend:AArch64:
- clang/lib/CodeGen/Targets/AArch64.cpp
- clang/include/clang/Basic/BuiltinsAArch64*
- llvm/test/MC/Disassembler/AArch64/**
- clang/include/clang/Sema/SemaARM.h
- clang/lib/Sema/SemaARM.cpp
backend:loongarch:
- llvm/include/llvm/IR/IntrinsicsLoongArch.td
@@ -770,6 +774,8 @@ backend:loongarch:
- clang/lib/Driver/ToolChains/Arch/LoongArch.*
- clang/lib/CodeGen/Targets/LoongArch.cpp
- clang/include/clang/Basic/BuiltinsLoongArch*
- clang/include/clang/Sema/SemaLoongArch.h
- clang/lib/Sema/SemaLoongArch.cpp
backend:MSP430:
- llvm/include/llvm/IR/IntrinsicsMSP430.td
@@ -817,6 +823,8 @@ backend:WebAssembly:
- llvm/unittests/Target/WebAssembly/**
- llvm/test/DebugInfo/WebAssembly/**
- llvm/test/MC/WebAssembly/**
- clang/include/clang/Sema/SemaWasm.h
- clang/lib/Sema/SemaLoongWasm.cpp
backend:X86:
- llvm/include/llvm/IR/IntrinsicsX86.td
@@ -836,6 +844,8 @@ backend:X86:
- llvm/include/llvm/TargetParser/X86*
- llvm/lib/TargetParser/X86*
- llvm/utils/TableGen/X86*
- clang/include/clang/Sema/SemaX86.h
- clang/lib/Sema/SemaX86.cpp
backend:PowerPC:
- llvm/include/llvm/BinaryFormat/ELFRelocs/PowerPC*
@@ -860,6 +870,8 @@ backend:PowerPC:
- clang/lib/Driver/ToolChains/AIX*
- clang/lib/Driver/ToolChains/Arch/PPC.*
- clang/test/CodeGen/PowerPC/**
- clang/include/clang/Sema/SemaPPC.h
- clang/lib/Sema/SemaPPC.cpp
backend:SystemZ:
- llvm/include/llvm/BinaryFormat/ELFRelocs/SystemZ*
@@ -880,6 +892,8 @@ backend:SystemZ:
- clang/lib/Driver/ToolChains/ZOS*
- clang/lib/Driver/ToolChains/Arch/SystemZ.*
- clang/test/CodeGen/SystemZ/**
- clang/include/clang/Sema/SemaSystemZ.h
- clang/lib/Sema/SemaSystemZ.cpp
third-party:unittests:
- third-party/unittests/**