Skip to content

Commit caff2ac

Browse files
committed
[AArch64] AArch64DAGToDAGISel::tryReadRegister/tryWriteRegister - don't dereference dyn_cast<> results.
dyn_cast<> can return nullptr if the cast is illegal, use cast<> instead which will assert that the cast is correct. Fixes static analyser warnings.
1 parent 1e770f0 commit caff2ac

File tree

1 file changed

+4
-4
lines changed

1 file changed

+4
-4
lines changed

llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2965,8 +2965,8 @@ static int getIntOperandFromRegisterString(StringRef RegString) {
29652965
// form described in getIntOperandsFromRegsterString) or is a named register
29662966
// known by the MRS SysReg mapper.
29672967
bool AArch64DAGToDAGISel::tryReadRegister(SDNode *N) {
2968-
const MDNodeSDNode *MD = dyn_cast<MDNodeSDNode>(N->getOperand(1));
2969-
const MDString *RegString = dyn_cast<MDString>(MD->getMD()->getOperand(0));
2968+
const auto *MD = cast<MDNodeSDNode>(N->getOperand(1));
2969+
const auto *RegString = cast<MDString>(MD->getMD()->getOperand(0));
29702970
SDLoc DL(N);
29712971

29722972
int Reg = getIntOperandFromRegisterString(RegString->getString());
@@ -3011,8 +3011,8 @@ bool AArch64DAGToDAGISel::tryReadRegister(SDNode *N) {
30113011
// form described in getIntOperandsFromRegsterString) or is a named register
30123012
// known by the MSR SysReg mapper.
30133013
bool AArch64DAGToDAGISel::tryWriteRegister(SDNode *N) {
3014-
const MDNodeSDNode *MD = dyn_cast<MDNodeSDNode>(N->getOperand(1));
3015-
const MDString *RegString = dyn_cast<MDString>(MD->getMD()->getOperand(0));
3014+
const auto *MD = cast<MDNodeSDNode>(N->getOperand(1));
3015+
const auto *RegString = cast<MDString>(MD->getMD()->getOperand(0));
30163016
SDLoc DL(N);
30173017

30183018
int Reg = getIntOperandFromRegisterString(RegString->getString());

0 commit comments

Comments
 (0)