#include "clang/Basic/TargetInfo.h"
#include "clang/Basic/AddressSpaces.h"
#include "clang/Basic/CharInfo.h"
#include "clang/Basic/Diagnostic.h"
#include "clang/Basic/DiagnosticFrontend.h"
#include "clang/Basic/LangOptions.h"
#include "llvm/ADT/APFloat.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/Support/ErrorHandling.h"
#include "llvm/TargetParser/TargetParser.h"
#include <cstdlib>
usingnamespaceclang;
static const LangASMap DefaultAddrSpaceMap = …;
static const LangASMap FakeAddrSpaceMap = …;
TargetInfo::TargetInfo(const llvm::Triple &T) : … { … }
TargetInfo::~TargetInfo() { … }
void TargetInfo::resetDataLayout(StringRef DL, const char *ULP) { … }
bool
TargetInfo::checkCFProtectionBranchSupported(DiagnosticsEngine &Diags) const { … }
bool
TargetInfo::checkCFProtectionReturnSupported(DiagnosticsEngine &Diags) const { … }
const char *TargetInfo::getTypeName(IntType T) { … }
const char *TargetInfo::getTypeConstantSuffix(IntType T) const { … }
const char *TargetInfo::getTypeFormatModifier(IntType T) { … }
unsigned TargetInfo::getTypeWidth(IntType T) const { … }
TargetInfo::IntType TargetInfo::getIntTypeByWidth(
unsigned BitWidth, bool IsSigned) const { … }
TargetInfo::IntType TargetInfo::getLeastIntTypeByWidth(unsigned BitWidth,
bool IsSigned) const { … }
FloatModeKind TargetInfo::getRealTypeByWidth(unsigned BitWidth,
FloatModeKind ExplicitType) const { … }
unsigned TargetInfo::getTypeAlign(IntType T) const { … }
bool TargetInfo::isTypeSigned(IntType T) { … }
void TargetInfo::adjust(DiagnosticsEngine &Diags, LangOptions &Opts) { … }
bool TargetInfo::initFeatureMap(
llvm::StringMap<bool> &Features, DiagnosticsEngine &Diags, StringRef CPU,
const std::vector<std::string> &FeatureVec) const { … }
ParsedTargetAttr TargetInfo::parseTargetAttr(StringRef Features) const { … }
TargetInfo::CallingConvKind
TargetInfo::getCallingConvKind(bool ClangABICompat4) const { … }
bool TargetInfo::areDefaultedSMFStillPOD(const LangOptions &LangOpts) const { … }
LangAS TargetInfo::getOpenCLTypeAddrSpace(OpenCLTypeKind TK) const { … }
static StringRef removeGCCRegisterPrefix(StringRef Name) { … }
bool TargetInfo::isValidClobber(StringRef Name) const { … }
bool TargetInfo::isValidGCCRegisterName(StringRef Name) const { … }
StringRef TargetInfo::getNormalizedGCCRegisterName(StringRef Name,
bool ReturnCanonical) const { … }
bool TargetInfo::validateOutputConstraint(ConstraintInfo &Info) const { … }
bool TargetInfo::resolveSymbolicName(const char *&Name,
ArrayRef<ConstraintInfo> OutputConstraints,
unsigned &Index) const { … }
bool TargetInfo::validateInputConstraint(
MutableArrayRef<ConstraintInfo> OutputConstraints,
ConstraintInfo &Info) const { … }
bool TargetInfo::validatePointerAuthKey(const llvm::APSInt &value) const { … }
void TargetInfo::CheckFixedPointBits() const { … }
void TargetInfo::copyAuxTarget(const TargetInfo *Aux) { … }