diff options
author | Sander de Smalen <sander.desmalen@arm.com> | 2020-03-18 11:07:20 +0000 |
---|---|---|
committer | Sander de Smalen <sander.desmalen@arm.com> | 2020-03-18 11:16:28 +0000 |
commit | c5b81466c2bcc194e5563f39f5be3638760b4849 (patch) | |
tree | 012ab7546d37bed5748fbb490f19831b345c3d8d /clang/lib/CodeGen/CodeGenFunction.h | |
parent | 928776de9233be1487c1b56f90c90ed25b25e355 (diff) | |
download | llvm-c5b81466c2bcc194e5563f39f5be3638760b4849.zip llvm-c5b81466c2bcc194e5563f39f5be3638760b4849.tar.gz llvm-c5b81466c2bcc194e5563f39f5be3638760b4849.tar.bz2 |
Reland D75470 [SVE] Auto-generate builtins and header for svld1.
Reworked the patch to avoid sharing a header (SVETypeFlags.h) between
include/clang/Basic and utils/TableGen/SveEmitter.cpp. Now the patch
generates the enum/flags which is included in TargetBuiltins.h.
Also renamed one of the SveEmitter options to be in line with MVE.
Summary:
This is a first patch in a series for the SveEmitter to generate the arm_sve.h
header file and builtins.
I've tried my best to strip down this patch as best as I could, but there
are still a few changes that are not necessarily exercised by the load intrinsics
in this patch, mostly around the SVEType class which has some common logic to
represent types from a type and prototype string. I thought it didn't make
much sense to remove that from this patch and split it up.
Diffstat (limited to 'clang/lib/CodeGen/CodeGenFunction.h')
-rw-r--r-- | clang/lib/CodeGen/CodeGenFunction.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/clang/lib/CodeGen/CodeGenFunction.h b/clang/lib/CodeGen/CodeGenFunction.h index e470bec..440b088 100644 --- a/clang/lib/CodeGen/CodeGenFunction.h +++ b/clang/lib/CodeGen/CodeGenFunction.h @@ -3904,6 +3904,7 @@ public: llvm::Value *EmitSVEPredicateCast(llvm::Value *Pred, llvm::VectorType *VTy); llvm::Value *EmitSVEMaskedLoad(llvm::Type *ReturnTy, SmallVectorImpl<llvm::Value *> &Ops); + llvm::Value *EmitAArch64SVEBuiltinExpr(unsigned BuiltinID, const CallExpr *E); llvm::Value *EmitAArch64BuiltinExpr(unsigned BuiltinID, const CallExpr *E, llvm::Triple::ArchType Arch); |