[llvm] r200083 - Reverting r199886 (Prevent repetitive warnings for unrecognized processors and features)
Sean Silva
silvas at purdue.edu
Tue Jan 28 17:52:26 PST 2014
Thanks.
-- Sean Silva
On Sat, Jan 25, 2014 at 11:56 AM, Artyom Skrobov <Artyom.Skrobov at arm.com>wrote:
> Author: askrobov
> Date: Sat Jan 25 10:56:18 2014
> New Revision: 200083
>
> URL: http://llvm.org/viewvc/llvm-project?rev=200083&view=rev
> Log:
> Reverting r199886 (Prevent repetitive warnings for unrecognized processors
> and features)
>
> Removed:
> llvm/trunk/test/MC/ARM/unrecognized.ll
> Modified:
> llvm/trunk/include/llvm/MC/SubtargetFeature.h
> llvm/trunk/lib/MC/MCSubtargetInfo.cpp
> llvm/trunk/lib/MC/SubtargetFeature.cpp
>
> Modified: llvm/trunk/include/llvm/MC/SubtargetFeature.h
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/MC/SubtargetFeature.h?rev=200083&r1=200082&r2=200083&view=diff
>
> ==============================================================================
> --- llvm/trunk/include/llvm/MC/SubtargetFeature.h (original)
> +++ llvm/trunk/include/llvm/MC/SubtargetFeature.h Sat Jan 25 10:56:18 2014
> @@ -101,12 +101,6 @@ public:
>
> /// Adds the default features for the specified target triple.
> void getDefaultSubtargetFeatures(const Triple& Triple);
> -
> - /// Find KV in array using binary search.
> - /// T should be either SubtargetFeatureKV or SubtargetInfoKV
> - template<typename T>
> - static const T *Find(StringRef Key, const T *Array, size_t Length,
> - const char* KeyType);
> };
>
> } // End namespace llvm
>
> Modified: llvm/trunk/lib/MC/MCSubtargetInfo.cpp
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/MC/MCSubtargetInfo.cpp?rev=200083&r1=200082&r2=200083&view=diff
>
> ==============================================================================
> --- llvm/trunk/lib/MC/MCSubtargetInfo.cpp (original)
> +++ llvm/trunk/lib/MC/MCSubtargetInfo.cpp Sat Jan 25 10:56:18 2014
> @@ -96,11 +96,14 @@ MCSubtargetInfo::getSchedModelForCPU(Str
> #endif
>
> // Find entry
> - const SubtargetInfoKV *Found = SubtargetFeatures::Find(CPU,
> ProcSchedModels,
> - NumProcs,
> "processor");
> - if (!Found)
> + const SubtargetInfoKV *Found =
> + std::lower_bound(ProcSchedModels, ProcSchedModels+NumProcs, CPU);
> + if (Found == ProcSchedModels+NumProcs || StringRef(Found->Key) != CPU) {
> + errs() << "'" << CPU
> + << "' is not a recognized processor for this target"
> + << " (ignoring processor)\n";
> return &MCSchedModel::DefaultSchedModel;
> -
> + }
> assert(Found->Value && "Missing processor SchedModel value");
> return (const MCSchedModel *)Found->Value;
> }
>
> Modified: llvm/trunk/lib/MC/SubtargetFeature.cpp
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/MC/SubtargetFeature.cpp?rev=200083&r1=200082&r2=200083&view=diff
>
> ==============================================================================
> --- llvm/trunk/lib/MC/SubtargetFeature.cpp (original)
> +++ llvm/trunk/lib/MC/SubtargetFeature.cpp Sat Jan 25 10:56:18 2014
> @@ -11,11 +11,9 @@
> //
>
> //===----------------------------------------------------------------------===//
>
> -#include "llvm/ADT/SmallSet.h"
> #include "llvm/MC/SubtargetFeature.h"
> #include "llvm/Support/Debug.h"
> #include "llvm/Support/Format.h"
> -#include "llvm/Support/SourceMgr.h"
> #include "llvm/Support/raw_ostream.h"
> #include <algorithm>
> #include <cassert>
> @@ -120,42 +118,19 @@ void SubtargetFeatures::AddFeature(const
> }
> }
>
> -// This needs to be shared between the instantiations of Find<>
> -typedef std::pair<std::string,std::string> KeyWithType;
> -static SmallSet<KeyWithType,10> reportedAsUnrecognized;
> -
> /// Find KV in array using binary search.
> -template<typename T>
> -const T *SubtargetFeatures::Find(StringRef Key, const T *Array, size_t
> Length,
> - const char* KeyType) {
> +static const SubtargetFeatureKV *Find(StringRef S, const
> SubtargetFeatureKV *A,
> + size_t L) {
> // Determine the end of the array
> - const T *Hi = Array + Length;
> + const SubtargetFeatureKV *Hi = A + L;
> // Binary search the array
> - const T *F = std::lower_bound(Array, Hi, Key);
> + const SubtargetFeatureKV *F = std::lower_bound(A, Hi, S);
> // If not found then return NULL
> - if (F == Hi || StringRef(F->Key) != Key) {
> - // If not yet reported, report now
> - KeyWithType current(KeyType, Key);
> - if(!reportedAsUnrecognized.count(current)) {
> - SmallString<1024> storage;
> - StringRef message = ("'" + Key +
> - "' is not a recognized " + KeyType +
> - " for this target (ignoring " + KeyType +
> - ")").toStringRef(storage);
> - SMDiagnostic(StringRef(), SourceMgr::DK_Warning, message)
> - .print(0, errs());
> - reportedAsUnrecognized.insert(current);
> - }
> - return NULL;
> - }
> + if (F == Hi || StringRef(F->Key) != S) return NULL;
> // Return the found array item
> return F;
> }
>
> -// Instantiate with <SubtargetInfoKV> for use in MCSubtargetInfo
> -template const SubtargetInfoKV *SubtargetFeatures::Find<SubtargetInfoKV>
> - (StringRef Key, const SubtargetInfoKV *Array, size_t Length, const
> char* KeyType);
> -
> /// getLongestEntryLength - Return the length of the longest entry in the
> table.
> ///
> static size_t getLongestEntryLength(const SubtargetFeatureKV *Table,
> @@ -253,7 +228,7 @@ SubtargetFeatures::ToggleFeature(uint64_
> size_t FeatureTableSize) {
> // Find feature in table.
> const SubtargetFeatureKV *FeatureEntry =
> - Find(StripFlag(Feature), FeatureTable, FeatureTableSize, "feature");
> + Find(StripFlag(Feature), FeatureTable, FeatureTableSize);
> // If there is a match
> if (FeatureEntry) {
> if ((Bits & FeatureEntry->Value) == FeatureEntry->Value) {
> @@ -267,6 +242,10 @@ SubtargetFeatures::ToggleFeature(uint64_
> // For each feature that this implies, set it.
> SetImpliedBits(Bits, FeatureEntry, FeatureTable, FeatureTableSize);
> }
> + } else {
> + errs() << "'" << Feature
> + << "' is not a recognized feature for this target"
> + << " (ignoring feature)\n";
> }
>
> return Bits;
> @@ -301,8 +280,7 @@ uint64_t SubtargetFeatures::getFeatureBi
>
> // Find CPU entry if CPU name is specified.
> if (!CPU.empty()) {
> - const SubtargetFeatureKV *CPUEntry = Find(CPU, CPUTable, CPUTableSize,
> - "processor");
> + const SubtargetFeatureKV *CPUEntry = Find(CPU, CPUTable,
> CPUTableSize);
> // If there is a match
> if (CPUEntry) {
> // Set base feature bits
> @@ -314,6 +292,10 @@ uint64_t SubtargetFeatures::getFeatureBi
> if (CPUEntry->Value & FE.Value)
> SetImpliedBits(Bits, &FE, FeatureTable, FeatureTableSize);
> }
> + } else {
> + errs() << "'" << CPU
> + << "' is not a recognized processor for this target"
> + << " (ignoring processor)\n";
> }
> }
>
> @@ -327,7 +309,7 @@ uint64_t SubtargetFeatures::getFeatureBi
>
> // Find feature in table.
> const SubtargetFeatureKV *FeatureEntry =
> - Find(StripFlag(Feature), FeatureTable, FeatureTableSize,
> "feature");
> + Find(StripFlag(Feature), FeatureTable,
> FeatureTableSize);
> // If there is a match
> if (FeatureEntry) {
> // Enable/disable feature in bits
> @@ -342,6 +324,10 @@ uint64_t SubtargetFeatures::getFeatureBi
> // For each feature that implies this, clear it.
> ClearImpliedBits(Bits, FeatureEntry, FeatureTable,
> FeatureTableSize);
> }
> + } else {
> + errs() << "'" << Feature
> + << "' is not a recognized feature for this target"
> + << " (ignoring feature)\n";
> }
> }
>
>
> Removed: llvm/trunk/test/MC/ARM/unrecognized.ll
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/ARM/unrecognized.ll?rev=200082&view=auto
>
> ==============================================================================
> --- llvm/trunk/test/MC/ARM/unrecognized.ll (original)
> +++ llvm/trunk/test/MC/ARM/unrecognized.ll (removed)
> @@ -1,15 +0,0 @@
> -; RUN: llc -mcpu=invalid -o /dev/null %s 2>&1 | FileCheck %s
> --check-prefix=CPU
> -; CPU: 'invalid' is not a recognized processor for this target
> (ignoring processor)
> -; CPU-NOT: 'invalid' is not a recognized processor for this target
> (ignoring processor)
> -
> -; RUN: llc -mattr=+foo,+bar -o /dev/null %s 2>&1 | FileCheck %s
> --check-prefix=FEATURE
> -; FEATURE: 'foo' is not a recognized feature for this target
> (ignoring feature)
> -; FEATURE-NEXT: 'bar' is not a recognized feature for this target
> (ignoring feature)
> -; FEATURE-NOT: 'foo' is not a recognized feature for this target
> (ignoring feature)
> -; FEATURE-NOT: 'bar' is not a recognized feature for this target
> (ignoring feature)
> -
> -define void @foo() {
> -entry:
> - ret void
> -}
> -
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20140128/bdf71a90/attachment.html>
More information about the llvm-commits
mailing list