@@ -3543,21 +3543,22 @@ enum class AAPCSBitmaskSME : unsigned {
35433543 ArmIn = 0b001 ,
35443544 ArmOut = 0b010 ,
35453545 ArmInOut = 0b011 ,
3546- ArmPreserves = 0b100
3546+ ArmPreserves = 0b100 ,
3547+ LLVM_MARK_AS_BITMASK_ENUM (/* LargestValue=*/ ArmPreserves)
35473548};
35483549
3549- static unsigned encodeAAPCSZAState (unsigned SMEAttrs) {
3550+ static AAPCSBitmaskSME encodeAAPCSZAState (unsigned SMEAttrs) {
35503551 switch (SMEAttrs) {
35513552 case FunctionType::ARM_None:
3552- return static_cast < unsigned >( AAPCSBitmaskSME::NoState) ;
3553+ return AAPCSBitmaskSME::NoState;
35533554 case FunctionType::ARM_In:
3554- return static_cast < unsigned >( AAPCSBitmaskSME::ArmIn) ;
3555+ return AAPCSBitmaskSME::ArmIn;
35553556 case FunctionType::ARM_Out:
3556- return static_cast < unsigned >( AAPCSBitmaskSME::ArmOut) ;
3557+ return AAPCSBitmaskSME::ArmOut;
35573558 case FunctionType::ARM_InOut:
3558- return static_cast < unsigned >( AAPCSBitmaskSME::ArmInOut) ;
3559+ return AAPCSBitmaskSME::ArmInOut;
35593560 case FunctionType::ARM_Preserves:
3560- return static_cast < unsigned >( AAPCSBitmaskSME::ArmPreserves) ;
3561+ return AAPCSBitmaskSME::ArmPreserves;
35613562 default :
35623563 llvm_unreachable (" Unrecognised SME attribute" );
35633564 }
@@ -3578,7 +3579,6 @@ void CXXNameMangler::mangleSMEAttrs(unsigned SMEAttrs) {
35783579 if (!SMEAttrs)
35793580 return ;
35803581
3581- // Streaming Mode
35823582 unsigned Bitmask = 0 ;
35833583 if (SMEAttrs & FunctionType::SME_PStateSMEnabledMask)
35843584 Bitmask |= static_cast <unsigned >(AAPCSBitmaskSME::ArmStreamingBit);
@@ -3588,11 +3588,13 @@ void CXXNameMangler::mangleSMEAttrs(unsigned SMEAttrs) {
35883588
35893589 // TODO: Must represent __arm_agnostic("sme_za_state")
35903590
3591- Bitmask |= encodeAAPCSZAState (FunctionType::getArmZAState (SMEAttrs))
3592- << static_cast <unsigned >(AAPCSBitmaskSME::ZA_Shift);
3591+ Bitmask |= static_cast <unsigned >(
3592+ encodeAAPCSZAState (FunctionType::getArmZAState (SMEAttrs))
3593+ << AAPCSBitmaskSME::ZA_Shift);
35933594
3594- Bitmask |= encodeAAPCSZAState (FunctionType::getArmZT0State (SMEAttrs))
3595- << static_cast <unsigned >(AAPCSBitmaskSME::ZT0_Shift);
3595+ Bitmask |= static_cast <unsigned >(
3596+ encodeAAPCSZAState (FunctionType::getArmZT0State (SMEAttrs))
3597+ << AAPCSBitmaskSME::ZT0_Shift);
35963598
35973599 Out << " Lj" << Bitmask << " EE" ;
35983600}
0 commit comments