Replace some assert(0)'s with llvm_unreachable.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@211141 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Craig Topper 2014-06-18 05:05:13 +00:00
parent 868e579be6
commit 10d664fee7
19 changed files with 28 additions and 27 deletions

View File

@ -97,7 +97,7 @@ void BitstreamCursor::readAbbreviatedField(const BitCodeAbbrevOp &Op,
switch (Op.getEncoding()) { switch (Op.getEncoding()) {
case BitCodeAbbrevOp::Array: case BitCodeAbbrevOp::Array:
case BitCodeAbbrevOp::Blob: case BitCodeAbbrevOp::Blob:
assert(0 && "Should not reach here"); llvm_unreachable("Should not reach here");
case BitCodeAbbrevOp::Fixed: case BitCodeAbbrevOp::Fixed:
Vals.push_back(Read((unsigned)Op.getEncodingData())); Vals.push_back(Read((unsigned)Op.getEncodingData()));
break; break;
@ -117,7 +117,7 @@ void BitstreamCursor::skipAbbreviatedField(const BitCodeAbbrevOp &Op) {
switch (Op.getEncoding()) { switch (Op.getEncoding()) {
case BitCodeAbbrevOp::Array: case BitCodeAbbrevOp::Array:
case BitCodeAbbrevOp::Blob: case BitCodeAbbrevOp::Blob:
assert(0 && "Should not reach here"); llvm_unreachable("Should not reach here");
case BitCodeAbbrevOp::Fixed: case BitCodeAbbrevOp::Fixed:
(void)Read((unsigned)Op.getEncodingData()); (void)Read((unsigned)Op.getEncodingData());
break; break;

View File

@ -1141,7 +1141,7 @@ bool ModuleLinker::linkModuleFlagsMetadata() {
// Perform the merge for standard behavior types. // Perform the merge for standard behavior types.
switch (SrcBehaviorValue) { switch (SrcBehaviorValue) {
case Module::Require: case Module::Require:
case Module::Override: assert(0 && "not possible"); break; case Module::Override: llvm_unreachable("not possible");
case Module::Error: { case Module::Error: {
// Emit an error if the values differ. // Emit an error if the values differ.
if (SrcOp->getOperand(2) != DstOp->getOperand(2)) { if (SrcOp->getOperand(2) != DstOp->getOperand(2)) {

View File

@ -211,7 +211,7 @@ void AArch64AsmPrinter::printOperand(const MachineInstr *MI, unsigned OpNum,
const MachineOperand &MO = MI->getOperand(OpNum); const MachineOperand &MO = MI->getOperand(OpNum);
switch (MO.getType()) { switch (MO.getType()) {
default: default:
assert(0 && "<unknown operand type>"); llvm_unreachable("<unknown operand type>");
case MachineOperand::MO_Register: { case MachineOperand::MO_Register: {
unsigned Reg = MO.getReg(); unsigned Reg = MO.getReg();
assert(TargetRegisterInfo::isPhysicalRegister(Reg)); assert(TargetRegisterInfo::isPhysicalRegister(Reg));

View File

@ -291,7 +291,7 @@ static bool isConditionalBranch(unsigned Opc) {
static MachineBasicBlock *getDestBlock(MachineInstr *MI) { static MachineBasicBlock *getDestBlock(MachineInstr *MI) {
switch (MI->getOpcode()) { switch (MI->getOpcode()) {
default: default:
assert(0 && "unexpected opcode!"); llvm_unreachable("unexpected opcode!");
case AArch64::TBZW: case AArch64::TBZW:
case AArch64::TBNZW: case AArch64::TBNZW:
case AArch64::TBZX: case AArch64::TBZX:
@ -309,7 +309,7 @@ static MachineBasicBlock *getDestBlock(MachineInstr *MI) {
static unsigned getOppositeConditionOpcode(unsigned Opc) { static unsigned getOppositeConditionOpcode(unsigned Opc) {
switch (Opc) { switch (Opc) {
default: default:
assert(0 && "unexpected opcode!"); llvm_unreachable("unexpected opcode!");
case AArch64::TBNZW: return AArch64::TBZW; case AArch64::TBNZW: return AArch64::TBZW;
case AArch64::TBNZX: return AArch64::TBZX; case AArch64::TBNZX: return AArch64::TBZX;
case AArch64::TBZW: return AArch64::TBNZW; case AArch64::TBZW: return AArch64::TBNZW;
@ -325,7 +325,7 @@ static unsigned getOppositeConditionOpcode(unsigned Opc) {
static unsigned getBranchDisplacementBits(unsigned Opc) { static unsigned getBranchDisplacementBits(unsigned Opc) {
switch (Opc) { switch (Opc) {
default: default:
assert(0 && "unexpected opcode!"); llvm_unreachable("unexpected opcode!");
case AArch64::TBNZW: case AArch64::TBNZW:
case AArch64::TBZW: case AArch64::TBZW:
case AArch64::TBNZX: case AArch64::TBNZX:

View File

@ -2108,7 +2108,7 @@ SDNode *AArch64DAGToDAGISel::Select(SDNode *Node) {
.getVectorElementType() .getVectorElementType()
.getSizeInBits()) { .getSizeInBits()) {
default: default:
assert(0 && "Unexpected vector element type!"); llvm_unreachable("Unexpected vector element type!");
case 64: case 64:
SubReg = AArch64::dsub; SubReg = AArch64::dsub;
break; break;

View File

@ -1273,7 +1273,7 @@ static SDValue LowerADDC_ADDE_SUBC_SUBE(SDValue Op, SelectionDAG &DAG) {
bool ExtraOp = false; bool ExtraOp = false;
switch (Op.getOpcode()) { switch (Op.getOpcode()) {
default: default:
assert(0 && "Invalid code"); llvm_unreachable("Invalid code");
case ISD::ADDC: case ISD::ADDC:
Opc = AArch64ISD::ADDS; Opc = AArch64ISD::ADDS;
break; break;
@ -6674,7 +6674,7 @@ static SDValue tryCombineFixedPointConvert(SDNode *N,
else if (Vec.getValueType() == MVT::v2i64) else if (Vec.getValueType() == MVT::v2i64)
VecResTy = MVT::v2f64; VecResTy = MVT::v2f64;
else else
assert(0 && "unexpected vector type!"); llvm_unreachable("unexpected vector type!");
SDValue Convert = SDValue Convert =
DAG.getNode(ISD::INTRINSIC_WO_CHAIN, DL, VecResTy, IID, Vec, Shift); DAG.getNode(ISD::INTRINSIC_WO_CHAIN, DL, VecResTy, IID, Vec, Shift);

View File

@ -1841,7 +1841,7 @@ int llvm::isAArch64FrameOffsetLegal(const MachineInstr &MI, int &Offset,
*OutUnscaledOp = 0; *OutUnscaledOp = 0;
switch (MI.getOpcode()) { switch (MI.getOpcode()) {
default: default:
assert(0 && "unhandled opcode in rewriteAArch64FrameIndex"); llvm_unreachable("unhandled opcode in rewriteAArch64FrameIndex");
// Vector spills/fills can't take an immediate offset. // Vector spills/fills can't take an immediate offset.
case AArch64::LD1Twov2d: case AArch64::LD1Twov2d:
case AArch64::LD1Threev2d: case AArch64::LD1Threev2d:

View File

@ -51,7 +51,7 @@ MCOperand AArch64MCInstLower::lowerSymbolOperandDarwin(const MachineOperand &MO,
AArch64II::MO_PAGEOFF) AArch64II::MO_PAGEOFF)
RefKind = MCSymbolRefExpr::VK_GOTPAGEOFF; RefKind = MCSymbolRefExpr::VK_GOTPAGEOFF;
else else
assert(0 && "Unexpected target flags with MO_GOT on GV operand"); llvm_unreachable("Unexpected target flags with MO_GOT on GV operand");
} else if ((MO.getTargetFlags() & AArch64II::MO_TLS) != 0) { } else if ((MO.getTargetFlags() & AArch64II::MO_TLS) != 0) {
if ((MO.getTargetFlags() & AArch64II::MO_FRAGMENT) == AArch64II::MO_PAGE) if ((MO.getTargetFlags() & AArch64II::MO_FRAGMENT) == AArch64II::MO_PAGE)
RefKind = MCSymbolRefExpr::VK_TLVPPAGE; RefKind = MCSymbolRefExpr::VK_TLVPPAGE;
@ -154,7 +154,7 @@ bool AArch64MCInstLower::lowerOperand(const MachineOperand &MO,
MCOperand &MCOp) const { MCOperand &MCOp) const {
switch (MO.getType()) { switch (MO.getType()) {
default: default:
assert(0 && "unknown operand type"); llvm_unreachable("unknown operand type");
case MachineOperand::MO_Register: case MachineOperand::MO_Register:
// Ignore all implicit register operands. // Ignore all implicit register operands.
if (MO.isImplicit()) if (MO.isImplicit())

View File

@ -918,7 +918,7 @@ void AArch64InstPrinter::printPostIncOperand(const MCInst *MI, unsigned OpNo,
else else
O << getRegisterName(Reg); O << getRegisterName(Reg);
} else } else
assert(0 && "unknown operand kind in printPostIncOperand64"); llvm_unreachable("unknown operand kind in printPostIncOperand64");
} }
void AArch64InstPrinter::printVRegOperand(const MCInst *MI, unsigned OpNo, void AArch64InstPrinter::printVRegOperand(const MCInst *MI, unsigned OpNo,
@ -1109,7 +1109,7 @@ static unsigned getNextVectorRegister(unsigned Reg, unsigned Stride = 1) {
while (Stride--) { while (Stride--) {
switch (Reg) { switch (Reg) {
default: default:
assert(0 && "Vector register expected!"); llvm_unreachable("Vector register expected!");
case AArch64::Q0: Reg = AArch64::Q1; break; case AArch64::Q0: Reg = AArch64::Q1; break;
case AArch64::Q1: Reg = AArch64::Q2; break; case AArch64::Q1: Reg = AArch64::Q2; break;
case AArch64::Q2: Reg = AArch64::Q3; break; case AArch64::Q2: Reg = AArch64::Q3; break;

View File

@ -86,7 +86,7 @@ public:
static unsigned getFixupKindNumBytes(unsigned Kind) { static unsigned getFixupKindNumBytes(unsigned Kind) {
switch (Kind) { switch (Kind) {
default: default:
assert(0 && "Unknown fixup kind!"); llvm_unreachable("Unknown fixup kind!");
case AArch64::fixup_aarch64_tlsdesc_call: case AArch64::fixup_aarch64_tlsdesc_call:
return 0; return 0;

View File

@ -75,7 +75,7 @@ bool AArch64MachObjectWriter::getAArch64FixupKindMachOInfo(
Log2Size = llvm::Log2_32(4); Log2Size = llvm::Log2_32(4);
switch (Sym->getKind()) { switch (Sym->getKind()) {
default: default:
assert(0 && "Unexpected symbol reference variant kind!"); llvm_unreachable("Unexpected symbol reference variant kind!");
case MCSymbolRefExpr::VK_PAGEOFF: case MCSymbolRefExpr::VK_PAGEOFF:
RelocType = unsigned(MachO::ARM64_RELOC_PAGEOFF12); RelocType = unsigned(MachO::ARM64_RELOC_PAGEOFF12);
return true; return true;

View File

@ -493,7 +493,7 @@ def neon_vcvt_imm32 : Operand<i32> {
// rot_imm: An integer that encodes a rotate amount. Must be 8, 16, or 24. // rot_imm: An integer that encodes a rotate amount. Must be 8, 16, or 24.
def rot_imm_XFORM: SDNodeXForm<imm, [{ def rot_imm_XFORM: SDNodeXForm<imm, [{
switch (N->getZExtValue()){ switch (N->getZExtValue()){
default: assert(0); default: llvm_unreachable(nullptr);
case 0: return CurDAG->getTargetConstant(0, MVT::i32); case 0: return CurDAG->getTargetConstant(0, MVT::i32);
case 8: return CurDAG->getTargetConstant(1, MVT::i32); case 8: return CurDAG->getTargetConstant(1, MVT::i32);
case 16: return CurDAG->getTargetConstant(2, MVT::i32); case 16: return CurDAG->getTargetConstant(2, MVT::i32);

View File

@ -220,7 +220,7 @@ public:
void recordCPEClone(unsigned CPIdx, unsigned CPCloneIdx) { void recordCPEClone(unsigned CPIdx, unsigned CPCloneIdx) {
if (!CPEClones.insert(std::make_pair(CPCloneIdx, CPIdx)).second) if (!CPEClones.insert(std::make_pair(CPCloneIdx, CPIdx)).second)
assert(0 && "Duplicate entries!"); llvm_unreachable("Duplicate entries!");
} }
unsigned getOriginalCPIdx(unsigned CloneIdx) const { unsigned getOriginalCPIdx(unsigned CloneIdx) const {

View File

@ -1438,7 +1438,7 @@ void NVPTXAsmPrinter::printModuleLevelGV(const GlobalVariable *GVar,
O << "linear"; O << "linear";
break; break;
case 2: case 2:
assert(0 && "Anisotropic filtering is not supported"); llvm_unreachable("Anisotropic filtering is not supported");
default: default:
O << "nearest"; O << "nearest";
break; break;
@ -1562,7 +1562,7 @@ void NVPTXAsmPrinter::printModuleLevelGV(const GlobalVariable *GVar,
} }
break; break;
default: default:
assert(0 && "type not supported yet"); llvm_unreachable("type not supported yet");
} }
} }
@ -1682,7 +1682,7 @@ void NVPTXAsmPrinter::emitPTXGlobalVariable(const GlobalVariable *GVar,
O << "]"; O << "]";
break; break;
default: default:
assert(0 && "type not supported yet"); llvm_unreachable("type not supported yet");
} }
return; return;
} }

View File

@ -330,7 +330,7 @@ public:
unsigned Reg = Op.getReg(); unsigned Reg = Op.getReg();
unsigned regIdx = 0; unsigned regIdx = 0;
switch (Op.Reg.Kind) { switch (Op.Reg.Kind) {
default: assert(0 && "Unexpected register kind!"); default: llvm_unreachable("Unexpected register kind!");
case rk_FloatReg: case rk_FloatReg:
regIdx = Reg - Sparc::F0; regIdx = Reg - Sparc::F0;
if (regIdx % 4 || regIdx > 31) if (regIdx % 4 || regIdx > 31)

View File

@ -201,7 +201,7 @@ namespace {
} }
void relaxInstruction(const MCInst &Inst, MCInst &Res) const override { void relaxInstruction(const MCInst &Inst, MCInst &Res) const override {
// FIXME. // FIXME.
assert(0 && "relaxInstruction() unimplemented"); llvm_unreachable("relaxInstruction() unimplemented");
} }
bool writeNopData(uint64_t Count, MCObjectWriter *OW) const override { bool writeNopData(uint64_t Count, MCObjectWriter *OW) const override {

View File

@ -124,7 +124,7 @@ SparcMCExpr::VariantKind SparcMCExpr::parseVariantKind(StringRef name)
Sparc::Fixups SparcMCExpr::getFixupKind(SparcMCExpr::VariantKind Kind) { Sparc::Fixups SparcMCExpr::getFixupKind(SparcMCExpr::VariantKind Kind) {
switch (Kind) { switch (Kind) {
default: assert(0 && "Unhandled SparcMCExpr::VariantKind"); default: llvm_unreachable("Unhandled SparcMCExpr::VariantKind");
case VK_Sparc_LO: return Sparc::fixup_sparc_lo10; case VK_Sparc_LO: return Sparc::fixup_sparc_lo10;
case VK_Sparc_HI: return Sparc::fixup_sparc_hi22; case VK_Sparc_HI: return Sparc::fixup_sparc_hi22;
case VK_Sparc_H44: return Sparc::fixup_sparc_h44; case VK_Sparc_H44: return Sparc::fixup_sparc_h44;

View File

@ -213,7 +213,8 @@ extern "C" void *SparcCompilationCallbackC(intptr_t StubAddr) {
void SparcJITInfo::replaceMachineCodeForFunction(void *Old, void *New) { void SparcJITInfo::replaceMachineCodeForFunction(void *Old, void *New) {
assert(0 && "FIXME: Implement SparcJITInfo::replaceMachineCodeForFunction"); llvm_unreachable("FIXME: Implement SparcJITInfo::"
"replaceMachineCodeForFunction");
} }

View File

@ -380,7 +380,7 @@ static void ComputeFixedEncoding(const CodeGenIntrinsic &Int,
case 3: TypeSig.push_back(IIT_STRUCT3); break; case 3: TypeSig.push_back(IIT_STRUCT3); break;
case 4: TypeSig.push_back(IIT_STRUCT4); break; case 4: TypeSig.push_back(IIT_STRUCT4); break;
case 5: TypeSig.push_back(IIT_STRUCT5); break; case 5: TypeSig.push_back(IIT_STRUCT5); break;
default: assert(0 && "Unhandled case in struct"); default: llvm_unreachable("Unhandled case in struct");
} }
for (unsigned i = 0, e = Int.IS.RetVTs.size(); i != e; ++i) for (unsigned i = 0, e = Int.IS.RetVTs.size(); i != e; ++i)