diff options
| author | River Riddle <riverriddle@google.com> | 2019-12-23 14:45:01 -0800 |
|---|---|---|
| committer | A. Unique TensorFlower <gardener@tensorflow.org> | 2019-12-23 16:36:53 -0800 |
| commit | e62a69561fb9d7b1013d2853da68d79a7907fead (patch) | |
| tree | 0dd059094cbfb8d904513abcdc1fbe8cfa89bb09 /mlir/test | |
| parent | 5d5bd2e1da29d976cb125dbb3cd097a5e42b2be4 (diff) | |
| download | bcm5719-llvm-e62a69561fb9d7b1013d2853da68d79a7907fead.tar.gz bcm5719-llvm-e62a69561fb9d7b1013d2853da68d79a7907fead.zip | |
NFC: Replace ValuePtr with Value and remove it now that Value is value-typed.
ValuePtr was a temporary typedef during the transition to a value-typed Value.
PiperOrigin-RevId: 286945714
Diffstat (limited to 'mlir/test')
| -rw-r--r-- | mlir/test/EDSC/builder-api-test.cpp | 2 | ||||
| -rw-r--r-- | mlir/test/lib/TestDialect/TestDialect.cpp | 8 | ||||
| -rw-r--r-- | mlir/test/lib/TestDialect/TestOps.td | 2 | ||||
| -rw-r--r-- | mlir/test/lib/TestDialect/TestPatterns.cpp | 33 | ||||
| -rw-r--r-- | mlir/test/lib/Transforms/TestLoopMapping.cpp | 2 | ||||
| -rw-r--r-- | mlir/test/lib/Transforms/TestVectorizationUtils.cpp | 2 | ||||
| -rw-r--r-- | mlir/test/mlir-tblgen/op-attribute.td | 6 | ||||
| -rw-r--r-- | mlir/test/mlir-tblgen/op-decl.td | 24 | ||||
| -rw-r--r-- | mlir/test/mlir-tblgen/op-operand.td | 10 | ||||
| -rw-r--r-- | mlir/test/mlir-tblgen/op-result.td | 6 | ||||
| -rw-r--r-- | mlir/test/mlir-tblgen/predicate.td | 4 |
11 files changed, 49 insertions, 50 deletions
diff --git a/mlir/test/EDSC/builder-api-test.cpp b/mlir/test/EDSC/builder-api-test.cpp index cfe703281e2..c776ffe12bd 100644 --- a/mlir/test/EDSC/builder-api-test.cpp +++ b/mlir/test/EDSC/builder-api-test.cpp @@ -793,7 +793,7 @@ TEST_FUNC(affine_if_op) { }; auto intSet = IntegerSet::get(2, 2, affineExprs, isEq); - SmallVector<ValuePtr, 4> affineIfArgs = {zero, zero, ten, ten}; + SmallVector<Value, 4> affineIfArgs = {zero, zero, ten, ten}; intrinsics::affine_if(intSet, affineIfArgs, /*withElseRegion=*/false); intrinsics::affine_if(intSet, affineIfArgs, /*withElseRegion=*/true); diff --git a/mlir/test/lib/TestDialect/TestDialect.cpp b/mlir/test/lib/TestDialect/TestDialect.cpp index 976a1976f01..21cf69ec1fa 100644 --- a/mlir/test/lib/TestDialect/TestDialect.cpp +++ b/mlir/test/lib/TestDialect/TestDialect.cpp @@ -91,7 +91,7 @@ struct TestInlinerInterface : public DialectInlinerInterface { /// Handle the given inlined terminator by replacing it with a new operation /// as necessary. void handleTerminator(Operation *op, - ArrayRef<ValuePtr> valuesToRepl) const final { + ArrayRef<Value> valuesToRepl) const final { // Only handle "test.return" here. auto returnOp = dyn_cast<TestReturnOp>(op); if (!returnOp) @@ -108,7 +108,7 @@ struct TestInlinerInterface : public DialectInlinerInterface { /// operation that takes 'input' as the only operand, and produces a single /// result of 'resultType'. If a conversion can not be generated, nullptr /// should be returned. - Operation *materializeCallConversion(OpBuilder &builder, ValuePtr input, + Operation *materializeCallConversion(OpBuilder &builder, Value input, Type resultType, Location conversionLoc) const final { // Only allow conversion for i16/i32 types. @@ -222,7 +222,7 @@ static ParseResult parseWrappingRegionOp(OpAsmParser &parser, // Create a return terminator in the inner region, pass as operand to the // terminator the returned values from the wrapped operation. - SmallVector<ValuePtr, 8> return_operands(wrapped_op->getResults()); + SmallVector<Value, 8> return_operands(wrapped_op->getResults()); OpBuilder builder(parser.getBuilder().getContext()); builder.setInsertionPointToEnd(&block); builder.create<TestReturnOp>(wrapped_op->getLoc(), return_operands); @@ -288,7 +288,7 @@ OpFoldResult TestOpWithRegionFold::fold(ArrayRef<Attribute> operands) { LogicalResult TestOpWithVariadicResultsAndFolder::fold( ArrayRef<Attribute> operands, SmallVectorImpl<OpFoldResult> &results) { - for (ValuePtr input : this->operands()) { + for (Value input : this->operands()) { results.push_back(input); } return success(); diff --git a/mlir/test/lib/TestDialect/TestOps.td b/mlir/test/lib/TestDialect/TestOps.td index a8709ddca27..dacb796de18 100644 --- a/mlir/test/lib/TestDialect/TestOps.td +++ b/mlir/test/lib/TestDialect/TestOps.td @@ -635,7 +635,7 @@ def OpSymbolBindingB : TEST_Op<"symbol_binding_b", []> { let builders = [ OpBuilder< - "Builder *builder, OperationState &state, ValuePtr operand", + "Builder *builder, OperationState &state, Value operand", [{ state.types.assign({builder->getIntegerType(32)}); state.addOperands({operand}); diff --git a/mlir/test/lib/TestDialect/TestPatterns.cpp b/mlir/test/lib/TestDialect/TestPatterns.cpp index b886097202d..929c4a941a2 100644 --- a/mlir/test/lib/TestDialect/TestPatterns.cpp +++ b/mlir/test/lib/TestDialect/TestPatterns.cpp @@ -13,12 +13,11 @@ using namespace mlir; // Native function for testing NativeCodeCall -static ValuePtr chooseOperand(ValuePtr input1, ValuePtr input2, - BoolAttr choice) { +static Value chooseOperand(Value input1, Value input2, BoolAttr choice) { return choice.getValue() ? input1 : input2; } -static void createOpI(PatternRewriter &rewriter, ValuePtr input) { +static void createOpI(PatternRewriter &rewriter, Value input) { rewriter.create<OpI>(rewriter.getUnknownLoc(), input); } @@ -65,7 +64,7 @@ struct ReturnTypeOpMatch : public RewritePattern { PatternMatchResult matchAndRewrite(Operation *op, PatternRewriter &rewriter) const final { if (auto retTypeFn = dyn_cast<InferTypeOpInterface>(op)) { - SmallVector<ValuePtr, 4> values(op->getOperands()); + SmallVector<Value, 4> values(op->getOperands()); SmallVector<Type, 2> inferedReturnTypes; if (failed(retTypeFn.inferReturnTypes(op->getLoc(), values, op->getAttrs(), op->getRegions(), @@ -124,7 +123,7 @@ struct TestRegionRewriteBlockMovement : public ConversionPattern { : ConversionPattern("test.region", 1, ctx) {} PatternMatchResult - matchAndRewrite(Operation *op, ArrayRef<ValuePtr> operands, + matchAndRewrite(Operation *op, ArrayRef<Value> operands, ConversionPatternRewriter &rewriter) const final { // Inline this region into the parent region. auto &parentRegion = *op->getParentRegion(); @@ -157,7 +156,7 @@ struct TestRegionRewriteUndo : public RewritePattern { // Add an explicitly illegal operation to ensure the conversion fails. rewriter.create<ILLegalOpF>(op->getLoc(), rewriter.getIntegerType(32)); - rewriter.create<TestValidOp>(op->getLoc(), ArrayRef<ValuePtr>()); + rewriter.create<TestValidOp>(op->getLoc(), ArrayRef<Value>()); // Drop this operation. rewriter.eraseOp(op); @@ -174,7 +173,7 @@ struct TestDropOpSignatureConversion : public ConversionPattern { : ConversionPattern("test.drop_region_op", 1, ctx), converter(converter) { } PatternMatchResult - matchAndRewrite(Operation *op, ArrayRef<ValuePtr> operands, + matchAndRewrite(Operation *op, ArrayRef<Value> operands, ConversionPatternRewriter &rewriter) const override { Region ®ion = op->getRegion(0); Block *entry = ®ion.front(); @@ -200,7 +199,7 @@ struct TestPassthroughInvalidOp : public ConversionPattern { TestPassthroughInvalidOp(MLIRContext *ctx) : ConversionPattern("test.invalid", 1, ctx) {} PatternMatchResult - matchAndRewrite(Operation *op, ArrayRef<ValuePtr> operands, + matchAndRewrite(Operation *op, ArrayRef<Value> operands, ConversionPatternRewriter &rewriter) const final { rewriter.replaceOpWithNewOp<TestValidOp>(op, llvm::None, operands, llvm::None); @@ -212,7 +211,7 @@ struct TestSplitReturnType : public ConversionPattern { TestSplitReturnType(MLIRContext *ctx) : ConversionPattern("test.return", 1, ctx) {} PatternMatchResult - matchAndRewrite(Operation *op, ArrayRef<ValuePtr> operands, + matchAndRewrite(Operation *op, ArrayRef<Value> operands, ConversionPatternRewriter &rewriter) const final { // Check for a return of F32. if (op->getNumOperands() != 1 || !op->getOperand(0)->getType().isF32()) @@ -237,7 +236,7 @@ struct TestChangeProducerTypeI32ToF32 : public ConversionPattern { TestChangeProducerTypeI32ToF32(MLIRContext *ctx) : ConversionPattern("test.type_producer", 1, ctx) {} PatternMatchResult - matchAndRewrite(Operation *op, ArrayRef<ValuePtr> operands, + matchAndRewrite(Operation *op, ArrayRef<Value> operands, ConversionPatternRewriter &rewriter) const final { // If the type is I32, change the type to F32. if (!(*op->result_type_begin()).isInteger(32)) @@ -250,7 +249,7 @@ struct TestChangeProducerTypeF32ToF64 : public ConversionPattern { TestChangeProducerTypeF32ToF64(MLIRContext *ctx) : ConversionPattern("test.type_producer", 1, ctx) {} PatternMatchResult - matchAndRewrite(Operation *op, ArrayRef<ValuePtr> operands, + matchAndRewrite(Operation *op, ArrayRef<Value> operands, ConversionPatternRewriter &rewriter) const final { // If the type is F32, change the type to F64. if (!(*op->result_type_begin()).isF32()) @@ -263,7 +262,7 @@ struct TestChangeProducerTypeF32ToInvalid : public ConversionPattern { TestChangeProducerTypeF32ToInvalid(MLIRContext *ctx) : ConversionPattern("test.type_producer", 10, ctx) {} PatternMatchResult - matchAndRewrite(Operation *op, ArrayRef<ValuePtr> operands, + matchAndRewrite(Operation *op, ArrayRef<Value> operands, ConversionPatternRewriter &rewriter) const final { // Always convert to B16, even though it is not a legal type. This tests // that values are unmapped correctly. @@ -275,7 +274,7 @@ struct TestUpdateConsumerType : public ConversionPattern { TestUpdateConsumerType(MLIRContext *ctx) : ConversionPattern("test.type_consumer", 1, ctx) {} PatternMatchResult - matchAndRewrite(Operation *op, ArrayRef<ValuePtr> operands, + matchAndRewrite(Operation *op, ArrayRef<Value> operands, ConversionPatternRewriter &rewriter) const final { // Verify that the incoming operand has been successfully remapped to F64. if (!operands[0]->getType().isF64()) @@ -336,7 +335,7 @@ struct TestTypeConverter : public TypeConverter { /// Override the hook to materialize a conversion. This is necessary because /// we generate 1->N type mappings. Operation *materializeConversion(PatternRewriter &rewriter, Type resultType, - ArrayRef<ValuePtr> inputs, + ArrayRef<Value> inputs, Location loc) override { return rewriter.create<TestCastOp>(loc, resultType, inputs); } @@ -459,13 +458,13 @@ struct OneVResOneVOperandOp1Converter using OpConversionPattern<OneVResOneVOperandOp1>::OpConversionPattern; PatternMatchResult - matchAndRewrite(OneVResOneVOperandOp1 op, ArrayRef<ValuePtr> operands, + matchAndRewrite(OneVResOneVOperandOp1 op, ArrayRef<Value> operands, ConversionPatternRewriter &rewriter) const override { auto origOps = op.getOperands(); assert(std::distance(origOps.begin(), origOps.end()) == 1 && "One operand expected"); - ValuePtr origOp = *origOps.begin(); - SmallVector<ValuePtr, 2> remappedOperands; + Value origOp = *origOps.begin(); + SmallVector<Value, 2> remappedOperands; // Replicate the remapped original operand twice. Note that we don't used // the remapped 'operand' since the goal is testing 'getRemappedValue'. remappedOperands.push_back(rewriter.getRemappedValue(origOp)); diff --git a/mlir/test/lib/Transforms/TestLoopMapping.cpp b/mlir/test/lib/Transforms/TestLoopMapping.cpp index 5b1394d5996..86e5713eb03 100644 --- a/mlir/test/lib/Transforms/TestLoopMapping.cpp +++ b/mlir/test/lib/Transforms/TestLoopMapping.cpp @@ -32,7 +32,7 @@ public: // SSA values for the transformation are created out of thin air by // unregistered "new_processor_id_and_range" operations. This is enough to // emulate mapping conditions. - SmallVector<ValuePtr, 8> processorIds, numProcessors; + SmallVector<Value, 8> processorIds, numProcessors; func.walk([&processorIds, &numProcessors](Operation *op) { if (op->getName().getStringRef() != "new_processor_id_and_range") return; diff --git a/mlir/test/lib/Transforms/TestVectorizationUtils.cpp b/mlir/test/lib/Transforms/TestVectorizationUtils.cpp index e131f4803ef..6f4d948e55f 100644 --- a/mlir/test/lib/Transforms/TestVectorizationUtils.cpp +++ b/mlir/test/lib/Transforms/TestVectorizationUtils.cpp @@ -236,7 +236,7 @@ void VectorizerTestPass::testNormalizeMaps() { for (auto m : matches) { auto app = cast<AffineApplyOp>(m.getMatchedOperation()); OpBuilder b(m.getMatchedOperation()); - SmallVector<ValuePtr, 8> operands(app.getOperands()); + SmallVector<Value, 8> operands(app.getOperands()); makeComposedAffineApply(b, app.getLoc(), app.getAffineMap(), operands); } } diff --git a/mlir/test/mlir-tblgen/op-attribute.td b/mlir/test/mlir-tblgen/op-attribute.td index 004e7662299..5e6d56ccfa2 100644 --- a/mlir/test/mlir-tblgen/op-attribute.td +++ b/mlir/test/mlir-tblgen/op-attribute.td @@ -216,9 +216,9 @@ def MixOperandsAndAttrs : NS_Op<"mix_operands_and_attrs", []> { } // DEF-LABEL: MixOperandsAndAttrs definitions -// DEF-DAG: ValuePtr MixOperandsAndAttrs::operand() -// DEF-DAG: ValuePtr MixOperandsAndAttrs::otherArg() -// DEF-DAG: void MixOperandsAndAttrs::build(Builder *tblgen_builder, OperationState &tblgen_state, FloatAttr attr, ValuePtr operand, FloatAttr otherAttr, ValuePtr otherArg) +// DEF-DAG: Value MixOperandsAndAttrs::operand() +// DEF-DAG: Value MixOperandsAndAttrs::otherArg() +// DEF-DAG: void MixOperandsAndAttrs::build(Builder *tblgen_builder, OperationState &tblgen_state, FloatAttr attr, Value operand, FloatAttr otherAttr, Value otherArg) // DEF-DAG: APFloat MixOperandsAndAttrs::attr() // DEF-DAG: APFloat MixOperandsAndAttrs::otherAttr() diff --git a/mlir/test/mlir-tblgen/op-decl.td b/mlir/test/mlir-tblgen/op-decl.td index 55952236429..74da938bd67 100644 --- a/mlir/test/mlir-tblgen/op-decl.td +++ b/mlir/test/mlir-tblgen/op-decl.td @@ -26,7 +26,7 @@ def NS_AOp : NS_Op<"a_op", [NoSideEffect, NoSideEffect]> { ); let regions = (region AnyRegion:$someRegion); - let builders = [OpBuilder<"ValuePtr val">]; + let builders = [OpBuilder<"Value val">]; let parser = [{ foo }]; let printer = [{ bar }]; let verifier = [{ baz }]; @@ -46,12 +46,12 @@ def NS_AOp : NS_Op<"a_op", [NoSideEffect, NoSideEffect]> { // CHECK: class AOpOperandAdaptor { // CHECK: public: -// CHECK: AOpOperandAdaptor(ArrayRef<ValuePtr> values); -// CHECK: ArrayRef<ValuePtr> getODSOperands(unsigned index); -// CHECK: ValuePtr a(); -// CHECK: ArrayRef<ValuePtr> b(); +// CHECK: AOpOperandAdaptor(ArrayRef<Value> values); +// CHECK: ArrayRef<Value> getODSOperands(unsigned index); +// CHECK: Value a(); +// CHECK: ArrayRef<Value> b(); // CHECK: private: -// CHECK: ArrayRef<ValuePtr> tblgen_operands; +// CHECK: ArrayRef<Value> tblgen_operands; // CHECK: }; // CHECK: class AOp : public Op<AOp, OpTrait::AtLeastNResults<1>::Impl, OpTrait::HasNoSideEffect, OpTrait::AtLeastNOperands<1>::Impl @@ -60,18 +60,18 @@ def NS_AOp : NS_Op<"a_op", [NoSideEffect, NoSideEffect]> { // CHECK: using OperandAdaptor = AOpOperandAdaptor; // CHECK: static StringRef getOperationName(); // CHECK: Operation::operand_range getODSOperands(unsigned index); -// CHECK: ValuePtr a(); +// CHECK: Value a(); // CHECK: Operation::operand_range b(); // CHECK: Operation::result_range getODSResults(unsigned index); -// CHECK: ValuePtr r(); +// CHECK: Value r(); // CHECK: Region &someRegion(); // CHECK: IntegerAttr attr1Attr() // CHECK: APInt attr1(); // CHECK: FloatAttr attr2Attr() // CHECK: Optional< APFloat > attr2(); -// CHECK: static void build(ValuePtr val); -// CHECK: static void build(Builder *tblgen_builder, OperationState &tblgen_state, Type r, ArrayRef<Type> s, ValuePtr a, ValueRange b, IntegerAttr attr1, /*optional*/FloatAttr attr2) -// CHECK: static void build(Builder *tblgen_builder, OperationState &tblgen_state, Type r, ArrayRef<Type> s, ValuePtr a, ValueRange b, APInt attr1, /*optional*/FloatAttr attr2) +// CHECK: static void build(Value val); +// CHECK: static void build(Builder *tblgen_builder, OperationState &tblgen_state, Type r, ArrayRef<Type> s, Value a, ValueRange b, IntegerAttr attr1, /*optional*/FloatAttr attr2) +// CHECK: static void build(Builder *tblgen_builder, OperationState &tblgen_state, Type r, ArrayRef<Type> s, Value a, ValueRange b, APInt attr1, /*optional*/FloatAttr attr2) // CHECK: static void build(Builder *, OperationState &tblgen_state, ArrayRef<Type> resultTypes, ValueRange operands, ArrayRef<NamedAttribute> attributes) // CHECK: static ParseResult parse(OpAsmParser &parser, OperationState &result); // CHECK: void print(OpAsmPrinter &p); @@ -111,7 +111,7 @@ def NS_DOp : NS_Op<"op_with_two_operands", []> { def NS_SkipDefaultBuildersOp : NS_Op<"skip_default_builders", []> { let skipDefaultBuilders = 1; - let builders = [OpBuilder<"ValuePtr val">]; + let builders = [OpBuilder<"Value val">]; } // CHECK-LABEL: NS::SkipDefaultBuildersOp declarations diff --git a/mlir/test/mlir-tblgen/op-operand.td b/mlir/test/mlir-tblgen/op-operand.td index c592686ebd3..e2d5862e3ca 100644 --- a/mlir/test/mlir-tblgen/op-operand.td +++ b/mlir/test/mlir-tblgen/op-operand.td @@ -18,7 +18,7 @@ def OpA : NS_Op<"one_normal_operand_op", []> { // CHECK-NEXT: tblgen_operands = values // CHECK: void OpA::build -// CHECK: ValuePtr input +// CHECK: Value input // CHECK: tblgen_state.addOperands(input); // CHECK: void OpA::build @@ -39,19 +39,19 @@ def OpD : NS_Op<"mix_variadic_and_normal_inputs_op", [SameVariadicOperandSize]> let arguments = (ins Variadic<AnyTensor>:$input1, AnyTensor:$input2, Variadic<AnyTensor>:$input3); } -// CHECK-LABEL: ArrayRef<ValuePtr> OpDOperandAdaptor::input1 +// CHECK-LABEL: ArrayRef<Value> OpDOperandAdaptor::input1 // CHECK-NEXT: return getODSOperands(0); -// CHECK-LABEL: ValuePtr OpDOperandAdaptor::input2 +// CHECK-LABEL: Value OpDOperandAdaptor::input2 // CHECK-NEXT: return *getODSOperands(1).begin(); -// CHECK-LABEL: ArrayRef<ValuePtr> OpDOperandAdaptor::input3 +// CHECK-LABEL: ArrayRef<Value> OpDOperandAdaptor::input3 // CHECK-NEXT: return getODSOperands(2); // CHECK-LABEL: Operation::operand_range OpD::input1 // CHECK-NEXT: return getODSOperands(0); -// CHECK-LABEL: ValuePtr OpD::input2 +// CHECK-LABEL: Value OpD::input2 // CHECK-NEXT: return *getODSOperands(1).begin(); // CHECK-LABEL: OpD::build diff --git a/mlir/test/mlir-tblgen/op-result.td b/mlir/test/mlir-tblgen/op-result.td index f9a77ea492e..a177f9ca305 100644 --- a/mlir/test/mlir-tblgen/op-result.td +++ b/mlir/test/mlir-tblgen/op-result.td @@ -23,9 +23,9 @@ def OpB : NS_Op<"same_input_output_type_op", [SameOperandsAndResultType]> { } // CHECK-LABEL: OpB definitions -// CHECK: void OpB::build(Builder *tblgen_builder, OperationState &tblgen_state, Type y, ValuePtr x) +// CHECK: void OpB::build(Builder *tblgen_builder, OperationState &tblgen_state, Type y, Value x) // CHECK: tblgen_state.addTypes(y); -// CHECK: void OpB::build(Builder *tblgen_builder, OperationState &tblgen_state, ValuePtr x) +// CHECK: void OpB::build(Builder *tblgen_builder, OperationState &tblgen_state, Value x) // CHECK: tblgen_state.addTypes({x->getType()}); def OpC : NS_Op<"three_normal_result_op", []> { @@ -89,7 +89,7 @@ def OpI : NS_Op<"mix_variadic_and_normal_results_op", [SameVariadicResultSize]> // CHECK-LABEL: Operation::result_range OpI::output1 // CHECK-NEXT: return getODSResults(0); -// CHECK-LABEL: ValuePtr OpI::output2 +// CHECK-LABEL: Value OpI::output2 // CHECK-NEXT: return *getODSResults(1).begin(); // CHECK-LABEL: OpI::build diff --git a/mlir/test/mlir-tblgen/predicate.td b/mlir/test/mlir-tblgen/predicate.td index fef1b139dc9..ecfe709aa1b 100644 --- a/mlir/test/mlir-tblgen/predicate.td +++ b/mlir/test/mlir-tblgen/predicate.td @@ -16,7 +16,7 @@ def OpA : NS_Op<"op_for_CPred_containing_multiple_same_placeholder", []> { } // CHECK-LABEL: OpA::verify -// CHECK: for (ValuePtr v : getODSOperands(0)) { +// CHECK: for (Value v : getODSOperands(0)) { // CHECK: if (!((v->getType().isInteger(32) || v->getType().isF32()))) def OpB : NS_Op<"op_for_And_PredOpTrait", [ @@ -90,5 +90,5 @@ def OpK : NS_Op<"op_for_AnyTensorOf", []> { } // CHECK-LABEL: OpK::verify -// CHECK: for (ValuePtr v : getODSOperands(0)) { +// CHECK: for (Value v : getODSOperands(0)) { // CHECK: if (!(((v->getType().isa<TensorType>())) && (((v->getType().cast<ShapedType>().getElementType().isF32())) || ((v->getType().cast<ShapedType>().getElementType().isInteger(32)))))) |

