@@ -668,26 +668,26 @@ Error UnwindTable::parseRows(const CFIProgram &CFIP, UnwindRow &Row,
668668 break ;
669669
670670 case dwarf::DW_CFA_AARCH64_negate_ra_state_with_pc: {
671- constexpr uint32_t AArch64DWARFPAuthRaState = 34 ;
672- auto LRLoc = Row.getRegisterLocations ().getRegisterLocation (
673- AArch64DWARFPAuthRaState);
674- if (LRLoc) {
675- if (LRLoc->getLocation () == UnwindLocation::Constant) {
676- // Toggle the constant value of bits[1:0] from 0 to 1 or 1 to 0.
677- LRLoc->setConstant (LRLoc->getConstant () ^ 0x3 );
678- } else {
679- return createStringError (
680- errc::invalid_argument,
681- " %s encountered when existing rule for this register is not "
682- " a constant" ,
683- CFIP.callFrameString (Inst.Opcode ).str ().c_str ());
684- }
671+ constexpr uint32_t AArch64DWARFPAuthRaState = 34 ;
672+ auto LRLoc = Row.getRegisterLocations ().getRegisterLocation (
673+ AArch64DWARFPAuthRaState);
674+ if (LRLoc) {
675+ if (LRLoc->getLocation () == UnwindLocation::Constant) {
676+ // Toggle the constant value of bits[1:0] from 0 to 1 or 1 to 0.
677+ LRLoc->setConstant (LRLoc->getConstant () ^ 0x3 );
685678 } else {
686- Row.getRegisterLocations ().setRegisterLocation (
687- AArch64DWARFPAuthRaState, UnwindLocation::createIsConstant (0x3 ));
679+ return createStringError (
680+ errc::invalid_argument,
681+ " %s encountered when existing rule for this register is not "
682+ " a constant" ,
683+ CFIP.callFrameString (Inst.Opcode ).str ().c_str ());
688684 }
689- break ;
685+ } else {
686+ Row.getRegisterLocations ().setRegisterLocation (
687+ AArch64DWARFPAuthRaState, UnwindLocation::createIsConstant (0x3 ));
690688 }
689+ break ;
690+ }
691691
692692 case dwarf::DW_CFA_undefined: {
693693 llvm::Expected<uint64_t > RegNum = Inst.getOperandAsUnsigned (CFIP, 0 );
0 commit comments