MLIR
21.0.0git
|
Add support for llvm style casts. More...
#include "mlir/IR/Value.h"
Static Public Member Functions | |
static bool | isPossible (mlir::Value ty) |
Arguments are taken as mlir::Value here and not as From , because when casting from an intermediate type of the hierarchy to one of its children, the val.getKind() inside T::classof will use the static getKind() of the parent instead of the non-static ValueImpl::getKind() that returns the dynamic type. More... | |
static To | doCast (mlir::Value value) |
Add support for llvm style casts.
We provide a cast between To and From if From is mlir::Value or derives from it.
|
inlinestatic |
Definition at line 619 of file Value.h.
References mlir::Value::getImpl().
|
inlinestatic |
Arguments are taken as mlir::Value here and not as From
, because when casting from an intermediate type of the hierarchy to one of its children, the val.getKind() inside T::classof will use the static getKind() of the parent instead of the non-static ValueImpl::getKind() that returns the dynamic type.
This means that T::classof would end up comparing the static Kind of the children to the static Kind of its parent, making it impossible to downcast from the parent to the child.
Return a constant true instead of a dynamic true when casting to self or up the hierarchy.