From 725011e72f7b6fa358d953cffbb63f218e20af8b Mon Sep 17 00:00:00 2001 From: Craig Topper Date: Wed, 9 Apr 2014 04:20:00 +0000 Subject: [PATCH] [C++11] Replace some comparisons with 'nullptr' with simple boolean checks to reduce verbosity. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@205829 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/llvm/ADT/IntrusiveRefCntPtr.h | 2 +- include/llvm/ADT/StringRef.h | 2 +- include/llvm/ADT/ilist.h | 2 +- include/llvm/CodeGen/PBQP/Graph.h | 4 ++-- include/llvm/Support/CommandLine.h | 2 +- include/llvm/Support/FileSystem.h | 4 ++-- include/llvm/Support/YAMLParser.h | 2 +- lib/Support/Allocator.cpp | 4 ++-- lib/Support/CommandLine.cpp | 21 +++++++++---------- lib/Support/DynamicLibrary.cpp | 6 +++--- lib/Support/FoldingSet.cpp | 11 +++++----- lib/Support/ManagedStatic.cpp | 2 +- lib/Support/PrettyStackTrace.cpp | 2 +- lib/Support/SourceMgr.cpp | 2 +- lib/Support/StringMap.cpp | 6 +++--- lib/Support/TargetRegistry.cpp | 2 +- lib/Support/Timer.cpp | 4 ++-- lib/Support/YAMLParser.cpp | 4 ++-- .../NVPTX/NVPTXFavorNonGenericAddrSpaces.cpp | 2 +- 19 files changed, 41 insertions(+), 43 deletions(-) diff --git a/include/llvm/ADT/IntrusiveRefCntPtr.h b/include/llvm/ADT/IntrusiveRefCntPtr.h index 449f445e71b..cd1946c54d4 100644 --- a/include/llvm/ADT/IntrusiveRefCntPtr.h +++ b/include/llvm/ADT/IntrusiveRefCntPtr.h @@ -179,7 +179,7 @@ public: typedef T* (IntrusiveRefCntPtr::*unspecified_bool_type) () const; operator unspecified_bool_type() const { - return Obj == nullptr ? nullptr : &IntrusiveRefCntPtr::getPtr; + return Obj ? &IntrusiveRefCntPtr::getPtr : nullptr; } void swap(IntrusiveRefCntPtr& other) { diff --git a/include/llvm/ADT/StringRef.h b/include/llvm/ADT/StringRef.h index d306b399faf..bd5a550b9f5 100644 --- a/include/llvm/ADT/StringRef.h +++ b/include/llvm/ADT/StringRef.h @@ -186,7 +186,7 @@ namespace llvm { /// str - Get the contents as an std::string. std::string str() const { - if (Data == nullptr) return std::string(); + if (!Data) return std::string(); return std::string(Data, Length); } diff --git a/include/llvm/ADT/ilist.h b/include/llvm/ADT/ilist.h index 3c076d4399d..abb5a22fd21 100644 --- a/include/llvm/ADT/ilist.h +++ b/include/llvm/ADT/ilist.h @@ -383,7 +383,7 @@ public: // Miscellaneous inspection routines. size_type max_size() const { return size_type(-1); } bool LLVM_ATTRIBUTE_UNUSED_RESULT empty() const { - return Head == nullptr || Head == getTail(); + return !Head || Head == getTail(); } // Front and back accessor functions... diff --git a/include/llvm/CodeGen/PBQP/Graph.h b/include/llvm/CodeGen/PBQP/Graph.h index 07c33377314..1b960381c7b 100644 --- a/include/llvm/CodeGen/PBQP/Graph.h +++ b/include/llvm/CodeGen/PBQP/Graph.h @@ -336,7 +336,7 @@ namespace PBQP { /// each node in the graph, and handleAddEdge for each edge, to give the /// solver an opportunity to set up any requried metadata. void setSolver(SolverT &S) { - assert(Solver == nullptr && "Solver already set. Call unsetSolver()."); + assert(!Solver && "Solver already set. Call unsetSolver()."); Solver = &S; for (auto NId : nodeIds()) Solver->handleAddNode(NId); @@ -346,7 +346,7 @@ namespace PBQP { /// \brief Release from solver instance. void unsetSolver() { - assert(Solver != nullptr && "Solver not set."); + assert(Solver && "Solver not set."); Solver = nullptr; } diff --git a/include/llvm/Support/CommandLine.h b/include/llvm/Support/CommandLine.h index 006680587b6..ab94d615006 100644 --- a/include/llvm/Support/CommandLine.h +++ b/include/llvm/Support/CommandLine.h @@ -1664,7 +1664,7 @@ class alias : public Option { void done() { if (!hasArgStr()) error("cl::alias must have argument name specified!"); - if (AliasFor == nullptr) + if (!AliasFor) error("cl::alias must have an cl::aliasopt(option) specified!"); addArgument(); } diff --git a/include/llvm/Support/FileSystem.h b/include/llvm/Support/FileSystem.h index 52182a8e77b..b2a06770825 100644 --- a/include/llvm/Support/FileSystem.h +++ b/include/llvm/Support/FileSystem.h @@ -828,9 +828,9 @@ public: bool operator==(const directory_iterator &RHS) const { if (State == RHS.State) return true; - if (RHS.State == nullptr) + if (!RHS.State) return State->CurrentEntry == directory_entry(); - if (State == nullptr) + if (!State) return RHS.State->CurrentEntry == directory_entry(); return State->CurrentEntry == RHS.State->CurrentEntry; } diff --git a/include/llvm/Support/YAMLParser.h b/include/llvm/Support/YAMLParser.h index cbe154464f3..d9d632e00eb 100644 --- a/include/llvm/Support/YAMLParser.h +++ b/include/llvm/Support/YAMLParser.h @@ -305,7 +305,7 @@ public: assert(Base && "Attempted to advance iterator past end!"); Base->increment(); // Create an end iterator. - if (Base->CurrentEntry == nullptr) + if (!Base->CurrentEntry) Base = nullptr; return *this; } diff --git a/lib/Support/Allocator.cpp b/lib/Support/Allocator.cpp index 11f7ba80a6f..da1bf3e18c4 100644 --- a/lib/Support/Allocator.cpp +++ b/lib/Support/Allocator.cpp @@ -39,7 +39,7 @@ void MallocSlabAllocator::Deallocate(MemSlab *Slab) { void BumpPtrAllocatorBase::PrintStats() const { unsigned NumSlabs = 0; size_t TotalMemory = 0; - for (MemSlab *Slab = CurSlab; Slab != nullptr; Slab = Slab->NextPtr) { + for (MemSlab *Slab = CurSlab; Slab; Slab = Slab->NextPtr) { TotalMemory += Slab->Size; ++NumSlabs; } @@ -53,7 +53,7 @@ void BumpPtrAllocatorBase::PrintStats() const { size_t BumpPtrAllocatorBase::getTotalMemory() const { size_t TotalMemory = 0; - for (MemSlab *Slab = CurSlab; Slab != nullptr; Slab = Slab->NextPtr) { + for (MemSlab *Slab = CurSlab; Slab; Slab = Slab->NextPtr) { TotalMemory += Slab->Size; } return TotalMemory; diff --git a/lib/Support/CommandLine.cpp b/lib/Support/CommandLine.cpp index 04a40b46f1f..4777616b952 100644 --- a/lib/Support/CommandLine.cpp +++ b/lib/Support/CommandLine.cpp @@ -300,7 +300,7 @@ static inline bool ProvideOption(Option *Handler, StringRef ArgName, // Enforce value requirements switch (Handler->getValueExpectedFlag()) { case ValueRequired: - if (Value.data() == nullptr) { // No value specified? + if (!Value.data()) { // No value specified? if (i+1 >= argc) return Handler->error("requires a value!"); // Steal the next argument, like for '-o filename' @@ -400,7 +400,7 @@ static Option *HandlePrefixedOrGroupedOption(StringRef &Arg, StringRef &Value, // Do the lookup! size_t Length = 0; Option *PGOpt = getOptionPred(Arg, Length, isPrefixedOrGrouping, OptionsMap); - if (PGOpt == nullptr) return nullptr; + if (!PGOpt) return nullptr; // If the option is a prefixed option, then the value is simply the // rest of the name... so fall through to later processing, by @@ -770,7 +770,7 @@ void cl::ParseCommandLineOptions(int argc, const char * const *argv, // Calculate how many positional values are _required_. bool UnboundedFound = false; - for (size_t i = ConsumeAfterOpt != nullptr, e = PositionalOpts.size(); + for (size_t i = ConsumeAfterOpt ? 1 : 0, e = PositionalOpts.size(); i != e; ++i) { Option *Opt = PositionalOpts[i]; if (RequiresValue(Opt)) @@ -845,8 +845,7 @@ void cl::ParseCommandLineOptions(int argc, const char * const *argv, // All of the positional arguments have been fulfulled, give the rest to // the consume after option... if it's specified... // - if (PositionalVals.size() >= NumPositionalRequired && - ConsumeAfterOpt != nullptr) { + if (PositionalVals.size() >= NumPositionalRequired && ConsumeAfterOpt) { for (++i; i < argc; ++i) PositionalVals.push_back(std::make_pair(argv[i],i)); break; // Handle outside of the argument processing loop... @@ -884,18 +883,18 @@ void cl::ParseCommandLineOptions(int argc, const char * const *argv, Handler = LookupOption(ArgName, Value, Opts); // Check to see if this "option" is really a prefixed or grouped argument. - if (Handler == nullptr) + if (!Handler) Handler = HandlePrefixedOrGroupedOption(ArgName, Value, ErrorParsing, Opts); // Otherwise, look for the closest available option to report to the user // in the upcoming error. - if (Handler == nullptr && SinkOpts.empty()) + if (!Handler && SinkOpts.empty()) NearestHandler = LookupNearestOption(ArgName, Opts, NearestHandlerString); } - if (Handler == nullptr) { + if (!Handler) { if (SinkOpts.empty()) { errs() << ProgramName << ": Unknown command line argument '" << argv[i] << "'. Try: '" << argv[0] << " -help'\n"; @@ -939,7 +938,7 @@ void cl::ParseCommandLineOptions(int argc, const char * const *argv, << " positional arguments: See: " << argv[0] << " -help\n"; ErrorParsing = true; - } else if (ConsumeAfterOpt == nullptr) { + } else if (!ConsumeAfterOpt) { // Positional args have already been handled if ConsumeAfter is specified. unsigned ValNo = 0, NumVals = static_cast(PositionalVals.size()); for (size_t i = 0, e = PositionalOpts.size(); i != e; ++i) { @@ -1044,7 +1043,7 @@ void cl::ParseCommandLineOptions(int argc, const char * const *argv, // bool Option::error(const Twine &Message, StringRef ArgName) { - if (ArgName.data() == nullptr) ArgName = ArgStr; + if (!ArgName.data()) ArgName = ArgStr; if (ArgName.empty()) errs() << HelpStr; // Be nice for positional arguments else @@ -1779,7 +1778,7 @@ void cl::SetVersionPrinter(void (*func)()) { } void cl::AddExtraVersionPrinter(void (*func)()) { - if (ExtraVersionPrinters == nullptr) + if (!ExtraVersionPrinters) ExtraVersionPrinters = new std::vector; ExtraVersionPrinters->push_back(func); diff --git a/lib/Support/DynamicLibrary.cpp b/lib/Support/DynamicLibrary.cpp index e4a438585b8..82d7c0cc6d1 100644 --- a/lib/Support/DynamicLibrary.cpp +++ b/lib/Support/DynamicLibrary.cpp @@ -58,7 +58,7 @@ DynamicLibrary DynamicLibrary::getPermanentLibrary(const char *filename, SmartScopedLock lock(*SymbolsMutex); void *handle = dlopen(filename, RTLD_LAZY|RTLD_GLOBAL); - if (handle == nullptr) { + if (!handle) { if (errMsg) *errMsg = dlerror(); return DynamicLibrary(); } @@ -66,11 +66,11 @@ DynamicLibrary DynamicLibrary::getPermanentLibrary(const char *filename, #ifdef __CYGWIN__ // Cygwin searches symbols only in the main // with the handle of dlopen(NULL, RTLD_GLOBAL). - if (filename == NULL) + if (!filename) handle = RTLD_DEFAULT; #endif - if (OpenedHandles == nullptr) + if (!OpenedHandles) OpenedHandles = new DenseSet(); // If we've already loaded this library, dlclose() the handle in order to diff --git a/lib/Support/FoldingSet.cpp b/lib/Support/FoldingSet.cpp index 0367c7ce45e..d857559898e 100644 --- a/lib/Support/FoldingSet.cpp +++ b/lib/Support/FoldingSet.cpp @@ -323,7 +323,7 @@ void FoldingSetImpl::InsertNode(Node *N, void *InsertPos) { // If this is the first insertion into this bucket, its next pointer will be // null. Pretend as if it pointed to itself, setting the low bit to indicate // that it is a pointer to the bucket. - if (Next == nullptr) + if (!Next) Next = reinterpret_cast(reinterpret_cast(Bucket)|1); // Set the node's next pointer, and make the bucket point to the node. @@ -337,7 +337,7 @@ bool FoldingSetImpl::RemoveNode(Node *N) { // Because each bucket is a circular list, we don't need to compute N's hash // to remove it. void *Ptr = N->getNextInBucket(); - if (Ptr == nullptr) return false; // Not in folding set. + if (!Ptr) return false; // Not in folding set. --NumNodes; N->SetNextInBucket(nullptr); @@ -390,7 +390,7 @@ FoldingSetImpl::Node *FoldingSetImpl::GetOrInsertNode(FoldingSetImpl::Node *N) { FoldingSetIteratorImpl::FoldingSetIteratorImpl(void **Bucket) { // Skip to the first non-null non-self-cycle bucket. while (*Bucket != reinterpret_cast(-1) && - (*Bucket == nullptr || GetNextPtr(*Bucket) == nullptr)) + (!*Bucket || !GetNextPtr(*Bucket))) ++Bucket; NodePtr = static_cast(*Bucket); @@ -410,7 +410,7 @@ void FoldingSetIteratorImpl::advance() { do { ++Bucket; } while (*Bucket != reinterpret_cast(-1) && - (*Bucket == nullptr || GetNextPtr(*Bucket) == nullptr)); + (!*Bucket || !GetNextPtr(*Bucket))); NodePtr = static_cast(*Bucket); } @@ -420,6 +420,5 @@ void FoldingSetIteratorImpl::advance() { // FoldingSetBucketIteratorImpl Implementation FoldingSetBucketIteratorImpl::FoldingSetBucketIteratorImpl(void **Bucket) { - Ptr = (*Bucket == nullptr || GetNextPtr(*Bucket) == nullptr) ? (void*) Bucket - : *Bucket; + Ptr = (!*Bucket || !GetNextPtr(*Bucket)) ? (void*) Bucket : *Bucket; } diff --git a/lib/Support/ManagedStatic.cpp b/lib/Support/ManagedStatic.cpp index e358fe8c5c1..c05cd22ea05 100644 --- a/lib/Support/ManagedStatic.cpp +++ b/lib/Support/ManagedStatic.cpp @@ -24,7 +24,7 @@ void ManagedStaticBase::RegisterManagedStatic(void *(*Creator)(), if (llvm_is_multithreaded()) { llvm_acquire_global_lock(); - if (Ptr == nullptr) { + if (!Ptr) { void* tmp = Creator ? Creator() : nullptr; TsanHappensBefore(this); diff --git a/lib/Support/PrettyStackTrace.cpp b/lib/Support/PrettyStackTrace.cpp index aef02e990a2..987778a1bde 100644 --- a/lib/Support/PrettyStackTrace.cpp +++ b/lib/Support/PrettyStackTrace.cpp @@ -46,7 +46,7 @@ static unsigned PrintStack(const PrettyStackTraceEntry *Entry, raw_ostream &OS){ /// PrintCurStackTrace - Print the current stack trace to the specified stream. static void PrintCurStackTrace(raw_ostream &OS) { // Don't print an empty trace. - if (PrettyStackTraceHead->get() == nullptr) return; + if (!PrettyStackTraceHead->get()) return; // If there are pretty stack frames registered, walk and emit them. OS << "Stack dump:\n"; diff --git a/lib/Support/SourceMgr.cpp b/lib/Support/SourceMgr.cpp index 4aa6ff7d31e..ca682897968 100644 --- a/lib/Support/SourceMgr.cpp +++ b/lib/Support/SourceMgr.cpp @@ -114,7 +114,7 @@ SourceMgr::getLineAndColumn(SMLoc Loc, int BufferID) const { if (*Ptr == '\n') ++LineNo; // Allocate the line number cache if it doesn't exist. - if (LineNoCache == nullptr) + if (!LineNoCache) LineNoCache = new LineNoCacheTy(); // Update the line # cache. diff --git a/lib/Support/StringMap.cpp b/lib/Support/StringMap.cpp index 30b6abb3b42..72a6d822d2b 100644 --- a/lib/Support/StringMap.cpp +++ b/lib/Support/StringMap.cpp @@ -70,7 +70,7 @@ unsigned StringMapImpl::LookupBucketFor(StringRef Name) { while (1) { StringMapEntryBase *BucketItem = TheTable[BucketNo]; // If we found an empty bucket, this key isn't in the table yet, return it. - if (LLVM_LIKELY(BucketItem == nullptr)) { + if (LLVM_LIKELY(!BucketItem)) { // If we found a tombstone, we want to reuse the tombstone instead of an // empty bucket. This reduces probing. if (FirstTombstone != -1) { @@ -124,7 +124,7 @@ int StringMapImpl::FindKey(StringRef Key) const { while (1) { StringMapEntryBase *BucketItem = TheTable[BucketNo]; // If we found an empty bucket, this key isn't in the table yet, return. - if (LLVM_LIKELY(BucketItem == nullptr)) + if (LLVM_LIKELY(!BucketItem)) return -1; if (BucketItem == getTombstoneVal()) { @@ -212,7 +212,7 @@ void StringMapImpl::RehashTable() { // Fast case, bucket available. unsigned FullHash = HashTable[I]; unsigned NewBucket = FullHash & (NewSize-1); - if (NewTableArray[NewBucket] == nullptr) { + if (!NewTableArray[NewBucket]) { NewTableArray[FullHash & (NewSize-1)] = Bucket; NewHashArray[FullHash & (NewSize-1)] = FullHash; continue; diff --git a/lib/Support/TargetRegistry.cpp b/lib/Support/TargetRegistry.cpp index 5b0e4a30a9b..a008831eb6b 100644 --- a/lib/Support/TargetRegistry.cpp +++ b/lib/Support/TargetRegistry.cpp @@ -53,7 +53,7 @@ const Target *TargetRegistry::lookupTarget(const std::string &ArchName, // Get the target specific parser. std::string TempError; TheTarget = TargetRegistry::lookupTarget(TheTriple.getTriple(), TempError); - if (TheTarget == nullptr) { + if (!TheTarget) { Error = ": error: unable to get target for '" + TheTriple.getTriple() + "', see --version and --triple.\n"; diff --git a/lib/Support/Timer.cpp b/lib/Support/Timer.cpp index c2ce90c8588..ea75d45f68a 100644 --- a/lib/Support/Timer.cpp +++ b/lib/Support/Timer.cpp @@ -264,7 +264,7 @@ TimerGroup::TimerGroup(StringRef name) TimerGroup::~TimerGroup() { // If the timer group is destroyed before the timers it owns, accumulate and // print the timing data. - while (FirstTimer != nullptr) + while (FirstTimer) removeTimer(*FirstTimer); // Remove the group from the TimerGroupList. @@ -291,7 +291,7 @@ void TimerGroup::removeTimer(Timer &T) { // Print the report when all timers in this group are destroyed if some of // them were started. - if (FirstTimer != nullptr || TimersToPrint.empty()) + if (FirstTimer || TimersToPrint.empty()) return; raw_ostream *OutStream = CreateInfoOutputFile(); diff --git a/lib/Support/YAMLParser.cpp b/lib/Support/YAMLParser.cpp index 573bb47868f..3be02ee9fb9 100644 --- a/lib/Support/YAMLParser.cpp +++ b/lib/Support/YAMLParser.cpp @@ -1941,7 +1941,7 @@ void SequenceNode::increment() { case Token::TK_BlockEntry: getNext(); CurrentEntry = parseBlockNode(); - if (CurrentEntry == nullptr) { // An error occurred. + if (!CurrentEntry) { // An error occurred. IsAtEnd = true; CurrentEntry = nullptr; } @@ -1963,7 +1963,7 @@ void SequenceNode::increment() { case Token::TK_BlockEntry: getNext(); CurrentEntry = parseBlockNode(); - if (CurrentEntry == nullptr) { // An error occurred. + if (!CurrentEntry) { // An error occurred. IsAtEnd = true; CurrentEntry = nullptr; } diff --git a/lib/Target/NVPTX/NVPTXFavorNonGenericAddrSpaces.cpp b/lib/Target/NVPTX/NVPTXFavorNonGenericAddrSpaces.cpp index 5ca2b58746d..c3d9f120e99 100644 --- a/lib/Target/NVPTX/NVPTXFavorNonGenericAddrSpaces.cpp +++ b/lib/Target/NVPTX/NVPTXFavorNonGenericAddrSpaces.cpp @@ -111,7 +111,7 @@ static bool IsEliminableAddrSpaceCast(Operator *Cast) { bool NVPTXFavorNonGenericAddrSpaces::hoistAddrSpaceCastFromGEP( GEPOperator *GEP) { Operator *Cast = dyn_cast(GEP->getPointerOperand()); - if (Cast == nullptr) + if (!Cast) return false; if (!IsEliminableAddrSpaceCast(Cast))