diff options
author | Pavel Iliin <Pavel.Iliin@arm.com> | 2022-12-21 11:29:53 +0000 |
---|---|---|
committer | Pavel Iliin <Pavel.Iliin@arm.com> | 2022-12-27 19:18:07 +0000 |
commit | fe5cf480ee5ae0d14eb62f32e55a33d2ccf67dd1 (patch) | |
tree | e13245db56e6d91ca1ed89a740ba24eeb91524fd /clang/lib/CodeGen/CodeGenFunction.h | |
parent | 781eabeb40b8e47e3a46b0b927784e63f0aad9ab (diff) | |
download | llvm-fe5cf480ee5ae0d14eb62f32e55a33d2ccf67dd1.zip llvm-fe5cf480ee5ae0d14eb62f32e55a33d2ccf67dd1.tar.gz llvm-fe5cf480ee5ae0d14eb62f32e55a33d2ccf67dd1.tar.bz2 |
Reland "[AArch64] FMV support and necessary target features dependencies."
This relands commits e43924a75145d2f9e722f74b673145c3e62bfd07,
a43f36142c501e2d3f4797ef938db4e0c5e0eeec,
bf94eac6a3f7c5cd8941956d44c15524fa3751bd with MSan buildbot
https://lab.llvm.org/buildbot/#/builders/5/builds/30139
use-of-uninitialized-value errors fixed.
Differential Revision: https://reviews.llvm.org/D127812
Diffstat (limited to 'clang/lib/CodeGen/CodeGenFunction.h')
-rw-r--r-- | clang/lib/CodeGen/CodeGenFunction.h | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/clang/lib/CodeGen/CodeGenFunction.h b/clang/lib/CodeGen/CodeGenFunction.h index d1ea27a..f1d7cc7 100644 --- a/clang/lib/CodeGen/CodeGenFunction.h +++ b/clang/lib/CodeGen/CodeGenFunction.h @@ -4813,6 +4813,12 @@ public: // last (if it exists). void EmitMultiVersionResolver(llvm::Function *Resolver, ArrayRef<MultiVersionResolverOption> Options); + void + EmitX86MultiVersionResolver(llvm::Function *Resolver, + ArrayRef<MultiVersionResolverOption> Options); + void + EmitAArch64MultiVersionResolver(llvm::Function *Resolver, + ArrayRef<MultiVersionResolverOption> Options); private: QualType getVarArgType(const Expr *Arg); @@ -4831,7 +4837,11 @@ private: llvm::Value *EmitX86CpuSupports(ArrayRef<StringRef> FeatureStrs); llvm::Value *EmitX86CpuSupports(uint64_t Mask); llvm::Value *EmitX86CpuInit(); - llvm::Value *FormResolverCondition(const MultiVersionResolverOption &RO); + llvm::Value *FormX86ResolverCondition(const MultiVersionResolverOption &RO); + llvm::Value *EmitAArch64CpuInit(); + llvm::Value * + FormAArch64ResolverCondition(const MultiVersionResolverOption &RO); + llvm::Value *EmitAArch64CpuSupports(ArrayRef<StringRef> FeatureStrs); }; |