// relocation point already factors in the section address
// (actually applying the relocations will produce wrong results
// as the section address will be added twice).
- if (!L && dyn_cast<MachOObjectFile>(&Obj))
+ if (!L && isa<MachOObjectFile>(&Obj))
continue;
RelSecName = RelSecName.substr(
// global variables with external linkage are transformed to
// available_externally definitions, which are ultimately turned into
// declarations after the EliminateAvailableExternally pass).
- if (dyn_cast<GlobalVariable>(SGV) && !SGV->isDeclaration() &&
+ if (isa<GlobalVariable>(SGV) && !SGV->isDeclaration() &&
!SGV->hasWeakAnyLinkage())
return true;
// Only import the function requested for importing.
// ***************************************************************************
// If this is a tail call via a function pointer, then don't do it!
- if (!(dyn_cast<GlobalAddressSDNode>(Callee))
- && !(dyn_cast<ExternalSymbolSDNode>(Callee))) {
+ if (!(isa<GlobalAddressSDNode>(Callee)) &&
+ !(isa<ExternalSymbolSDNode>(Callee))) {
return false;
}
bool isRegIdx() const { return Kind == k_RegisterIndex; }
bool isImm() const override { return Kind == k_Immediate; }
bool isConstantImm() const {
- return isImm() && dyn_cast<MCConstantExpr>(getImm());
+ return isImm() && isa<MCConstantExpr>(getImm());
}
bool isConstantImmz() const {
return isConstantImm() && getConstantImm() == 0;
}
bool isMem() const override { return Kind == k_Memory; }
bool isConstantMemOff() const {
- return isMem() && dyn_cast<MCConstantExpr>(getMemOff());
+ return isMem() && isa<MCConstantExpr>(getMemOff());
}
template <unsigned Bits> bool isMemWithSimmOffset() const {
return isMem() && isConstantMemOff() && isInt<Bits>(getConstantMemOff())
// Skip constant shift instruction which may be generated by Splitting GEPs.
if (FirstOffsetDef && FirstOffsetDef->isShift() &&
- dyn_cast<ConstantInt>(FirstOffsetDef->getOperand(1)))
+ isa<ConstantInt>(FirstOffsetDef->getOperand(1)))
FirstOffsetDef = dyn_cast<Instruction>(FirstOffsetDef->getOperand(0));
// Give up if FirstOffsetDef is an Add or Sub with constant.
if (BinaryOperator *BO = dyn_cast<BinaryOperator>(FirstOffsetDef)) {
unsigned opc = BO->getOpcode();
if ((opc == Instruction::Add || opc == Instruction::Sub) &&
- (dyn_cast<ConstantInt>(BO->getOperand(0)) ||
- dyn_cast<ConstantInt>(BO->getOperand(1))))
+ (isa<ConstantInt>(BO->getOperand(0)) ||
+ isa<ConstantInt>(BO->getOperand(1))))
return false;
}
return true;