|
| StorageSpecifierToLLVMTypeConverter () |
|
virtual | ~TypeConverter ()=default |
|
| TypeConverter ()=default |
|
| TypeConverter (const TypeConverter &other) |
|
TypeConverter & | operator= (const TypeConverter &other) |
|
template<typename FnT , typename T = typename llvm::function_traits< std::decay_t<FnT>>::template arg_t<0>> |
void | addConversion (FnT &&callback) |
| Register a conversion function. More...
|
|
template<typename FnT , typename T = typename llvm::function_traits< std::decay_t<FnT>>::template arg_t<1>> |
void | addSourceMaterialization (FnT &&callback) |
| All of the following materializations require function objects that are convertible to the following form: Value(OpBuilder &, T, ValueRange, Location) , where T is any subclass of Type . More...
|
|
template<typename FnT , typename T = typename llvm::function_traits< std::decay_t<FnT>>::template arg_t<1>> |
void | addTargetMaterialization (FnT &&callback) |
| This method registers a materialization that will be called when converting a value to a target type according to a pattern's type converter. More...
|
|
template<typename FnT , typename T = typename llvm::function_traits<std::decay_t<FnT>>::template arg_t<0>, typename A = typename llvm::function_traits<std::decay_t<FnT>>::template arg_t<1>> |
void | addTypeAttributeConversion (FnT &&callback) |
| Register a conversion function for attributes within types. More...
|
|
LogicalResult | convertType (Type t, SmallVectorImpl< Type > &results) const |
| Convert the given type. More...
|
|
LogicalResult | convertType (Value v, SmallVectorImpl< Type > &results) const |
| Convert the type of the given value. More...
|
|
Type | convertType (Type t) const |
| This hook simplifies defining 1-1 type conversions. More...
|
|
Type | convertType (Value v) const |
|
template<typename TargetType > |
TargetType | convertType (Type t) const |
| Attempts a 1-1 type conversion, expecting the result type to be TargetType . More...
|
|
template<typename TargetType > |
TargetType | convertType (Value v) const |
|
LogicalResult | convertTypes (TypeRange types, SmallVectorImpl< Type > &results) const |
| Convert the given types, filling 'results' as necessary. More...
|
|
LogicalResult | convertTypes (ValueRange values, SmallVectorImpl< Type > &results) const |
| Convert the types of the given values, filling 'results' as necessary. More...
|
|
bool | isLegal (Type type) const |
| Return true if the given type is legal for this type converter, i.e. More...
|
|
bool | isLegal (Value value) const |
|
bool | isLegal (TypeRange range) const |
| Return true if all of the given types are legal for this type converter. More...
|
|
bool | isLegal (ValueRange range) const |
|
bool | isLegal (Operation *op) const |
| Return true if the given operation has legal operand and result types. More...
|
|
bool | isLegal (Region *region) const |
| Return true if the types of block arguments within the region are legal. More...
|
|
bool | isSignatureLegal (FunctionType ty) const |
| Return true if the inputs and outputs of the given function type are legal. More...
|
|
LogicalResult | convertSignatureArg (unsigned inputNo, Type type, SignatureConversion &result) const |
| This method allows for converting a specific argument of a signature. More...
|
|
LogicalResult | convertSignatureArgs (TypeRange types, SignatureConversion &result, unsigned origInputOffset=0) const |
|
LogicalResult | convertSignatureArg (unsigned inputNo, Value value, SignatureConversion &result) const |
|
LogicalResult | convertSignatureArgs (ValueRange values, SignatureConversion &result, unsigned origInputOffset=0) const |
|
std::optional< SignatureConversion > | convertBlockSignature (Block *block) const |
| This function converts the type signature of the given block, by invoking 'convertSignatureArg' for each argument. More...
|
|
Value | materializeSourceConversion (OpBuilder &builder, Location loc, Type resultType, ValueRange inputs) const |
| Materialize a conversion from a set of types into one result type by generating a cast sequence of some kind. More...
|
|
Value | materializeTargetConversion (OpBuilder &builder, Location loc, Type resultType, ValueRange inputs, Type originalType={}) const |
|
SmallVector< Value > | materializeTargetConversion (OpBuilder &builder, Location loc, TypeRange resultType, ValueRange inputs, Type originalType={}) const |
|
std::optional< Attribute > | convertTypeAttribute (Type type, Attribute attr) const |
| Convert an attribute present attr from within the type type using the registered conversion functions. More...
|
|
Definition at line 242 of file Passes.h.