Lines Matching refs:dwarf
23 dwarf::CIE createCIE(bool IsDWARF64, uint64_t Offset, uint64_t Length) { in createCIE()
24 return dwarf::CIE(IsDWARF64, Offset, Length, in createCIE()
33 /*FDEPointerEncoding=*/dwarf::DW_EH_PE_absptr, in createCIE()
34 /*LSDAPointerEncoding=*/dwarf::DW_EH_PE_omit, in createCIE()
40 void expectDumpResult(const dwarf::CIE &TestCIE, bool IsEH, in expectDumpResult()
50 void expectDumpResult(const dwarf::FDE &TestFDE, bool IsEH, in expectDumpResult()
61 dwarf::CIE TestCIE = createCIE(/*IsDWARF64=*/false, in TEST()
68 dwarf::CIE TestCIE = createCIE(/*IsDWARF64=*/true, in TEST()
76 dwarf::CIE TestCIE = createCIE(/*IsDWARF64=*/false, in TEST()
83 dwarf::CIE TestCIE = createCIE(/*IsDWARF64=*/true, in TEST()
91 dwarf::CIE TestCIE = createCIE(/*IsDWARF64=*/true, in TEST()
94 dwarf::FDE TestFDE(/*IsDWARF64=*/true, in TEST()
109 dwarf::CIE TestCIE = createCIE(/*IsDWARF64=*/true, in TEST()
112 dwarf::FDE TestFDE(/*IsDWARF64=*/true, in TEST()
126 static Error parseCFI(dwarf::CIE &C, ArrayRef<uint8_t> Instructions, in parseCFI()
135 static Error parseCFI(dwarf::FDE &FDE, ArrayRef<uint8_t> Instructions) { in parseCFI()
144 dwarf::DW_CFA_nop, in TEST()
145 dwarf::DW_CFA_advance_loc, in TEST()
146 dwarf::DW_CFA_offset, in TEST()
147 dwarf::DW_CFA_restore, in TEST()
148 dwarf::DW_CFA_set_loc, in TEST()
149 dwarf::DW_CFA_advance_loc1, in TEST()
150 dwarf::DW_CFA_advance_loc2, in TEST()
151 dwarf::DW_CFA_advance_loc4, in TEST()
152 dwarf::DW_CFA_offset_extended, in TEST()
153 dwarf::DW_CFA_restore_extended, in TEST()
154 dwarf::DW_CFA_undefined, in TEST()
155 dwarf::DW_CFA_same_value, in TEST()
156 dwarf::DW_CFA_register, in TEST()
157 dwarf::DW_CFA_remember_state, in TEST()
158 dwarf::DW_CFA_restore_state, in TEST()
159 dwarf::DW_CFA_def_cfa, in TEST()
160 dwarf::DW_CFA_def_cfa_register, in TEST()
161 dwarf::DW_CFA_def_cfa_offset, in TEST()
162 dwarf::DW_CFA_def_cfa_expression, in TEST()
163 dwarf::DW_CFA_expression, in TEST()
164 dwarf::DW_CFA_offset_extended_sf, in TEST()
165 dwarf::DW_CFA_def_cfa_sf, in TEST()
166 dwarf::DW_CFA_def_cfa_offset_sf, in TEST()
167 dwarf::DW_CFA_LLVM_def_aspace_cfa, in TEST()
168 dwarf::DW_CFA_LLVM_def_aspace_cfa_sf, in TEST()
169 dwarf::DW_CFA_val_offset, in TEST()
170 dwarf::DW_CFA_val_offset_sf, in TEST()
171 dwarf::DW_CFA_val_expression, in TEST()
172 dwarf::DW_CFA_MIPS_advance_loc8, in TEST()
173 dwarf::DW_CFA_GNU_window_save, in TEST()
174 dwarf::DW_CFA_AARCH64_negate_ra_state, in TEST()
175 dwarf::DW_CFA_GNU_args_size}; in TEST()
177 dwarf::CIE TestCIE = createCIE(/*IsDWARF64=*/false, in TEST()
197 dwarf::CIE TestCIE = createCIE(/*IsDWARF64=*/false, in TEST()
213 parseCFI(TestCIE, {dwarf::DW_CFA_offset}), in TEST()
219 parseCFI(TestCIE, {dwarf::DW_CFA_set_loc}), in TEST()
225 parseCFI(TestCIE, {dwarf::DW_CFA_advance_loc1}), in TEST()
231 parseCFI(TestCIE, {dwarf::DW_CFA_advance_loc2}), in TEST()
237 parseCFI(TestCIE, {dwarf::DW_CFA_advance_loc4}), in TEST()
250 {dwarf::DW_CFA_restore_extended, dwarf::DW_CFA_undefined, in TEST()
251 dwarf::DW_CFA_same_value, dwarf::DW_CFA_def_cfa_register, in TEST()
252 dwarf::DW_CFA_def_cfa_offset, dwarf::DW_CFA_GNU_args_size}) in TEST()
257 parseCFI(TestCIE, {dwarf::DW_CFA_def_cfa_offset_sf}), in TEST()
274 for (uint8_t Inst : {dwarf::DW_CFA_offset_extended, dwarf::DW_CFA_register, in TEST()
275 dwarf::DW_CFA_def_cfa, dwarf::DW_CFA_LLVM_def_aspace_cfa, in TEST()
276 dwarf::DW_CFA_val_offset}) in TEST()
293 {dwarf::DW_CFA_offset_extended_sf, dwarf::DW_CFA_def_cfa_sf, in TEST()
294 dwarf::DW_CFA_LLVM_def_aspace_cfa_sf, dwarf::DW_CFA_val_offset_sf}) in TEST()
299 parseCFI(TestCIE, {dwarf::DW_CFA_def_cfa_expression}), in TEST()
303 parseCFI(TestCIE, {dwarf::DW_CFA_def_cfa_expression, in TEST()
308 EXPECT_THAT_ERROR(parseCFI(TestCIE, {dwarf::DW_CFA_def_cfa_expression, in TEST()
334 for (uint8_t Inst : {dwarf::DW_CFA_expression, dwarf::DW_CFA_val_expression}) in TEST()
338 void expectDumpResult(const dwarf::UnwindLocation &Loc, in expectDumpResult()
353 expectDumpResult(dwarf::UnwindLocation::createUnspecified(), "unspecified"); in TEST()
354 expectDumpResult(dwarf::UnwindLocation::createUndefined(), "undefined"); in TEST()
355 expectDumpResult(dwarf::UnwindLocation::createSame(), "same"); in TEST()
356 expectDumpResult(dwarf::UnwindLocation::createIsCFAPlusOffset(PlusOff), in TEST()
358 expectDumpResult(dwarf::UnwindLocation::createIsCFAPlusOffset(MinusOff), in TEST()
360 expectDumpResult(dwarf::UnwindLocation::createAtCFAPlusOffset(PlusOff), in TEST()
362 expectDumpResult(dwarf::UnwindLocation::createAtCFAPlusOffset(MinusOff), in TEST()
366 dwarf::UnwindLocation::createIsRegisterPlusOffset(RegNum, PlusOff), in TEST()
369 dwarf::UnwindLocation::createIsRegisterPlusOffset(RegNum, MinusOff), in TEST()
372 dwarf::UnwindLocation::createAtRegisterPlusOffset(RegNum, PlusOff), in TEST()
375 dwarf::UnwindLocation::createAtRegisterPlusOffset(RegNum, MinusOff), in TEST()
377 expectDumpResult(dwarf::UnwindLocation::createIsConstant(12), "12"); in TEST()
378 expectDumpResult(dwarf::UnwindLocation::createIsConstant(-32), "-32"); in TEST()
381 void expectDumpResult(const dwarf::RegisterLocations &Locs, in expectDumpResult()
393 dwarf::RegisterLocations Locs; in TEST()
398 Locs.setRegisterLocation(12, dwarf::UnwindLocation::createUnspecified()); in TEST()
404 Locs.setRegisterLocation(12, dwarf::UnwindLocation::createSame()); in TEST()
415 auto Reg12Loc = dwarf::UnwindLocation::createAtCFAPlusOffset(4); in TEST()
416 auto Reg13Loc = dwarf::UnwindLocation::createAtCFAPlusOffset(8); in TEST()
417 auto Reg14Loc = dwarf::UnwindLocation::createSame(); in TEST()
425 Optional<dwarf::UnwindLocation> OptionalLoc; in TEST()
459 dwarf::CIE TestCIE = createCIE(/*IsDWARF64=*/false, in TEST()
469 Expected<dwarf::UnwindTable> RowsOrErr = dwarf::UnwindTable::create(&TestCIE); in TEST()
474 dwarf::FDE TestFDE(/*IsDWARF64=*/true, in TEST()
490 RowsOrErr = dwarf::UnwindTable::create(&TestFDE); in TEST()
498 dwarf::CIE TestCIE = createCIE(/*IsDWARF64=*/false, in TEST()
503 EXPECT_THAT_ERROR(parseCFI(TestCIE, {dwarf::DW_CFA_nop}), Succeeded()); in TEST()
508 Expected<dwarf::UnwindTable> RowsOrErr = dwarf::UnwindTable::create(&TestCIE); in TEST()
513 dwarf::FDE TestFDE(/*IsDWARF64=*/true, in TEST()
524 EXPECT_THAT_ERROR(parseCFI(TestFDE, {dwarf::DW_CFA_nop}), Succeeded()); in TEST()
529 RowsOrErr = dwarf::UnwindTable::create(&TestFDE); in TEST()
535 dwarf::CIE TestCIE = createCIE(/*IsDWARF64=*/false, in TEST()
539 dwarf::FDE TestFDE(/*IsDWARF64=*/true, in TEST()
552 EXPECT_THAT_ERROR(parseCFI(TestCIE, {dwarf::DW_CFA_def_cfa, Reg, Offset}), in TEST()
564 parseCFI(TestFDE, {dwarf::DW_CFA_set_loc, 0x00, 0x11, 0, 0, 0, 0, 0, 0, in TEST()
565 dwarf::DW_CFA_set_loc, 0x00, 0x10, 0, 0, 0, 0, 0, 0}), in TEST()
569 Expected<dwarf::UnwindTable> RowsOrErr = dwarf::UnwindTable::create(&TestFDE); in TEST()
577 dwarf::CIE TestCIE = createCIE(/*IsDWARF64=*/false, in TEST()
581 dwarf::FDE TestFDE(/*IsDWARF64=*/true, in TEST()
594 EXPECT_THAT_ERROR(parseCFI(TestCIE, {dwarf::DW_CFA_def_cfa, Reg, Offset}), in TEST()
601 EXPECT_THAT_ERROR(parseCFI(TestFDE, {dwarf::DW_CFA_restore_state}), in TEST()
605 Expected<dwarf::UnwindTable> RowsOrErr = dwarf::UnwindTable::create(&TestFDE); in TEST()
612 dwarf::CIE TestCIE = createCIE(/*IsDWARF64=*/false, in TEST()
616 dwarf::FDE TestFDE(/*IsDWARF64=*/true, in TEST()
629 EXPECT_THAT_ERROR(parseCFI(TestCIE, {dwarf::DW_CFA_def_cfa, Reg, Offset}), in TEST()
637 EXPECT_THAT_ERROR(parseCFI(TestFDE, {dwarf::DW_CFA_GNU_window_save}), in TEST()
641 Expected<dwarf::UnwindTable> RowsOrErr = dwarf::UnwindTable::create(&TestFDE); in TEST()
648 dwarf::CIE TestCIE = createCIE(/*IsDWARF64=*/false, in TEST()
652 dwarf::FDE TestFDE(/*IsDWARF64=*/true, in TEST()
672 EXPECT_THAT_ERROR(parseCFI(TestFDE, {dwarf::DW_CFA_def_cfa_offset, 16}), in TEST()
676 Expected<dwarf::UnwindTable> RowsOrErr = dwarf::UnwindTable::create(&TestFDE); in TEST()
683 dwarf::CIE TestCIE = createCIE(/*IsDWARF64=*/false, in TEST()
687 dwarf::FDE TestFDE(/*IsDWARF64=*/true, in TEST()
707 EXPECT_THAT_ERROR(parseCFI(TestFDE, {dwarf::DW_CFA_def_cfa_offset_sf, 4}), in TEST()
711 Expected<dwarf::UnwindTable> RowsOrErr = dwarf::UnwindTable::create(&TestFDE); in TEST()
718 dwarf::CIE TestCIE = createCIE(/*IsDWARF64=*/false, in TEST()
722 dwarf::FDE TestFDE(/*IsDWARF64=*/true, in TEST()
736 EXPECT_THAT_ERROR(parseCFI(TestCIE, {dwarf::DW_CFA_def_cfa_register, CFAReg}), in TEST()
747 Expected<dwarf::UnwindTable> RowsOrErr = dwarf::UnwindTable::create(&TestFDE); in TEST()
749 const dwarf::UnwindTable &Rows = RowsOrErr.get(); in TEST()
753 dwarf::UnwindLocation::createIsRegisterPlusOffset(CFAReg, 0)); in TEST()
758 dwarf::CIE TestCIE = createCIE(/*IsDWARF64=*/false, in TEST()
762 dwarf::FDE TestFDE(/*IsDWARF64=*/true, in TEST()
779 EXPECT_THAT_ERROR(parseCFI(TestCIE, {dwarf::DW_CFA_def_cfa, CFAReg, CFAOffset, in TEST()
780 dwarf::DW_CFA_register, Reg, InReg}), in TEST()
790 EXPECT_THAT_ERROR(parseCFI(TestFDE, {dwarf::DW_CFA_advance_loc | 4, in TEST()
791 dwarf::DW_CFA_advance_loc1, in TEST()
793 dwarf::DW_CFA_advance_loc2, in TEST()
796 dwarf::DW_CFA_advance_loc4, in TEST()
801 dwarf::DW_CFA_set_loc, in TEST()
814 dwarf::RegisterLocations VerifyLocs; in TEST()
816 Reg, dwarf::UnwindLocation::createIsRegisterPlusOffset(InReg, 0)); in TEST()
819 Expected<dwarf::UnwindTable> RowsOrErr = dwarf::UnwindTable::create(&TestFDE); in TEST()
821 const dwarf::UnwindTable &Rows = RowsOrErr.get(); in TEST()
846 dwarf::CIE TestCIE = createCIE(/*IsDWARF64=*/false, in TEST()
850 dwarf::FDE TestFDE(/*IsDWARF64=*/true, in TEST()
868 EXPECT_THAT_ERROR(parseCFI(TestCIE, {dwarf::DW_CFA_def_cfa, CFAReg, CFAOffset, in TEST()
869 dwarf::DW_CFA_register, Reg, InReg}), in TEST()
878 EXPECT_THAT_ERROR(parseCFI(TestFDE, {dwarf::DW_CFA_offset | Reg, 1, in TEST()
879 dwarf::DW_CFA_advance_loc | 4, in TEST()
880 dwarf::DW_CFA_restore | Reg}), in TEST()
885 dwarf::RegisterLocations VerifyLocs1; in TEST()
887 Reg, dwarf::UnwindLocation::createAtCFAPlusOffset(RegCFAOffset)); in TEST()
889 dwarf::RegisterLocations VerifyLocs2; in TEST()
891 Reg, dwarf::UnwindLocation::createIsRegisterPlusOffset(InReg, 0)); in TEST()
894 Expected<dwarf::UnwindTable> RowsOrErr = dwarf::UnwindTable::create(&TestFDE); in TEST()
896 const dwarf::UnwindTable &Rows = RowsOrErr.get(); in TEST()
909 dwarf::CIE TestCIE = createCIE(/*IsDWARF64=*/false, in TEST()
913 dwarf::FDE TestFDE(/*IsDWARF64=*/true, in TEST()
931 EXPECT_THAT_ERROR(parseCFI(TestCIE, {dwarf::DW_CFA_def_cfa, CFAReg, CFAOffset, in TEST()
932 dwarf::DW_CFA_register, Reg, InReg}), in TEST()
941 EXPECT_THAT_ERROR(parseCFI(TestFDE, {dwarf::DW_CFA_offset | Reg, 1, in TEST()
942 dwarf::DW_CFA_advance_loc | 4, in TEST()
943 dwarf::DW_CFA_restore_extended, Reg}), in TEST()
948 dwarf::RegisterLocations VerifyLocs1; in TEST()
950 Reg, dwarf::UnwindLocation::createAtCFAPlusOffset(RegCFAOffset)); in TEST()
952 dwarf::RegisterLocations VerifyLocs2; in TEST()
954 Reg, dwarf::UnwindLocation::createIsRegisterPlusOffset(InReg, 0)); in TEST()
957 Expected<dwarf::UnwindTable> RowsOrErr = dwarf::UnwindTable::create(&TestFDE); in TEST()
959 const dwarf::UnwindTable &Rows = RowsOrErr.get(); in TEST()
973 dwarf::CIE TestCIE = createCIE(/*IsDWARF64=*/false, in TEST()
977 dwarf::FDE TestFDE(/*IsDWARF64=*/true, in TEST()
989 EXPECT_THAT_ERROR(parseCFI(TestCIE, {dwarf::DW_CFA_def_cfa, 12, 32}), in TEST()
1003 {dwarf::DW_CFA_offset | Reg1, 1, dwarf::DW_CFA_offset_extended, in TEST()
1004 Reg2, 2, dwarf::DW_CFA_offset_extended_sf, Reg3, Neg1SLEB}), in TEST()
1009 dwarf::RegisterLocations VerifyLocs; in TEST()
1011 Reg1, dwarf::UnwindLocation::createAtCFAPlusOffset(-8)); in TEST()
1013 Reg2, dwarf::UnwindLocation::createAtCFAPlusOffset(-16)); in TEST()
1015 Reg3, dwarf::UnwindLocation::createAtCFAPlusOffset(8)); in TEST()
1018 Expected<dwarf::UnwindTable> RowsOrErr = dwarf::UnwindTable::create(&TestFDE); in TEST()
1020 const dwarf::UnwindTable &Rows = RowsOrErr.get(); in TEST()
1029 dwarf::CIE TestCIE = createCIE(/*IsDWARF64=*/false, in TEST()
1033 dwarf::FDE TestFDE(/*IsDWARF64=*/true, in TEST()
1045 EXPECT_THAT_ERROR(parseCFI(TestCIE, {dwarf::DW_CFA_def_cfa, 12, 32}), in TEST()
1057 parseCFI(TestFDE, {dwarf::DW_CFA_val_offset, Reg1, 1, in TEST()
1058 dwarf::DW_CFA_val_offset_sf, Reg2, Neg1SLEB}), in TEST()
1063 dwarf::RegisterLocations VerifyLocs; in TEST()
1065 Reg1, dwarf::UnwindLocation::createIsCFAPlusOffset(-8)); in TEST()
1067 Reg2, dwarf::UnwindLocation::createIsCFAPlusOffset(8)); in TEST()
1070 Expected<dwarf::UnwindTable> RowsOrErr = dwarf::UnwindTable::create(&TestFDE); in TEST()
1072 const dwarf::UnwindTable &Rows = RowsOrErr.get(); in TEST()
1080 dwarf::CIE TestCIE = createCIE(/*IsDWARF64=*/false, in TEST()
1084 dwarf::FDE TestFDE(/*IsDWARF64=*/true, in TEST()
1096 EXPECT_THAT_ERROR(parseCFI(TestCIE, {dwarf::DW_CFA_def_cfa, 12, 32}), in TEST()
1105 parseCFI(TestFDE, {dwarf::DW_CFA_nop, dwarf::DW_CFA_offset | Reg1, 1}), in TEST()
1110 dwarf::RegisterLocations VerifyLocs; in TEST()
1112 Reg1, dwarf::UnwindLocation::createAtCFAPlusOffset(-8)); in TEST()
1115 Expected<dwarf::UnwindTable> RowsOrErr = dwarf::UnwindTable::create(&TestFDE); in TEST()
1117 const dwarf::UnwindTable &Rows = RowsOrErr.get(); in TEST()
1126 dwarf::CIE TestCIE = createCIE(/*IsDWARF64=*/false, in TEST()
1130 dwarf::FDE TestFDE(/*IsDWARF64=*/true, in TEST()
1142 EXPECT_THAT_ERROR(parseCFI(TestCIE, {dwarf::DW_CFA_def_cfa, 12, 32}), in TEST()
1171 {dwarf::DW_CFA_offset | Reg1, 1, dwarf::DW_CFA_advance_loc | 4, in TEST()
1172 dwarf::DW_CFA_remember_state, dwarf::DW_CFA_offset | Reg2, 2, in TEST()
1173 dwarf::DW_CFA_advance_loc | 4, dwarf::DW_CFA_remember_state, in TEST()
1174 dwarf::DW_CFA_offset | Reg3, 3, dwarf::DW_CFA_advance_loc | 4, in TEST()
1175 dwarf::DW_CFA_restore_state, dwarf::DW_CFA_advance_loc | 4, in TEST()
1176 dwarf::DW_CFA_restore_state}), in TEST()
1181 dwarf::RegisterLocations VerifyLocs1; in TEST()
1183 Reg1, dwarf::UnwindLocation::createAtCFAPlusOffset(-8)); in TEST()
1185 dwarf::RegisterLocations VerifyLocs2; in TEST()
1187 Reg1, dwarf::UnwindLocation::createAtCFAPlusOffset(-8)); in TEST()
1189 Reg2, dwarf::UnwindLocation::createAtCFAPlusOffset(-16)); in TEST()
1191 dwarf::RegisterLocations VerifyLocs3; in TEST()
1193 Reg1, dwarf::UnwindLocation::createAtCFAPlusOffset(-8)); in TEST()
1195 Reg2, dwarf::UnwindLocation::createAtCFAPlusOffset(-16)); in TEST()
1197 Reg3, dwarf::UnwindLocation::createAtCFAPlusOffset(-24)); in TEST()
1200 Expected<dwarf::UnwindTable> RowsOrErr = dwarf::UnwindTable::create(&TestFDE); in TEST()
1202 const dwarf::UnwindTable &Rows = RowsOrErr.get(); in TEST()
1223 dwarf::CIE TestCIE = createCIE(/*IsDWARF64=*/false, in TEST()
1227 dwarf::FDE TestFDE(/*IsDWARF64=*/true, in TEST()
1239 EXPECT_THAT_ERROR(parseCFI(TestCIE, {dwarf::DW_CFA_def_cfa, 12, 32}), in TEST()
1247 EXPECT_THAT_ERROR(parseCFI(TestFDE, {dwarf::DW_CFA_undefined, Reg1}), in TEST()
1252 dwarf::RegisterLocations VerifyLocs; in TEST()
1254 dwarf::UnwindLocation::createUndefined()); in TEST()
1257 Expected<dwarf::UnwindTable> RowsOrErr = dwarf::UnwindTable::create(&TestFDE); in TEST()
1259 const dwarf::UnwindTable &Rows = RowsOrErr.get(); in TEST()
1268 dwarf::CIE TestCIE = createCIE(/*IsDWARF64=*/false, in TEST()
1272 dwarf::FDE TestFDE(/*IsDWARF64=*/true, in TEST()
1284 EXPECT_THAT_ERROR(parseCFI(TestCIE, {dwarf::DW_CFA_def_cfa, 12, 32}), in TEST()
1292 EXPECT_THAT_ERROR(parseCFI(TestFDE, {dwarf::DW_CFA_same_value, Reg1}), in TEST()
1297 dwarf::RegisterLocations VerifyLocs; in TEST()
1298 VerifyLocs.setRegisterLocation(Reg1, dwarf::UnwindLocation::createSame()); in TEST()
1301 Expected<dwarf::UnwindTable> RowsOrErr = dwarf::UnwindTable::create(&TestFDE); in TEST()
1303 const dwarf::UnwindTable &Rows = RowsOrErr.get(); in TEST()
1312 dwarf::CIE TestCIE = createCIE(/*IsDWARF64=*/false, in TEST()
1316 dwarf::FDE TestFDE(/*IsDWARF64=*/true, in TEST()
1328 EXPECT_THAT_ERROR(parseCFI(TestCIE, {dwarf::DW_CFA_def_cfa, 12, 32}), in TEST()
1337 EXPECT_THAT_ERROR(parseCFI(TestFDE, {dwarf::DW_CFA_register, Reg, InReg}), in TEST()
1342 dwarf::RegisterLocations VerifyLocs; in TEST()
1344 Reg, dwarf::UnwindLocation::createIsRegisterPlusOffset(InReg, 0)); in TEST()
1347 Expected<dwarf::UnwindTable> RowsOrErr = dwarf::UnwindTable::create(&TestFDE); in TEST()
1349 const dwarf::UnwindTable &Rows = RowsOrErr.get(); in TEST()
1358 dwarf::CIE TestCIE = createCIE(/*IsDWARF64=*/false, in TEST()
1362 dwarf::FDE TestFDE(/*IsDWARF64=*/true, in TEST()
1374 EXPECT_THAT_ERROR(parseCFI(TestCIE, {dwarf::DW_CFA_def_cfa, 12, 32}), in TEST()
1383 std::vector<uint8_t> CFIBytes = {dwarf::DW_CFA_expression, Reg, 1, in TEST()
1384 dwarf::DW_OP_reg12}; in TEST()
1390 dwarf::RegisterLocations VerifyLocs; in TEST()
1392 std::vector<uint8_t> ExprBytes = {dwarf::DW_OP_reg12}; in TEST()
1396 Reg, dwarf::UnwindLocation::createAtDWARFExpression(Expr)); in TEST()
1399 Expected<dwarf::UnwindTable> RowsOrErr = dwarf::UnwindTable::create(&TestFDE); in TEST()
1401 const dwarf::UnwindTable &Rows = RowsOrErr.get(); in TEST()
1410 dwarf::CIE TestCIE = createCIE(/*IsDWARF64=*/false, in TEST()
1414 dwarf::FDE TestFDE(/*IsDWARF64=*/true, in TEST()
1426 EXPECT_THAT_ERROR(parseCFI(TestCIE, {dwarf::DW_CFA_def_cfa, 12, 32}), in TEST()
1435 std::vector<uint8_t> CFIBytes = {dwarf::DW_CFA_val_expression, Reg, 1, in TEST()
1436 dwarf::DW_OP_reg12}; in TEST()
1442 dwarf::RegisterLocations VerifyLocs; in TEST()
1444 std::vector<uint8_t> ExprBytes = {dwarf::DW_OP_reg12}; in TEST()
1448 Reg, dwarf::UnwindLocation::createIsDWARFExpression(Expr)); in TEST()
1451 Expected<dwarf::UnwindTable> RowsOrErr = dwarf::UnwindTable::create(&TestFDE); in TEST()
1453 const dwarf::UnwindTable &Rows = RowsOrErr.get(); in TEST()
1463 dwarf::CIE TestCIE = createCIE(/*IsDWARF64=*/false, in TEST()
1467 dwarf::FDE TestFDE(/*IsDWARF64=*/true, in TEST()
1486 EXPECT_THAT_ERROR(parseCFI(TestCIE, {dwarf::DW_CFA_def_cfa, CFAReg1, CFAOff1, in TEST()
1487 dwarf::DW_CFA_register, Reg, InReg}), in TEST()
1497 dwarf::DW_CFA_advance_loc | 4, dwarf::DW_CFA_def_cfa_register, in TEST()
1498 CFAReg2, dwarf::DW_CFA_advance_loc | 4, in TEST()
1499 dwarf::DW_CFA_def_cfa_offset, CFAOff2, in TEST()
1500 dwarf::DW_CFA_advance_loc | 4, dwarf::DW_CFA_def_cfa_offset_sf, in TEST()
1502 dwarf::DW_CFA_advance_loc | 4, dwarf::DW_CFA_def_cfa_sf, CFAReg1, in TEST()
1509 dwarf::RegisterLocations VerifyLocs; in TEST()
1511 Reg, dwarf::UnwindLocation::createIsRegisterPlusOffset(InReg, 0)); in TEST()
1514 Expected<dwarf::UnwindTable> RowsOrErr = dwarf::UnwindTable::create(&TestFDE); in TEST()
1516 const dwarf::UnwindTable &Rows = RowsOrErr.get(); in TEST()
1521 dwarf::UnwindLocation::createIsRegisterPlusOffset(CFAReg1, CFAOff1)); in TEST()
1528 dwarf::UnwindLocation::createIsRegisterPlusOffset(CFAReg2, CFAOff1)); in TEST()
1535 dwarf::UnwindLocation::createIsRegisterPlusOffset(CFAReg2, CFAOff2)); in TEST()
1542 dwarf::UnwindLocation::createIsRegisterPlusOffset(CFAReg2, CFAOff1)); in TEST()
1549 dwarf::UnwindLocation::createIsRegisterPlusOffset(CFAReg1, CFAOff2)); in TEST()
1559 dwarf::CIE TestCIE = createCIE(/*IsDWARF64=*/false, in TEST()
1563 dwarf::FDE TestFDE(/*IsDWARF64=*/true, in TEST()
1584 parseCFI(TestCIE, {dwarf::DW_CFA_LLVM_def_aspace_cfa, CFAReg1, CFAOff1, in TEST()
1585 AddrSpace, dwarf::DW_CFA_register, Reg, InReg}), in TEST()
1595 dwarf::DW_CFA_advance_loc | 4, dwarf::DW_CFA_def_cfa_register, in TEST()
1596 CFAReg2, dwarf::DW_CFA_advance_loc | 4, in TEST()
1597 dwarf::DW_CFA_def_cfa_offset, CFAOff2, in TEST()
1598 dwarf::DW_CFA_advance_loc | 4, dwarf::DW_CFA_def_cfa_offset_sf, in TEST()
1600 dwarf::DW_CFA_advance_loc | 4, dwarf::DW_CFA_def_cfa_sf, CFAReg1, in TEST()
1607 dwarf::RegisterLocations VerifyLocs; in TEST()
1609 Reg, dwarf::UnwindLocation::createIsRegisterPlusOffset(InReg, 0)); in TEST()
1612 Expected<dwarf::UnwindTable> RowsOrErr = dwarf::UnwindTable::create(&TestFDE); in TEST()
1614 const dwarf::UnwindTable &Rows = RowsOrErr.get(); in TEST()
1618 dwarf::UnwindLocation::createIsRegisterPlusOffset(CFAReg1, CFAOff1, in TEST()
1625 dwarf::UnwindLocation::createIsRegisterPlusOffset(CFAReg2, CFAOff1, in TEST()
1632 dwarf::UnwindLocation::createIsRegisterPlusOffset(CFAReg2, CFAOff2, in TEST()
1639 dwarf::UnwindLocation::createIsRegisterPlusOffset(CFAReg2, CFAOff1, in TEST()
1646 dwarf::UnwindLocation::createIsRegisterPlusOffset(CFAReg1, CFAOff2, in TEST()