diff options
author | River Riddle <riverriddle@google.com> | 2020-01-11 08:54:04 -0800 |
---|---|---|
committer | River Riddle <riverriddle@google.com> | 2020-01-11 08:54:39 -0800 |
commit | 2bdf33cc4c733342fc83081bc7410ac5e9a24f55 (patch) | |
tree | 3306d769c2bbabda1060928e0cea79d021ea9da2 /mlir/lib/Dialect/GPU/IR/GPUDialect.cpp | |
parent | 1d641daf260308815d014d1bf1b424a1ed1e7277 (diff) | |
download | bcm5719-llvm-2bdf33cc4c733342fc83081bc7410ac5e9a24f55.tar.gz bcm5719-llvm-2bdf33cc4c733342fc83081bc7410ac5e9a24f55.zip |
[mlir] NFC: Remove Value::operator* and Value::operator-> now that Value is properly value-typed.
Summary: These were temporary methods used to simplify the transition.
Reviewed By: antiagainst
Differential Revision: https://reviews.llvm.org/D72548
Diffstat (limited to 'mlir/lib/Dialect/GPU/IR/GPUDialect.cpp')
-rw-r--r-- | mlir/lib/Dialect/GPU/IR/GPUDialect.cpp | 50 |
1 files changed, 20 insertions, 30 deletions
diff --git a/mlir/lib/Dialect/GPU/IR/GPUDialect.cpp b/mlir/lib/Dialect/GPU/IR/GPUDialect.cpp index 32d7fae65d9..e750d0fefff 100644 --- a/mlir/lib/Dialect/GPU/IR/GPUDialect.cpp +++ b/mlir/lib/Dialect/GPU/IR/GPUDialect.cpp @@ -110,7 +110,7 @@ LogicalResult GPUDialect::verifyOperationAttribute(Operation *op, // to encode target module" has landed. // auto functionType = kernelFunc.getType(); // for (unsigned i = 0; i < numKernelFuncArgs; ++i) { - // if (getKernelOperand(i)->getType() != functionType.getInput(i)) { + // if (getKernelOperand(i).getType() != functionType.getInput(i)) { // return emitOpError("type of function argument ") // << i << " does not match"; // } @@ -137,7 +137,7 @@ static LogicalResult verifyAllReduce(gpu::AllReduceOp allReduce) { if (allReduce.body().front().getNumArguments() != 2) return allReduce.emitError("expected two region arguments"); for (auto argument : allReduce.body().front().getArguments()) { - if (argument->getType() != allReduce.getType()) + if (argument.getType() != allReduce.getType()) return allReduce.emitError("incorrect region argument type"); } unsigned yieldCount = 0; @@ -145,7 +145,7 @@ static LogicalResult verifyAllReduce(gpu::AllReduceOp allReduce) { if (auto yield = dyn_cast<gpu::YieldOp>(block.getTerminator())) { if (yield.getNumOperands() != 1) return allReduce.emitError("expected one gpu.yield operand"); - if (yield.getOperand(0)->getType() != allReduce.getType()) + if (yield.getOperand(0).getType() != allReduce.getType()) return allReduce.emitError("incorrect gpu.yield type"); ++yieldCount; } @@ -157,8 +157,8 @@ static LogicalResult verifyAllReduce(gpu::AllReduceOp allReduce) { } static LogicalResult verifyShuffleOp(gpu::ShuffleOp shuffleOp) { - auto type = shuffleOp.value()->getType(); - if (shuffleOp.result()->getType() != type) { + auto type = shuffleOp.value().getType(); + if (shuffleOp.result().getType() != type) { return shuffleOp.emitOpError() << "requires the same type for value operand and result"; } @@ -170,10 +170,8 @@ static LogicalResult verifyShuffleOp(gpu::ShuffleOp shuffleOp) { } static void printShuffleOp(OpAsmPrinter &p, ShuffleOp op) { - p << ShuffleOp::getOperationName() << ' '; - p.printOperands(op.getOperands()); - p << ' ' << op.mode() << " : "; - p.printType(op.value()->getType()); + p << ShuffleOp::getOperationName() << ' ' << op.getOperands() << ' ' + << op.mode() << " : " << op.value().getType(); } static ParseResult parseShuffleOp(OpAsmParser &parser, OperationState &state) { @@ -201,14 +199,6 @@ static ParseResult parseShuffleOp(OpAsmParser &parser, OperationState &state) { // LaunchOp //===----------------------------------------------------------------------===// -static SmallVector<Type, 4> getValueTypes(ValueRange values) { - SmallVector<Type, 4> types; - types.reserve(values.size()); - for (Value v : values) - types.push_back(v->getType()); - return types; -} - void LaunchOp::build(Builder *builder, OperationState &result, Value gridSizeX, Value gridSizeY, Value gridSizeZ, Value blockSizeX, Value blockSizeY, Value blockSizeZ, ValueRange operands) { @@ -224,7 +214,7 @@ void LaunchOp::build(Builder *builder, OperationState &result, Value gridSizeX, Block *body = new Block(); body->addArguments( std::vector<Type>(kNumConfigRegionAttributes, builder->getIndexType())); - body->addArguments(getValueTypes(operands)); + body->addArguments(llvm::to_vector<4>(operands.getTypes())); kernelRegion->push_back(body); } @@ -309,10 +299,10 @@ LogicalResult verify(LaunchOp op) { // where %size-* and %iter-* will correspond to the body region arguments. static void printSizeAssignment(OpAsmPrinter &p, KernelDim3 size, ValueRange operands, KernelDim3 ids) { - p << '(' << *ids.x << ", " << *ids.y << ", " << *ids.z << ") in ("; - p << *size.x << " = " << *operands[0] << ", "; - p << *size.y << " = " << *operands[1] << ", "; - p << *size.z << " = " << *operands[2] << ')'; + p << '(' << ids.x << ", " << ids.y << ", " << ids.z << ") in ("; + p << size.x << " = " << operands[0] << ", "; + p << size.y << " = " << operands[1] << ", "; + p << size.z << " = " << operands[2] << ')'; } void printLaunchOp(OpAsmPrinter &p, LaunchOp op) { @@ -335,8 +325,8 @@ void printLaunchOp(OpAsmPrinter &p, LaunchOp op) { p << ' ' << op.getArgsKeyword() << '('; Block *entryBlock = &op.body().front(); interleaveComma(llvm::seq<int>(0, operands.size()), p, [&](int i) { - p << *entryBlock->getArgument(LaunchOp::kNumConfigRegionAttributes + i) - << " = " << *operands[i]; + p << entryBlock->getArgument(LaunchOp::kNumConfigRegionAttributes + i) + << " = " << operands[i]; }); p << ") "; } @@ -486,14 +476,14 @@ class PropagateConstantBounds : public OpRewritePattern<LaunchOp> { for (unsigned i = operands.size(); i > 0; --i) { unsigned index = i - 1; Value operand = operands[index]; - if (!isa_and_nonnull<ConstantOp>(operand->getDefiningOp())) + if (!isa_and_nonnull<ConstantOp>(operand.getDefiningOp())) continue; found = true; Value internalConstant = - rewriter.clone(*operand->getDefiningOp())->getResult(0); + rewriter.clone(*operand.getDefiningOp())->getResult(0); Value kernelArg = *std::next(kernelArgs.begin(), index); - kernelArg->replaceAllUsesWith(internalConstant); + kernelArg.replaceAllUsesWith(internalConstant); launchOp.eraseKernelArgument(index); } @@ -740,7 +730,7 @@ static void printAttributions(OpAsmPrinter &p, StringRef keyword, p << ' ' << keyword << '('; interleaveComma(values, p, - [&p](BlockArgument v) { p << *v << " : " << v->getType(); }); + [&p](BlockArgument v) { p << v << " : " << v.getType(); }); p << ')'; } @@ -790,7 +780,7 @@ static LogicalResult verifyAttributions(Operation *op, ArrayRef<BlockArgument> attributions, unsigned memorySpace) { for (Value v : attributions) { - auto type = v->getType().dyn_cast<MemRefType>(); + auto type = v.getType().dyn_cast<MemRefType>(); if (!type) return op->emitOpError() << "expected memref type in attribution"; @@ -814,7 +804,7 @@ LogicalResult GPUFuncOp::verifyBody() { ArrayRef<Type> funcArgTypes = getType().getInputs(); for (unsigned i = 0; i < numFuncArguments; ++i) { - Type blockArgType = front().getArgument(i)->getType(); + Type blockArgType = front().getArgument(i).getType(); if (funcArgTypes[i] != blockArgType) return emitOpError() << "expected body region argument #" << i << " to be of type " << funcArgTypes[i] << ", got " |