|
Intel SPMD Program Compiler
1.3.0
|
#include <type.h>


Public Member Functions | |
| UndefinedStructType (const std::string &name, const Variability variability, bool isConst, SourcePos pos) | |
| Variability | GetVariability () const |
| bool | IsBoolType () const |
| bool | IsFloatType () const |
| bool | IsIntType () const |
| bool | IsUnsignedType () const |
| bool | IsConstType () const |
| const Type * | GetBaseType () const |
| const UndefinedStructType * | GetAsVaryingType () const |
| const UndefinedStructType * | GetAsUniformType () const |
| const UndefinedStructType * | GetAsUnboundVariabilityType () const |
| const UndefinedStructType * | GetAsSOAType (int width) const |
| const UndefinedStructType * | ResolveUnboundVariability (Variability v) const |
| const UndefinedStructType * | GetAsConstType () const |
| const UndefinedStructType * | GetAsNonConstType () const |
| std::string | GetString () const |
| std::string | Mangle () const |
| std::string | GetCDeclaration (const std::string &name) const |
| llvm::Type * | LLVMType (llvm::LLVMContext *ctx) const |
| llvm::DIType | GetDIType (llvm::DIDescriptor scope) const |
| const std::string & | GetStructName () const |
Private Attributes | |
| const std::string | name |
| const Variability | variability |
| const bool | isConst |
| const SourcePos | pos |
Type implementation representing a struct name that has been declared but where the struct members haven't been defined (i.e. "struct Foo;"). This class doesn't do much besides serve as a placeholder that other code can use to detect the presence of such as truct.
| UndefinedStructType::UndefinedStructType | ( | const std::string & | name, |
| const Variability | variability, | ||
| bool | isConst, | ||
| SourcePos | pos | ||
| ) |
Definition at line 2206 of file type.cpp.
References Assert, Globals::ctx, g, lMangleStructName(), name, Variability::Unbound, and variability.
Referenced by GetAsConstType(), GetAsNonConstType(), GetAsUnboundVariabilityType(), GetAsUniformType(), GetAsVaryingType(), and ResolveUnboundVariability().
| const UndefinedStructType * UndefinedStructType::GetAsConstType | ( | ) | const [virtual] |
Get a const version of this type. If it's already const, then the old Type pointer is returned.
Implements Type.
Definition at line 2302 of file type.cpp.
References isConst, name, pos, UndefinedStructType(), and variability.
| const UndefinedStructType * UndefinedStructType::GetAsNonConstType | ( | ) | const [virtual] |
Get a non-const version of this type. If it's already not const, then the old Type pointer is returned.
Implements Type.
Definition at line 2310 of file type.cpp.
References isConst, name, pos, UndefinedStructType(), and variability.
| const UndefinedStructType * UndefinedStructType::GetAsSOAType | ( | int | width | ) | const [virtual] |
| const UndefinedStructType * UndefinedStructType::GetAsUnboundVariabilityType | ( | ) | const [virtual] |
Get an instance of the type with unbound variability.
Implements Type.
Definition at line 2279 of file type.cpp.
References isConst, name, pos, Variability::Unbound, UndefinedStructType(), and variability.
| const UndefinedStructType * UndefinedStructType::GetAsUniformType | ( | ) | const [virtual] |
Return a "uniform" instance of this type. If the type is already uniform, its "this" pointer will be returned.
Implements Type.
Definition at line 2271 of file type.cpp.
References isConst, name, pos, UndefinedStructType(), Variability::Uniform, and variability.
| const UndefinedStructType * UndefinedStructType::GetAsVaryingType | ( | ) | const [virtual] |
Return a "varying" instance of this type. If the type is already varying, its "this" pointer will be returned.
Implements Type.
Definition at line 2263 of file type.cpp.
References isConst, name, pos, UndefinedStructType(), variability, and Variability::Varying.
| const Type * UndefinedStructType::GetBaseType | ( | ) | const [virtual] |
| std::string UndefinedStructType::GetCDeclaration | ( | const std::string & | name | ) | const [virtual] |
| llvm::DIType UndefinedStructType::GetDIType | ( | llvm::DIDescriptor | scope | ) | const [virtual] |
Returns the DIType (LLVM's debugging information structure), corresponding to this type.
Implements Type.
Definition at line 2358 of file type.cpp.
References Module::diBuilder, SourcePos::first_line, SourcePos::GetDIFile(), m, name, and pos.
| std::string UndefinedStructType::GetString | ( | ) | const [virtual] |
Returns a text representation of the type (for example, for use in warning and error messages).
Implements Type.
Definition at line 2318 of file type.cpp.
References Variability::GetString(), isConst, name, and variability.
| const std::string& UndefinedStructType::GetStructName | ( | ) | const [inline] |
| Variability UndefinedStructType::GetVariability | ( | ) | const [virtual] |
Returns the variability of the type.
Implements Type.
Definition at line 2221 of file type.cpp.
References variability.
| bool UndefinedStructType::IsBoolType | ( | ) | const [virtual] |
| bool UndefinedStructType::IsConstType | ( | ) | const [virtual] |
| bool UndefinedStructType::IsFloatType | ( | ) | const [virtual] |
| bool UndefinedStructType::IsIntType | ( | ) | const [virtual] |
| bool UndefinedStructType::IsUnsignedType | ( | ) | const [virtual] |
| llvm::Type * UndefinedStructType::LLVMType | ( | llvm::LLVMContext * | ctx | ) | const [virtual] |
Returns the LLVM type corresponding to this ispc type
Implements Type.
Definition at line 2346 of file type.cpp.
References Assert, Module::errorCount, lMangleStructName(), m, name, NULL, Variability::Unbound, and variability.
| std::string UndefinedStructType::Mangle | ( | ) | const [virtual] |
Returns a string that represents the mangled type (for use in mangling function symbol names for function overloading). The various Types implementations of this method should collectively ensure that all of them use mangling schemes that are guaranteed not to clash.
Implements Type.
Definition at line 2329 of file type.cpp.
References isConst, lMangleStruct(), name, and variability.
| const UndefinedStructType * UndefinedStructType::ResolveUnboundVariability | ( | Variability | v | ) | const [virtual] |
Implements Type.
Definition at line 2294 of file type.cpp.
References isConst, name, pos, Variability::Unbound, UndefinedStructType(), and variability.
const bool UndefinedStructType::isConst [private] |
Definition at line 781 of file type.h.
Referenced by GetAsConstType(), GetAsNonConstType(), GetAsUnboundVariabilityType(), GetAsUniformType(), GetAsVaryingType(), GetCDeclaration(), GetString(), IsConstType(), Mangle(), and ResolveUnboundVariability().
const std::string UndefinedStructType::name [private] |
Definition at line 779 of file type.h.
Referenced by GetAsConstType(), GetAsNonConstType(), GetAsUnboundVariabilityType(), GetAsUniformType(), GetAsVaryingType(), GetCDeclaration(), GetDIType(), GetString(), GetStructName(), LLVMType(), Mangle(), ResolveUnboundVariability(), and UndefinedStructType().
const SourcePos UndefinedStructType::pos [private] |
Definition at line 782 of file type.h.
Referenced by GetAsConstType(), GetAsNonConstType(), GetAsUnboundVariabilityType(), GetAsUniformType(), GetAsVaryingType(), GetDIType(), and ResolveUnboundVariability().
const Variability UndefinedStructType::variability [private] |
Definition at line 780 of file type.h.
Referenced by GetAsConstType(), GetAsNonConstType(), GetAsUnboundVariabilityType(), GetAsUniformType(), GetAsVaryingType(), GetString(), GetVariability(), LLVMType(), Mangle(), ResolveUnboundVariability(), and UndefinedStructType().
1.7.5.1