15 #ifndef LLVM_CLANG_LIB_CODEGEN_TARGETINFO_H
16 #define LLVM_CLANG_LIB_CODEGEN_TARGETINFO_H
21 #include "llvm/ADT/SmallString.h"
22 #include "llvm/ADT/StringRef.h"
38 class CodeGenFunction;
128 StringRef Constraint,
129 llvm::Type *Ty)
const {
136 std::string &Constraints, std::vector<llvm::Type *> &ResultRegTypes,
137 std::vector<llvm::Type *> &ResultTruncRegTypes,
138 std::vector<CodeGen::LValue> &ResultRegDests, std::string &AsmString,
139 unsigned NumOutputs)
const {}
161 virtual llvm::Constant *
219 llvm::StringRef
Value,
const ABIInfo & getABIInfo() const
getABIInfo() - Returns ABI info helper for the target.
TargetCodeGenInfo(ABIInfo *info=0)
virtual ~TargetCodeGenInfo()
virtual bool doesReturnSlotInterfereWithArgs() const
Forward-declares and imports various common LLVM datatypes that clang wants to use unqualified...
virtual unsigned getSizeOfUnwindException() const
virtual StringRef getARCRetainAutoreleasedReturnValueMarker() const
virtual llvm::Value * decodeReturnAddress(CodeGen::CodeGenFunction &CGF, llvm::Value *Address) const
virtual int getDwarfEHStackPointer(CodeGen::CodeGenModule &M) const
virtual void setTargetAttributes(const Decl *D, llvm::GlobalValue *GV, CodeGen::CodeGenModule &M) const
virtual void getDetectMismatchOption(llvm::StringRef Name, llvm::StringRef Value, llvm::SmallString< 32 > &Opt) const
virtual void getDependentLibraryOption(llvm::StringRef Lib, llvm::SmallString< 24 > &Opt) const
virtual llvm::Constant * getUBSanFunctionSignature(CodeGen::CodeGenModule &CGM) const
virtual bool isNoProtoCallVariadic(const CodeGen::CallArgList &args, const FunctionNoProtoType *fnType) const
virtual llvm::Type * adjustInlineAsmType(CodeGen::CodeGenFunction &CGF, StringRef Constraint, llvm::Type *Ty) const
virtual bool extendPointerWithSExt() const
virtual bool initDwarfEHRegSizeTable(CodeGen::CodeGenFunction &CGF, llvm::Value *Address) const
virtual void emitTargetMD(const Decl *D, llvm::GlobalValue *GV, CodeGen::CodeGenModule &M) const
virtual void addReturnRegisterOutputs(CodeGen::CodeGenFunction &CGF, CodeGen::LValue ReturnValue, std::string &Constraints, std::vector< llvm::Type * > &ResultRegTypes, std::vector< llvm::Type * > &ResultTruncRegTypes, std::vector< CodeGen::LValue > &ResultRegDests, std::string &AsmString, unsigned NumOutputs) const
Adds constraints and types for result registers.
virtual llvm::Value * encodeReturnAddress(CodeGen::CodeGenFunction &CGF, llvm::Value *Address) const