LLVM API Documentation

SubtargetFeature.cpp File Reference

#include "llvm/Target/SubtargetFeature.h"
#include "llvm/ADT/StringExtras.h"
#include "llvm/Support/Streams.h"
#include <algorithm>
#include <ostream>
#include <cassert>
#include <cctype>

Include dependency graph for SubtargetFeature.cpp:

Go to the source code of this file.

Functions

static bool hasFlag (const std::string &Feature)
static std::string StripFlag (const std::string &Feature)
static bool isEnabled (const std::string &Feature)
static std::string PrependFlag (const std::string &Feature, bool IsEnabled)
static void Split (std::vector< std::string > &V, const std::string &S)
static std::string Join (const std::vector< std::string > &V)
template<typename T>
const TFind (const std::string &S, const T *A, size_t L)
 Find KV in array using binary search.
static size_t getLongestEntryLength (const SubtargetFeatureKV *Table, size_t Size)
static void Help (const SubtargetFeatureKV *CPUTable, size_t CPUTableSize, const SubtargetFeatureKV *FeatTable, size_t FeatTableSize)
static void SetImpliedBits (uint32_t &Bits, const SubtargetFeatureKV *FeatureEntry, const SubtargetFeatureKV *FeatureTable, size_t FeatureTableSize)
static void ClearImpliedBits (uint32_t &Bits, const SubtargetFeatureKV *FeatureEntry, const SubtargetFeatureKV *FeatureTable, size_t FeatureTableSize)


Function Documentation

static void ClearImpliedBits ( uint32_t &  Bits,
const SubtargetFeatureKV FeatureEntry,
const SubtargetFeatureKV FeatureTable,
size_t  FeatureTableSize 
) [static]

ClearImpliedBits - For each feature that (transitively) implies this feature, clear it.

Definition at line 225 of file SubtargetFeature.cpp.

References llvm::SubtargetFeatureKV::Implies, and llvm::SubtargetFeatureKV::Value.

Referenced by llvm::SubtargetFeatures::getBits().

template<typename T>
const T* Find ( const std::string &  S,
const T A,
size_t  L 
) [inline]

Find KV in array using binary search.

Definition at line 115 of file SubtargetFeature.cpp.

References F, llvm::SPISD::Hi, and T.

Referenced by llvm::SubtargetFeatures::getBits(), and llvm::SubtargetFeatures::getInfo().

static size_t getLongestEntryLength ( const SubtargetFeatureKV Table,
size_t  Size 
) [static]

getLongestEntryLength - Return the length of the longest entry in the table.

Definition at line 131 of file SubtargetFeature.cpp.

Referenced by Help().

static bool hasFlag ( const std::string &  Feature  )  [inline, static]

hasFlag - Determine if a feature has a flag; '+' or '-'

Definition at line 29 of file SubtargetFeature.cpp.

Referenced by PrependFlag(), and StripFlag().

static void Help ( const SubtargetFeatureKV CPUTable,
size_t  CPUTableSize,
const SubtargetFeatureKV FeatTable,
size_t  FeatTableSize 
) [static]

Display help for feature choices.

Definition at line 141 of file SubtargetFeature.cpp.

References llvm::cerr(), llvm::SubtargetFeatureKV::Desc, and getLongestEntryLength().

Referenced by llvm::SubtargetFeatures::getBits().

static bool isEnabled ( const std::string &  Feature  )  [inline, static]

isEnabled - Return true if enable flag; '+'.

Definition at line 45 of file SubtargetFeature.cpp.

Referenced by llvm::SubtargetFeatures::getBits().

static std::string Join ( const std::vector< std::string > &  V  )  [static]

Join a vector of strings to a string with a comma separating each element.

Definition at line 85 of file SubtargetFeature.cpp.

Referenced by llvm::SubtargetFeatures::getString().

static std::string PrependFlag ( const std::string &  Feature,
bool  IsEnabled 
) [inline, static]

PrependFlag - Return a string with a prepended flag; '+' or '-'.

Definition at line 55 of file SubtargetFeature.cpp.

References hasFlag().

Referenced by llvm::SubtargetFeatures::AddFeature().

static void SetImpliedBits ( uint32_t &  Bits,
const SubtargetFeatureKV FeatureEntry,
const SubtargetFeatureKV FeatureTable,
size_t  FeatureTableSize 
) [static]

SetImpliedBits - For each feature that is (transitively) implied by this feature, set it.

Definition at line 206 of file SubtargetFeature.cpp.

References llvm::SubtargetFeatureKV::Implies, and llvm::SubtargetFeatureKV::Value.

Referenced by llvm::SubtargetFeatures::getBits().

static void Split ( std::vector< std::string > &  V,
const std::string &  S 
) [static]

Split - Splits a string of comma separated items in to a vector of strings.

Definition at line 64 of file SubtargetFeature.cpp.

Referenced by HandleInlinedInvoke(), llvm::ISD::ArgFlagsTy::isSplit(), llvm::SubtargetFeatures::setString(), and llvm::SubtargetFeatures::SubtargetFeatures().

static std::string StripFlag ( const std::string &  Feature  )  [inline, static]

StripFlag - Return string stripped of flag.

Definition at line 39 of file SubtargetFeature.cpp.

References hasFlag().

Referenced by llvm::SubtargetFeatures::getBits().




This web site is hosted by the Computer Science Department at the University of Illinois at Urbana-Champaign.