mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-11-02 07:17:36 +00:00
More dead code removal (using -Wunreachable-code)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148578 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -167,10 +167,8 @@ ISD::CondCode llvm::getFCmpCondCode(FCmpInst::Predicate Pred) {
|
||||
case FCmpInst::FCMP_ULE: return ISD::SETULE;
|
||||
case FCmpInst::FCMP_UNE: return ISD::SETUNE;
|
||||
case FCmpInst::FCMP_TRUE: return ISD::SETTRUE;
|
||||
default: break;
|
||||
default: llvm_unreachable("Invalid FCmp predicate opcode!");
|
||||
}
|
||||
llvm_unreachable("Invalid FCmp predicate opcode!");
|
||||
return ISD::SETFALSE;
|
||||
}
|
||||
|
||||
ISD::CondCode llvm::getFCmpCodeWithoutNaN(ISD::CondCode CC) {
|
||||
@@ -181,9 +179,8 @@ ISD::CondCode llvm::getFCmpCodeWithoutNaN(ISD::CondCode CC) {
|
||||
case ISD::SETOLE: case ISD::SETULE: return ISD::SETLE;
|
||||
case ISD::SETOGT: case ISD::SETUGT: return ISD::SETGT;
|
||||
case ISD::SETOGE: case ISD::SETUGE: return ISD::SETGE;
|
||||
default: break;
|
||||
default: return CC;
|
||||
}
|
||||
return CC;
|
||||
}
|
||||
|
||||
/// getICmpCondCode - Return the ISD condition code corresponding to
|
||||
@@ -203,7 +200,6 @@ ISD::CondCode llvm::getICmpCondCode(ICmpInst::Predicate Pred) {
|
||||
case ICmpInst::ICMP_UGT: return ISD::SETUGT;
|
||||
default:
|
||||
llvm_unreachable("Invalid ICmp predicate opcode!");
|
||||
return ISD::SETNE;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1136,7 +1136,7 @@ void AsmPrinter::EmitJumpTableEntry(const MachineJumpTableInfo *MJTI,
|
||||
const MCExpr *Value = 0;
|
||||
switch (MJTI->getEntryKind()) {
|
||||
case MachineJumpTableInfo::EK_Inline:
|
||||
llvm_unreachable("Cannot emit EK_Inline jump table entry"); break;
|
||||
llvm_unreachable("Cannot emit EK_Inline jump table entry");
|
||||
case MachineJumpTableInfo::EK_Custom32:
|
||||
Value = TM.getTargetLowering()->LowerCustomJumpTableEntry(MJTI, MBB, UID,
|
||||
OutContext);
|
||||
@@ -1439,7 +1439,6 @@ static const MCExpr *LowerConstant(const Constant *CV, AsmPrinter &AP) {
|
||||
const ConstantExpr *CE = dyn_cast<ConstantExpr>(CV);
|
||||
if (CE == 0) {
|
||||
llvm_unreachable("Unknown constant value to lower!");
|
||||
return MCConstantExpr::Create(0, Ctx);
|
||||
}
|
||||
|
||||
switch (CE->getOpcode()) {
|
||||
@@ -1461,7 +1460,6 @@ static const MCExpr *LowerConstant(const Constant *CV, AsmPrinter &AP) {
|
||||
!AP.MF ? 0 : AP.MF->getFunction()->getParent());
|
||||
report_fatal_error(OS.str());
|
||||
}
|
||||
return MCConstantExpr::Create(0, Ctx);
|
||||
case Instruction::GetElementPtr: {
|
||||
const TargetData &TD = *AP.TM.getTargetData();
|
||||
// Generate a symbolic expression for the byte address
|
||||
@@ -2140,5 +2138,4 @@ GCMetadataPrinter *AsmPrinter::GetOrCreateGCPrinter(GCStrategy *S) {
|
||||
}
|
||||
|
||||
report_fatal_error("no GCMetadataPrinter registered for GC: " + Twine(Name));
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -224,9 +224,8 @@ unsigned DIEInteger::SizeOf(AsmPrinter *AP, unsigned Form) const {
|
||||
case dwarf::DW_FORM_udata: return MCAsmInfo::getULEB128Size(Integer);
|
||||
case dwarf::DW_FORM_sdata: return MCAsmInfo::getSLEB128Size(Integer);
|
||||
case dwarf::DW_FORM_addr: return AP->getTargetData().getPointerSize();
|
||||
default: llvm_unreachable("DIE Value form not supported yet"); break;
|
||||
default: llvm_unreachable("DIE Value form not supported yet");
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
#ifndef NDEBUG
|
||||
@@ -340,9 +339,8 @@ unsigned DIEBlock::SizeOf(AsmPrinter *AP, unsigned Form) const {
|
||||
case dwarf::DW_FORM_block2: return Size + sizeof(int16_t);
|
||||
case dwarf::DW_FORM_block4: return Size + sizeof(int32_t);
|
||||
case dwarf::DW_FORM_block: return Size + MCAsmInfo::getULEB128Size(Size);
|
||||
default: llvm_unreachable("Improper form for block"); break;
|
||||
default: llvm_unreachable("Improper form for block");
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
#ifndef NDEBUG
|
||||
|
||||
@@ -483,8 +483,9 @@ BranchFolder::MergePotentialsElt::operator<(const MergePotentialsElt &o) const {
|
||||
// an object with itself.
|
||||
#ifndef _GLIBCXX_DEBUG
|
||||
llvm_unreachable("Predecessor appears twice");
|
||||
#endif
|
||||
#else
|
||||
return false;
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -114,14 +114,12 @@ bool GCStrategy::initializeCustomLowering(Module &M) { return false; }
|
||||
bool GCStrategy::performCustomLowering(Function &F) {
|
||||
dbgs() << "gc " << getName() << " must override performCustomLowering.\n";
|
||||
llvm_unreachable(0);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
bool GCStrategy::findCustomSafePoints(GCFunctionInfo& FI, MachineFunction &F) {
|
||||
dbgs() << "gc " << getName() << " must override findCustomSafePoints.\n";
|
||||
llvm_unreachable(0);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -214,7 +214,6 @@ MachineBasicBlock *findCorrespondingPred(const MachineInstr *MI,
|
||||
}
|
||||
|
||||
llvm_unreachable("MachineOperand::getParent() failure?");
|
||||
return 0;
|
||||
}
|
||||
|
||||
/// RewriteUse - Rewrite a use of the symbolic value. This handles PHI nodes,
|
||||
|
||||
@@ -87,7 +87,6 @@ bool PseudoSourceValue::isConstant(const MachineFrameInfo *) const {
|
||||
this == getJumpTable())
|
||||
return true;
|
||||
llvm_unreachable("Unknown PseudoSourceValue!");
|
||||
return false;
|
||||
}
|
||||
|
||||
bool PseudoSourceValue::isAliased(const MachineFrameInfo *MFI) const {
|
||||
@@ -97,7 +96,6 @@ bool PseudoSourceValue::isAliased(const MachineFrameInfo *MFI) const {
|
||||
this == getJumpTable())
|
||||
return false;
|
||||
llvm_unreachable("Unknown PseudoSourceValue!");
|
||||
return true;
|
||||
}
|
||||
|
||||
bool PseudoSourceValue::mayAlias(const MachineFrameInfo *MFI) const {
|
||||
|
||||
@@ -801,10 +801,8 @@ EmitSpecialNode(SDNode *Node, bool IsClone, bool IsCloned,
|
||||
Node->dump();
|
||||
#endif
|
||||
llvm_unreachable("This target-independent node should have been selected!");
|
||||
break;
|
||||
case ISD::EntryToken:
|
||||
llvm_unreachable("EntryToken should have been excluded from the schedule!");
|
||||
break;
|
||||
case ISD::MERGE_VALUES:
|
||||
case ISD::TokenFactor: // fall thru
|
||||
break;
|
||||
|
||||
@@ -2438,7 +2438,6 @@ std::pair <SDValue, SDValue> SelectionDAGLegalize::ExpandAtomic(SDNode *Node) {
|
||||
switch (Opc) {
|
||||
default:
|
||||
llvm_unreachable("Unhandled atomic intrinsic Expand!");
|
||||
break;
|
||||
case ISD::ATOMIC_SWAP:
|
||||
switch (VT.SimpleTy) {
|
||||
default: llvm_unreachable("Unexpected value type for atomic!");
|
||||
|
||||
@@ -1179,7 +1179,6 @@ std::pair <SDValue, SDValue> DAGTypeLegalizer::ExpandAtomic(SDNode *Node) {
|
||||
switch (Opc) {
|
||||
default:
|
||||
llvm_unreachable("Unhandled atomic intrinsic Expand!");
|
||||
break;
|
||||
case ISD::ATOMIC_SWAP:
|
||||
switch (VT.SimpleTy) {
|
||||
default: llvm_unreachable("Unexpected value type for atomic!");
|
||||
@@ -1501,8 +1500,6 @@ ExpandShiftWithUnknownAmountBit(SDNode *N, SDValue &Lo, SDValue &Hi) {
|
||||
Hi = DAG.getNode(ISD::SELECT, dl, NVT, isShort, HiS, HiL);
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
void DAGTypeLegalizer::ExpandIntRes_ADDSUB(SDNode *N,
|
||||
|
||||
@@ -2245,8 +2245,7 @@ unsigned SelectionDAG::ComputeNumSignBits(SDValue Op, unsigned Depth) const{
|
||||
|
||||
Tmp2 = ComputeNumSignBits(Op.getOperand(1), Depth+1);
|
||||
if (Tmp2 == 1) return 1;
|
||||
return std::min(Tmp, Tmp2)-1;
|
||||
break;
|
||||
return std::min(Tmp, Tmp2)-1;
|
||||
|
||||
case ISD::SUB:
|
||||
Tmp2 = ComputeNumSignBits(Op.getOperand(1), Depth+1);
|
||||
@@ -2275,8 +2274,7 @@ unsigned SelectionDAG::ComputeNumSignBits(SDValue Op, unsigned Depth) const{
|
||||
// is, at worst, one more bit than the inputs.
|
||||
Tmp = ComputeNumSignBits(Op.getOperand(0), Depth+1);
|
||||
if (Tmp == 1) return 1; // Early out.
|
||||
return std::min(Tmp, Tmp2)-1;
|
||||
break;
|
||||
return std::min(Tmp, Tmp2)-1;
|
||||
case ISD::TRUNCATE:
|
||||
// FIXME: it's tricky to do anything useful for this, but it is an important
|
||||
// case for targets like X86.
|
||||
@@ -3160,16 +3158,14 @@ SDValue SelectionDAG::getNode(unsigned Opcode, DebugLoc DL, EVT VT,
|
||||
case ISD::SELECT:
|
||||
if (N1C) {
|
||||
if (N1C->getZExtValue())
|
||||
return N2; // select true, X, Y -> X
|
||||
else
|
||||
return N3; // select false, X, Y -> Y
|
||||
return N2; // select true, X, Y -> X
|
||||
return N3; // select false, X, Y -> Y
|
||||
}
|
||||
|
||||
if (N2 == N3) return N2; // select C, X, X -> X
|
||||
break;
|
||||
case ISD::VECTOR_SHUFFLE:
|
||||
llvm_unreachable("should use getVectorShuffle constructor!");
|
||||
break;
|
||||
case ISD::INSERT_SUBVECTOR: {
|
||||
SDValue Index = N3;
|
||||
if (VT.isSimple() && N1.getValueType().isSimple()
|
||||
|
||||
@@ -206,7 +206,6 @@ static SDValue getCopyFromParts(SelectionDAG &DAG, DebugLoc DL,
|
||||
return DAG.getNode(ISD::BITCAST, DL, ValueVT, Val);
|
||||
|
||||
llvm_unreachable("Unknown mismatch!");
|
||||
return SDValue();
|
||||
}
|
||||
|
||||
/// getCopyFromParts - Create a value that contains the specified legal parts
|
||||
@@ -1128,7 +1127,6 @@ SDValue SelectionDAGBuilder::getValueImpl(const Value *V) {
|
||||
}
|
||||
|
||||
llvm_unreachable("Can't get register for value!");
|
||||
return SDValue();
|
||||
}
|
||||
|
||||
void SelectionDAGBuilder::visitRet(const ReturnInst &I) {
|
||||
@@ -3379,7 +3377,7 @@ void SelectionDAGBuilder::visitAtomicRMW(const AtomicRMWInst &I) {
|
||||
DebugLoc dl = getCurDebugLoc();
|
||||
ISD::NodeType NT;
|
||||
switch (I.getOperation()) {
|
||||
default: llvm_unreachable("Unknown atomicrmw operation"); return;
|
||||
default: llvm_unreachable("Unknown atomicrmw operation");
|
||||
case AtomicRMWInst::Xchg: NT = ISD::ATOMIC_SWAP; break;
|
||||
case AtomicRMWInst::Add: NT = ISD::ATOMIC_LOAD_ADD; break;
|
||||
case AtomicRMWInst::Sub: NT = ISD::ATOMIC_LOAD_SUB; break;
|
||||
@@ -5064,7 +5062,6 @@ SelectionDAGBuilder::visitIntrinsicCall(const CallInst &I, unsigned Intrinsic) {
|
||||
case Intrinsic::gcread:
|
||||
case Intrinsic::gcwrite:
|
||||
llvm_unreachable("GC failed to lower gcread/gcwrite intrinsics!");
|
||||
return 0;
|
||||
case Intrinsic::flt_rounds:
|
||||
setValue(&I, DAG.getNode(ISD::FLT_ROUNDS_, dl, MVT::i32));
|
||||
return 0;
|
||||
@@ -6605,7 +6602,6 @@ void TargetLowering::LowerOperationWrapper(SDNode *N,
|
||||
|
||||
SDValue TargetLowering::LowerOperation(SDValue Op, SelectionDAG &DAG) const {
|
||||
llvm_unreachable("LowerOperation not implemented for this target!");
|
||||
return SDValue();
|
||||
}
|
||||
|
||||
void
|
||||
|
||||
@@ -249,7 +249,6 @@ TargetLowering::EmitInstrWithCustomInserter(MachineInstr *MI,
|
||||
"TargetLowering::EmitInstrWithCustomInserter!";
|
||||
#endif
|
||||
llvm_unreachable(0);
|
||||
return 0;
|
||||
}
|
||||
|
||||
void TargetLowering::AdjustInstrPostInstrSelection(MachineInstr *MI,
|
||||
@@ -981,7 +980,6 @@ static void collectFailStats(const Instruction *I) {
|
||||
case Instruction::InsertValue: NumFastIselFailInsertValue++; return;
|
||||
case Instruction::LandingPad: NumFastIselFailLandingPad++; return;
|
||||
}
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
@@ -1072,7 +1072,6 @@ void SplitEditor::finish(SmallVectorImpl<unsigned> *LRMap) {
|
||||
break;
|
||||
case SM_Speed:
|
||||
llvm_unreachable("Spill mode 'speed' not implemented yet");
|
||||
break;
|
||||
}
|
||||
|
||||
// Transfer the simply mapped values, check if any are skipped.
|
||||
|
||||
@@ -53,11 +53,9 @@ TargetLoweringObjectFileELF::getCFIPersonalitySymbol(const GlobalValue *GV,
|
||||
report_fatal_error("We do not support this DWARF encoding yet!");
|
||||
case dwarf::DW_EH_PE_absptr:
|
||||
return Mang->getSymbol(GV);
|
||||
break;
|
||||
case dwarf::DW_EH_PE_pcrel: {
|
||||
return getContext().GetOrCreateSymbol(StringRef("DW.ref.") +
|
||||
Mang->getSymbol(GV)->getName());
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -361,8 +359,6 @@ getExplicitSectionGlobal(const GlobalValue *GV, SectionKind Kind,
|
||||
report_fatal_error("Global variable '" + GV->getName() +
|
||||
"' has an invalid section specifier '" +
|
||||
GV->getSection() + "': " + ErrorCode + ".");
|
||||
// Fall back to dropping it into the data section.
|
||||
return DataSection;
|
||||
}
|
||||
|
||||
// Get the section.
|
||||
|
||||
Reference in New Issue
Block a user