[llvm] r251266 - Convert assert(false) into llvm_unreachable where it makes sense.

Benjamin Kramer via llvm-commits llvm-commits at lists.llvm.org
Mon Oct 26 02:43:45 PDT 2015


On Mon, Oct 26, 2015 at 6:12 AM, David Blaikie <dblaikie at gmail.com> wrote:
>
> On Oct 25, 2015 3:30 PM, "Benjamin Kramer via llvm-commits"
> <llvm-commits at lists.llvm.org> wrote:
>>
>> Author: d0k
>> Date: Sun Oct 25 17:28:27 2015
>> New Revision: 251266
>>
>> URL: http://llvm.org/viewvc/llvm-project?rev=251266&view=rev
>> Log:
>> Convert assert(false) into llvm_unreachable where it makes sense.
>
> What sort of places didn't make sense?

There are some rather strange asserts like
lib/CodeGen/Analysis.cpp:655 that I was too afraid to touch :|

- Ben

>
>>
>> Modified:
>>     llvm/trunk/lib/Target/ARM/ARMBaseInstrInfo.cpp
>>     llvm/trunk/lib/Target/ARM/Thumb2SizeReduction.cpp
>>     llvm/trunk/lib/Target/NVPTX/NVPTXGenericToNVVM.cpp
>>     llvm/trunk/lib/Target/PowerPC/PPCVSXSwapRemoval.cpp
>>     llvm/trunk/lib/Target/X86/X86ISelLowering.cpp
>>     llvm/trunk/lib/Transforms/Scalar/LoopInterchange.cpp
>>
>> Modified: llvm/trunk/lib/Target/ARM/ARMBaseInstrInfo.cpp
>> URL:
>> http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/ARM/ARMBaseInstrInfo.cpp?rev=251266&r1=251265&r2=251266&view=diff
>>
>> ==============================================================================
>> --- llvm/trunk/lib/Target/ARM/ARMBaseInstrInfo.cpp (original)
>> +++ llvm/trunk/lib/Target/ARM/ARMBaseInstrInfo.cpp Sun Oct 25 17:28:27
>> 2015
>> @@ -97,7 +97,7 @@ ARMBaseInstrInfo::ARMBaseInstrInfo(const
>>      Subtarget(STI) {
>>    for (unsigned i = 0, e = array_lengthof(ARM_MLxTable); i != e; ++i) {
>>      if (!MLxEntryMap.insert(std::make_pair(ARM_MLxTable[i].MLxOpc,
>> i)).second)
>> -      assert(false && "Duplicated entries?");
>> +      llvm_unreachable("Duplicated entries?");
>>      MLxHazardOpcodes.insert(ARM_MLxTable[i].AddSubOpc);
>>      MLxHazardOpcodes.insert(ARM_MLxTable[i].MulOpc);
>>    }
>>
>> Modified: llvm/trunk/lib/Target/ARM/Thumb2SizeReduction.cpp
>> URL:
>> http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/ARM/Thumb2SizeReduction.cpp?rev=251266&r1=251265&r2=251266&view=diff
>>
>> ==============================================================================
>> --- llvm/trunk/lib/Target/ARM/Thumb2SizeReduction.cpp (original)
>> +++ llvm/trunk/lib/Target/ARM/Thumb2SizeReduction.cpp Sun Oct 25 17:28:27
>> 2015
>> @@ -213,7 +213,7 @@ Thumb2SizeReduce::Thumb2SizeReduce(std::
>>    for (unsigned i = 0, e = array_lengthof(ReduceTable); i != e; ++i) {
>>      unsigned FromOpc = ReduceTable[i].WideOpc;
>>      if (!ReduceOpcodeMap.insert(std::make_pair(FromOpc, i)).second)
>> -      assert(false && "Duplicated entries?");
>> +      llvm_unreachable("Duplicated entries?");
>>    }
>>  }
>>
>>
>> Modified: llvm/trunk/lib/Target/NVPTX/NVPTXGenericToNVVM.cpp
>> URL:
>> http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/NVPTX/NVPTXGenericToNVVM.cpp?rev=251266&r1=251265&r2=251266&view=diff
>>
>> ==============================================================================
>> --- llvm/trunk/lib/Target/NVPTX/NVPTXGenericToNVVM.cpp (original)
>> +++ llvm/trunk/lib/Target/NVPTX/NVPTXGenericToNVVM.cpp Sun Oct 25 17:28:27
>> 2015
>> @@ -316,8 +316,8 @@ Value *GenericToNVVM::remapConstantExpr(
>>                                NewOperands[0], NewOperands[1]);
>>    case Instruction::FCmp:
>>      // CompareConstantExpr (fcmp)
>> -    assert(false && "Address space conversion should have no effect "
>> -                    "on float point CompareConstantExpr (fcmp)!");
>> +    llvm_unreachable("Address space conversion should have no effect "
>> +                     "on float point CompareConstantExpr (fcmp)!");
>>      return C;
>
> Drop the unreachable return?
>
>>    case Instruction::ExtractElement:
>>      // ExtractElementConstantExpr
>> @@ -362,7 +362,7 @@ Value *GenericToNVVM::remapConstantExpr(
>>        return Builder.CreateCast(Instruction::CastOps(C->getOpcode()),
>>                                  NewOperands[0], C->getType());
>>      }
>> -    assert(false && "GenericToNVVM encountered an unsupported
>> ConstantExpr");
>> +    llvm_unreachable("GenericToNVVM encountered an unsupported
>> ConstantExpr");
>>      return C;
>
> And here
>
>>    }
>>  }
>>
>> Modified: llvm/trunk/lib/Target/PowerPC/PPCVSXSwapRemoval.cpp
>> URL:
>> http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/PowerPC/PPCVSXSwapRemoval.cpp?rev=251266&r1=251265&r2=251266&view=diff
>>
>> ==============================================================================
>> --- llvm/trunk/lib/Target/PowerPC/PPCVSXSwapRemoval.cpp (original)
>> +++ llvm/trunk/lib/Target/PowerPC/PPCVSXSwapRemoval.cpp Sun Oct 25
>> 17:28:27 2015
>> @@ -789,7 +789,7 @@ void PPCVSXSwapRemoval::handleSpecialSwa
>>    switch (SwapVector[EntryIdx].SpecialHandling) {
>>
>>    default:
>> -    assert(false && "Unexpected special handling type");
>> +    llvm_unreachable("Unexpected special handling type");
>>      break;
>
> Unreachable break
>
>>
>>    // For splats based on an index into a vector, add N/2 modulo N
>> @@ -803,7 +803,7 @@ void PPCVSXSwapRemoval::handleSpecialSwa
>>
>>      switch (MI->getOpcode()) {
>>      default:
>> -      assert(false && "Unexpected splat opcode");
>> +      llvm_unreachable("Unexpected splat opcode");
>>      case PPC::VSPLTB: NElts = 16; break;
>>      case PPC::VSPLTH: NElts = 8;  break;
>>      case PPC::VSPLTW: NElts = 4;  break;
>>
>> Modified: llvm/trunk/lib/Target/X86/X86ISelLowering.cpp
>> URL:
>> http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86ISelLowering.cpp?rev=251266&r1=251265&r2=251266&view=diff
>>
>> ==============================================================================
>> --- llvm/trunk/lib/Target/X86/X86ISelLowering.cpp (original)
>> +++ llvm/trunk/lib/Target/X86/X86ISelLowering.cpp Sun Oct 25 17:28:27 2015
>> @@ -10957,8 +10957,7 @@ static SDValue lower1BitVectorShuffle(SD
>>    EVT ExtVT;
>>    switch (VT.SimpleTy) {
>>    default:
>> -    assert(false && "Expected a vector of i1 elements");
>> -    break;
>> +    llvm_unreachable("Expected a vector of i1 elements");
>>    case MVT::v2i1:
>>      ExtVT = MVT::v2i64;
>>      break;
>>
>> Modified: llvm/trunk/lib/Transforms/Scalar/LoopInterchange.cpp
>> URL:
>> http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/Scalar/LoopInterchange.cpp?rev=251266&r1=251265&r2=251266&view=diff
>>
>> ==============================================================================
>> --- llvm/trunk/lib/Transforms/Scalar/LoopInterchange.cpp (original)
>> +++ llvm/trunk/lib/Transforms/Scalar/LoopInterchange.cpp Sun Oct 25
>> 17:28:27 2015
>> @@ -996,7 +996,7 @@ void LoopInterchangeTransform::removeChi
>>        return;
>>      }
>>    }
>> -  assert(false && "Couldn't find loop");
>> +  llvm_unreachable("Couldn't find loop");
>>  }
>>
>>  void LoopInterchangeTransform::restructureLoops(Loop *InnerLoop,
>>
>>
>> _______________________________________________
>> llvm-commits mailing list
>> llvm-commits at lists.llvm.org
>> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits


More information about the llvm-commits mailing list