Skip to content

Commit bbd4791

Browse files
committed
Streamline getRegUsedAsCallDest()
1 parent a1516bb commit bbd4791

File tree

1 file changed

+3
-18
lines changed

1 file changed

+3
-18
lines changed

bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp

Lines changed: 3 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -284,23 +284,6 @@ class AArch64MCPlusBuilder : public MCPlusBuilder {
284284
IsAuthenticatedInternally = false;
285285

286286
switch (Inst.getOpcode()) {
287-
case AArch64::B:
288-
case AArch64::BL:
289-
assert(Inst.getOperand(0).isExpr());
290-
return getNoRegister();
291-
case AArch64::Bcc:
292-
case AArch64::CBNZW:
293-
case AArch64::CBNZX:
294-
case AArch64::CBZW:
295-
case AArch64::CBZX:
296-
assert(Inst.getOperand(1).isExpr());
297-
return getNoRegister();
298-
case AArch64::TBNZW:
299-
case AArch64::TBNZX:
300-
case AArch64::TBZW:
301-
case AArch64::TBZX:
302-
assert(Inst.getOperand(2).isExpr());
303-
return getNoRegister();
304287
case AArch64::BR:
305288
case AArch64::BLR:
306289
return Inst.getOperand(0).getReg();
@@ -315,7 +298,9 @@ class AArch64MCPlusBuilder : public MCPlusBuilder {
315298
IsAuthenticatedInternally = true;
316299
return Inst.getOperand(0).getReg();
317300
default:
318-
llvm_unreachable("Unhandled call instruction");
301+
if (isIndirectCall(Inst) || isIndirectBranch(Inst))
302+
llvm_unreachable("Unhandled indirect branch");
303+
return getNoRegister();
319304
}
320305
}
321306

0 commit comments

Comments
 (0)