aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/CodeGen/CodeGenFunction.h
diff options
context:
space:
mode:
authorSander de Smalen <sander.desmalen@arm.com>2020-03-18 11:07:20 +0000
committerSander de Smalen <sander.desmalen@arm.com>2020-03-18 11:16:28 +0000
commitc5b81466c2bcc194e5563f39f5be3638760b4849 (patch)
tree012ab7546d37bed5748fbb490f19831b345c3d8d /clang/lib/CodeGen/CodeGenFunction.h
parent928776de9233be1487c1b56f90c90ed25b25e355 (diff)
downloadllvm-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.h1
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);