[llvm-commits] [llvm] r75363 - in /llvm/trunk/lib: Analysis/ Analysis/IPA/ CodeGen/ CodeGen/AsmPrinter/ CodeGen/SelectionDAG/ ExecutionEngine/ ExecutionEngine/Interpreter/ ExecutionEngine/JIT/ Support/ Transforms/Scalar/ Transforms/Utils/ VMCore/
Török Edwin
edwintorok at gmail.com
Sun Jul 12 13:07:38 PDT 2009
On 2009-07-12 22:46, Chris Lattner wrote:
> On Jul 11, 2009, at 6:10 AM, Torok Edwin wrote:
>
>> Author: edwin
>> Date: Sat Jul 11 08:10:19 2009
>> New Revision: 75363
>>
>> URL: http://llvm.org/viewvc/llvm-project?rev=75363&view=rev
>> Log:
>> Convert more assert(0)+abort() -> LLVM_UNREACHABLE,
>> and abort()/exit() -> llvm_report_error().
>>
>
> Ok.
>
>
Thanks for the review.
>> +++ llvm/trunk/lib/CodeGen/IfConversion.cpp Sat Jul 11 08:10:19 2009
>> @@ -1130,8 +1132,10 @@
>> if (TII->isPredicated(I))
>> continue;
>> if (!TII->PredicateInstruction(I, Cond)) {
>> - cerr << "Unable to predicate " << *I << "!\n";
>> - abort();
>> + std::string msg;
>> + raw_string_ostream Msg(msg);
>> + Msg << "Unable to predicate " << *I << "!";
>> + llvm_report_error(Msg.str());
>>
>
> Should should be llvm_unreachable with the printout in #ifndef NDEBUG.
>
>
>> @@ -1164,8 +1168,10 @@
>>
>> if (!isPredicated)
>> if (!TII->PredicateInstruction(MI, Cond)) {
>> - cerr << "Unable to predicate " << *MI << "!\n";
>> - abort();
>> + std::string msg;
>> + raw_string_ostream Msg(msg);
>> + Msg << "Unable to predicate " << *MI << "!";
>> + llvm_report_error(Msg.str());
>>
>
> likewise.
>
>
>> +++ llvm/trunk/lib/CodeGen/PreAllocSplitting.cpp Sat Jul 11 08:10:19
>> 2009
>> @@ -31,6 +31,7 @@
>> #include "llvm/Target/TargetRegisterInfo.h"
>> #include "llvm/Support/CommandLine.h"
>> #include "llvm/Support/Debug.h"
>> +#include "llvm/Support/ErrorHandling.h"
>> #include "llvm/ADT/DenseMap.h"
>> #include "llvm/ADT/DepthFirstIterator.h"
>> #include "llvm/ADT/SmallPtrSet.h"
>> @@ -1036,8 +1037,7 @@
>>
>> if (ValNo->isUnused()) {
>> // Defined by a dead def? How can this be?
>> - assert(0 && "Val# is defined by a dead def?");
>> - abort();
>> + LLVM_UNREACHABLE("Val# is defined by a dead def?");
>>
>
> This should just be:
>
> assert(!ValNo->isUnused() && "Val# is defined by a dead def?");
>
Yeah, my sed script wasn't smart enough for that :)
Fixed.
>
>> +++ llvm/trunk/lib/CodeGen/RegisterScavenging.cpp Sat Jul 11
>> 08:10:19 2009
>> @@ -20,6 +20,7 @@
>> #include "llvm/CodeGen/MachineBasicBlock.h"
>> #include "llvm/CodeGen/MachineInstr.h"
>> #include "llvm/CodeGen/MachineRegisterInfo.h"
>> +#include "llvm/Support/ErrorHandling.h"
>> #include "llvm/Target/TargetRegisterInfo.h"
>> #include "llvm/Target/TargetInstrInfo.h"
>> #include "llvm/Target/TargetMachine.h"
>> @@ -459,8 +460,7 @@
>> }
>>
>> if (ScavengedReg != 0) {
>> - assert(0 && "Scavenger slot is live, unable to scavenge another
>> register!");
>> - abort();
>> + LLVM_UNREACHABLE("Scavenger slot is live, unable to scavenge
>> another register!");
>> }
>>
>
> assert(ScavengedReg == 0 && ...
>
Fixed them.
>
>> +++ llvm/trunk/lib/CodeGen/SelectionDAG/CallingConvLower.cpp Sat Jul
>> 11 08:10:19 2009
>> @@ -13,6 +13,8 @@
>> //
>> =
>> =
>> =
>> ----------------------------------------------------------------------=
>> ==//
>>
>> #include "llvm/CodeGen/CallingConvLower.h"
>> +#include "llvm/Support/ErrorHandling.h"
>> +#include "llvm/Support/raw_ostream.h"
>> #include "llvm/Target/TargetRegisterInfo.h"
>> #include "llvm/Target/TargetData.h"
>> #include "llvm/Target/TargetMachine.h"
>> @@ -65,9 +67,11 @@
>> ISD::ArgFlagsTy ArgFlags =
>> cast<ARG_FLAGSSDNode>(TheArgs->getOperand(3+i))->getArgFlags();
>> if (Fn(i, ArgVT, ArgVT, CCValAssign::Full, ArgFlags, *this)) {
>> - cerr << "Formal argument #" << i << " has unhandled type "
>> - << ArgVT.getMVTString() << "\n";
>> - abort();
>> + std::string msg;
>> + raw_string_ostream Msg(msg);
>> + Msg << "Formal argument #" << i << " has unhandled type "
>> + << ArgVT.getMVTString();
>> + llvm_report_error(Msg.str());
>>
>
> This should be an assert.
>
You mean an assert that doesn't print the stuff, or just a #ifndef
NDEBUG cerr<<,
followed by llvm_unreachable?
>
>> @@ -81,9 +85,11 @@
>> ISD::ArgFlagsTy ArgFlags =
>> cast<ARG_FLAGSSDNode>(TheRet->getOperand(i*2+2))->getArgFlags();
>> if (Fn(i, VT, VT, CCValAssign::Full, ArgFlags, *this)){
>> - cerr << "Return operand #" << i << " has unhandled type "
>> - << VT.getMVTString() << "\n";
>> - abort();
>> + std::string msg;
>> + raw_string_ostream Msg(msg);
>> + Msg << "Return operand #" << i << " has unhandled type "
>> + << VT.getMVTString();
>> + llvm_report_error(Msg.str());
>>
>
>
>> @@ -97,9 +103,11 @@
>> MVT ArgVT = TheCall->getArg(i).getValueType();
>> ISD::ArgFlagsTy ArgFlags = TheCall->getArgFlags(i);
>> if (Fn(i, ArgVT, ArgVT, CCValAssign::Full, ArgFlags, *this)) {
>> - cerr << "Call operand #" << i << " has unhandled type "
>> - << ArgVT.getMVTString() << "\n";
>> - abort();
>> + std::string msg;
>> + raw_string_ostream Msg(msg);
>> + Msg << "Call operand #" << i << " has unhandled type "
>> + << ArgVT.getMVTString();
>> + llvm_report_error(Msg.str());
>> }
>> }
>> }
>> @@ -114,9 +122,11 @@
>> MVT ArgVT = ArgVTs[i];
>> ISD::ArgFlagsTy ArgFlags = Flags[i];
>> if (Fn(i, ArgVT, ArgVT, CCValAssign::Full, ArgFlags, *this)) {
>> - cerr << "Call operand #" << i << " has unhandled type "
>> - << ArgVT.getMVTString() << "\n";
>> - abort();
>> + std::string msg;
>> + raw_string_ostream Msg(msg);
>> + Msg << "Call operand #" << i << " has unhandled type "
>> + << ArgVT.getMVTString();
>> + llvm_report_error(Msg.str());
>> }
>> }
>> }
>> @@ -130,9 +140,11 @@
>> if (TheCall->isInreg())
>> Flags.setInReg();
>> if (Fn(i, VT, VT, CCValAssign::Full, Flags, *this)) {
>> - cerr << "Call result #" << i << " has unhandled type "
>> - << VT.getMVTString() << "\n";
>> - abort();
>> + std::string msg;
>> + raw_string_ostream Msg(msg);
>> + Msg << "Call result #" << i << " has unhandled type "
>> + << VT.getMVTString();
>> + llvm_report_error(Msg.str());
>> }
>> }
>> }
>> @@ -141,8 +153,10 @@
>> /// produce a single value.
>> void CCState::AnalyzeCallResult(MVT VT, CCAssignFn Fn) {
>> if (Fn(0, VT, VT, CCValAssign::Full, ISD::ArgFlagsTy(), *this)) {
>> - cerr << "Call result has unhandled type "
>> - << VT.getMVTString() << "\n";
>> - abort();
>> + std::string msg;
>> + raw_string_ostream Msg(msg);
>> + Msg << "Call result has unhandled type "
>> + << VT.getMVTString();
>> + llvm_report_error(Msg.str());
>> }
>> }
>>
>
> likewise for these.
>
>
>> +++ llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp Sat Jul
>> 11 08:10:19 2009
>> @@ -47,6 +47,7 @@
>> #include "llvm/Target/TargetOptions.h"
>> #include "llvm/Support/Compiler.h"
>> #include "llvm/Support/Debug.h"
>> +#include "llvm/Support/ErrorHandling.h"
>> #include "llvm/Support/MathExtras.h"
>> #include "llvm/Support/Timer.h"
>> #include <algorithm>
>> @@ -151,10 +152,9 @@
>> // basic blocks, and the scheduler passes ownership of it to this
>> method.
>> MachineBasicBlock
>> *TargetLowering::EmitInstrWithCustomInserter(MachineInstr *MI,
>> MachineBasicBlock
>> *MBB) const {
>> - cerr << "If a target marks an instruction with "
>> - << "'usesCustomDAGSchedInserter', it must implement "
>> - << "TargetLowering::EmitInstrWithCustomInserter!\n";
>> - abort();
>> + llvm_report_error("If a target marks an instruction with "
>> + "'usesCustomDAGSchedInserter', it must
>> implement "
>> + "TargetLowering::EmitInstrWithCustomInserter!");
>>
>
> This should be an unreachable with the printout in #ifndef.
>
Ok, fixed.
>
>> @@ -875,7 +875,7 @@
>> if (EnableFastISelAbort)
>> // The "fast" selector couldn't handle something and
>> bailed.
>> // For the purpose of debugging, just abort.
>> - assert(0 && "FastISel didn't select the entire block");
>> + LLVM_UNREACHABLE("FastISel didn't select the entire
>> block");
>>
>
> This should be: assert(! EnableFastISelAbort && ...)
>
Fixed.
Best regards,
--Edwin
More information about the llvm-commits
mailing list