diff options
Diffstat (limited to 'llvm/lib/Target/AArch64/AArch64Subtarget.h')
-rw-r--r-- | llvm/lib/Target/AArch64/AArch64Subtarget.h | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/llvm/lib/Target/AArch64/AArch64Subtarget.h b/llvm/lib/Target/AArch64/AArch64Subtarget.h index 061ed61..671df35 100644 --- a/llvm/lib/Target/AArch64/AArch64Subtarget.h +++ b/llvm/lib/Target/AArch64/AArch64Subtarget.h @@ -212,6 +212,13 @@ public: return hasSVE() || isStreamingSVEAvailable(); } + /// Returns true if the target has access to either the full range of SVE + /// instructions, or the streaming-compatible subset of SVE instructions + /// available to SME2. + bool isNonStreamingSVEorSME2Available() const { + return isSVEAvailable() || (isSVEorStreamingSVEAvailable() && hasSME2()); + } + unsigned getMinVectorRegisterBitWidth() const { // Don't assume any minimum vector size when PSTATE.SM may not be 0, because // we don't yet support streaming-compatible codegen support that we trust @@ -239,8 +246,8 @@ public: /// Return true if the CPU supports any kind of instruction fusion. bool hasFusion() const { return hasArithmeticBccFusion() || hasArithmeticCbzFusion() || - hasFuseAES() || hasFuseArithmeticLogic() || hasFuseCCSelect() || - hasFuseAdrpAdd() || hasFuseLiterals(); + hasFuseAES() || hasFuseArithmeticLogic() || hasFuseCmpCSel() || + hasFuseCmpCSet() || hasFuseAdrpAdd() || hasFuseLiterals(); } unsigned getEpilogueVectorizationMinVF() const { @@ -451,12 +458,6 @@ public: return "__chkstk"; } - const char* getSecurityCheckCookieName() const { - if (isWindowsArm64EC()) - return "#__security_check_cookie_arm64ec"; - return "__security_check_cookie"; - } - /// Choose a method of checking LR before performing a tail call. AArch64PAuth::AuthCheckMethod getAuthenticatedLRCheckMethod(const MachineFunction &MF) const; |