Integrate LLVM at llvm/llvm-project@0316f3e649
Updates LLVM usage to match [0316f3e64972](https://github.com/llvm/llvm-project/commit/0316f3e64972) PiperOrigin-RevId: 374855085
This commit is contained in:
parent
c62fd89663
commit
57aeb5ab16
|
@ -15,9 +15,9 @@
|
||||||
|
|
||||||
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
|
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
|
||||||
|
|
||||||
LLVM_COMMIT = "6381664580080f015bc0c2ec647853f697cf744a"
|
LLVM_COMMIT = "0316f3e64972c919d8bfa2d15b9a4be858530f85"
|
||||||
|
|
||||||
LLVM_SHA256 = "f16c1757a31dbf9370da3de766e20b238212b5a0e08b897eeda893899ebf70bf"
|
LLVM_SHA256 = "ddf0daa23870922c468343c08670e8007358b463cf4ed2c737a94086cc433527"
|
||||||
|
|
||||||
LLVM_BAZEL_TAG = "llvm-project-{commit}".format(commit = LLVM_COMMIT)
|
LLVM_BAZEL_TAG = "llvm-project-{commit}".format(commit = LLVM_COMMIT)
|
||||||
|
|
||||||
|
|
|
@ -1,2 +1,2 @@
|
||||||
6381664580080f015bc0c2ec647853f697cf744a
|
0316f3e64972c919d8bfa2d15b9a4be858530f85
|
||||||
|
|
||||||
|
|
|
@ -438,7 +438,7 @@ class HLOClient_UnaryElementwiseOp<string mnemonic, list<OpTrait> traits,
|
||||||
SmallVectorImpl<ShapedTypeComponents>& inferedReturnShapes) {
|
SmallVectorImpl<ShapedTypeComponents>& inferedReturnShapes) {
|
||||||
return failure();
|
return failure();
|
||||||
}
|
}
|
||||||
LogicalResult reifyReturnTypeShapes(OpBuilder& builder,
|
LogicalResult reifyReturnTypeShapes(OpBuilder& builder, ValueRange operands,
|
||||||
SmallVectorImpl<Value>& reifiedReturnShapes) {
|
SmallVectorImpl<Value>& reifiedReturnShapes) {
|
||||||
return ::mlir::mhlo::deriveShapeFromFirstOperand(&builder, getOperation(),
|
return ::mlir::mhlo::deriveShapeFromFirstOperand(&builder, getOperation(),
|
||||||
&reifiedReturnShapes);
|
&reifiedReturnShapes);
|
||||||
|
|
|
@ -139,7 +139,8 @@ class HLO_UnaryElementwiseOp<string mnemonic, list<OpTrait> traits,
|
||||||
return failure();
|
return failure();
|
||||||
}
|
}
|
||||||
LogicalResult reifyReturnTypeShapes(
|
LogicalResult reifyReturnTypeShapes(
|
||||||
OpBuilder& builder, SmallVectorImpl<Value>& reifiedReturnShapes) {
|
OpBuilder& builder, ValueRange operands,
|
||||||
|
SmallVectorImpl<Value>& reifiedReturnShapes) {
|
||||||
return ::mlir::mhlo::deriveShapeFromFirstOperand(&builder, getOperation(),
|
return ::mlir::mhlo::deriveShapeFromFirstOperand(&builder, getOperation(),
|
||||||
&reifiedReturnShapes);
|
&reifiedReturnShapes);
|
||||||
}
|
}
|
||||||
|
@ -452,7 +453,8 @@ class HLO_BinaryElementwiseOp<string mnemonic, list<OpTrait> traits> :
|
||||||
return failure();
|
return failure();
|
||||||
}
|
}
|
||||||
LogicalResult reifyReturnTypeShapes(
|
LogicalResult reifyReturnTypeShapes(
|
||||||
OpBuilder& builder, SmallVectorImpl<Value>& reifiedReturnShapes) {
|
OpBuilder& builder, ValueRange operands,
|
||||||
|
SmallVectorImpl<Value>& reifiedReturnShapes) {
|
||||||
return ::mlir::mhlo::deriveShapeFromFirstOperand(&builder, getOperation(),
|
return ::mlir::mhlo::deriveShapeFromFirstOperand(&builder, getOperation(),
|
||||||
&reifiedReturnShapes);
|
&reifiedReturnShapes);
|
||||||
}
|
}
|
||||||
|
|
|
@ -204,7 +204,8 @@ LogicalResult BroadcastComplexOp::inferReturnTypeComponents(
|
||||||
inferedReturnShapes);
|
inferedReturnShapes);
|
||||||
}
|
}
|
||||||
LogicalResult BroadcastComplexOp::reifyReturnTypeShapes(
|
LogicalResult BroadcastComplexOp::reifyReturnTypeShapes(
|
||||||
OpBuilder& builder, SmallVectorImpl<Value>& reifiedReturnShapes) {
|
OpBuilder& builder, ValueRange,
|
||||||
|
SmallVectorImpl<Value>& reifiedReturnShapes) {
|
||||||
return ReifyBroadcastBinaryOpReturnTypeShapes(builder, getOperation(),
|
return ReifyBroadcastBinaryOpReturnTypeShapes(builder, getOperation(),
|
||||||
reifiedReturnShapes);
|
reifiedReturnShapes);
|
||||||
}
|
}
|
||||||
|
@ -235,7 +236,8 @@ LogicalResult BroadcastCompareOp::inferReturnTypeComponents(
|
||||||
}
|
}
|
||||||
|
|
||||||
LogicalResult BroadcastCompareOp::reifyReturnTypeShapes(
|
LogicalResult BroadcastCompareOp::reifyReturnTypeShapes(
|
||||||
OpBuilder& builder, SmallVectorImpl<Value>& reifiedReturnShapes) {
|
OpBuilder& builder, ValueRange,
|
||||||
|
SmallVectorImpl<Value>& reifiedReturnShapes) {
|
||||||
return ReifyBroadcastBinaryOpReturnTypeShapes(builder, getOperation(),
|
return ReifyBroadcastBinaryOpReturnTypeShapes(builder, getOperation(),
|
||||||
reifiedReturnShapes);
|
reifiedReturnShapes);
|
||||||
}
|
}
|
||||||
|
@ -293,7 +295,8 @@ LogicalResult IsPosInfOp::inferReturnTypes(
|
||||||
inferedReturnShapes); \
|
inferedReturnShapes); \
|
||||||
} \
|
} \
|
||||||
LogicalResult Op::reifyReturnTypeShapes( \
|
LogicalResult Op::reifyReturnTypeShapes( \
|
||||||
OpBuilder& builder, SmallVectorImpl<Value>& reifiedReturnShapes) { \
|
OpBuilder& builder, ValueRange, \
|
||||||
|
SmallVectorImpl<Value>& reifiedReturnShapes) { \
|
||||||
return ReifyBroadcastBinaryOpReturnTypeShapes(builder, getOperation(), \
|
return ReifyBroadcastBinaryOpReturnTypeShapes(builder, getOperation(), \
|
||||||
reifiedReturnShapes); \
|
reifiedReturnShapes); \
|
||||||
}
|
}
|
||||||
|
|
|
@ -1002,7 +1002,7 @@ LogicalResult DynamicBroadcastInDimOp::inferReturnTypeComponents(
|
||||||
}
|
}
|
||||||
|
|
||||||
LogicalResult DynamicBroadcastInDimOp::reifyReturnTypeShapes(
|
LogicalResult DynamicBroadcastInDimOp::reifyReturnTypeShapes(
|
||||||
OpBuilder&, SmallVectorImpl<Value>& reifiedReturnShapes) {
|
OpBuilder&, ValueRange, SmallVectorImpl<Value>& reifiedReturnShapes) {
|
||||||
reifiedReturnShapes.push_back(output_dimensions());
|
reifiedReturnShapes.push_back(output_dimensions());
|
||||||
return success();
|
return success();
|
||||||
}
|
}
|
||||||
|
@ -2100,7 +2100,8 @@ LogicalResult SelectOp::inferReturnTypeComponents(
|
||||||
}
|
}
|
||||||
|
|
||||||
LogicalResult SelectOp::reifyReturnTypeShapes(
|
LogicalResult SelectOp::reifyReturnTypeShapes(
|
||||||
OpBuilder& builder, SmallVectorImpl<Value>& reifiedReturnShapes) {
|
OpBuilder& builder, ValueRange operands,
|
||||||
|
SmallVectorImpl<Value>& reifiedReturnShapes) {
|
||||||
return deriveShapeFromFirstOperand(&builder, getOperation(),
|
return deriveShapeFromFirstOperand(&builder, getOperation(),
|
||||||
&reifiedReturnShapes);
|
&reifiedReturnShapes);
|
||||||
}
|
}
|
||||||
|
@ -3183,7 +3184,8 @@ LogicalResult CompareOp::inferReturnTypeComponents(
|
||||||
}
|
}
|
||||||
|
|
||||||
LogicalResult CompareOp::reifyReturnTypeShapes(
|
LogicalResult CompareOp::reifyReturnTypeShapes(
|
||||||
OpBuilder& builder, SmallVectorImpl<Value>& reifiedReturnShapes) {
|
OpBuilder& builder, ValueRange operands,
|
||||||
|
SmallVectorImpl<Value>& reifiedReturnShapes) {
|
||||||
return deriveShapeFromFirstOperand(&builder, getOperation(),
|
return deriveShapeFromFirstOperand(&builder, getOperation(),
|
||||||
&reifiedReturnShapes);
|
&reifiedReturnShapes);
|
||||||
}
|
}
|
||||||
|
|
|
@ -107,7 +107,8 @@ LogicalResult ConvertResults(Operation* op, SmallVectorImpl<Value>& results,
|
||||||
if (!shape_type_op) return failure();
|
if (!shape_type_op) return failure();
|
||||||
|
|
||||||
SmallVector<Value, 1> results_shape;
|
SmallVector<Value, 1> results_shape;
|
||||||
auto status = shape_type_op.reifyReturnTypeShapes(rewriter, results_shape);
|
auto status = shape_type_op.reifyReturnTypeShapes(
|
||||||
|
rewriter, shape_type_op->getOperands(), results_shape);
|
||||||
if (failed(status)) return failure();
|
if (failed(status)) return failure();
|
||||||
results.push_back(
|
results.push_back(
|
||||||
InsertDynamicAllocAndDealloc(op->getLoc(), result.value(),
|
InsertDynamicAllocAndDealloc(op->getLoc(), result.value(),
|
||||||
|
@ -390,7 +391,8 @@ struct HloToLhloDotGeneralOpConverter
|
||||||
} else {
|
} else {
|
||||||
SmallVector<Value, 1> results_shape;
|
SmallVector<Value, 1> results_shape;
|
||||||
auto shape_type_op = dyn_cast<InferShapedTypeOpInterface>(op);
|
auto shape_type_op = dyn_cast<InferShapedTypeOpInterface>(op);
|
||||||
if (failed(shape_type_op.reifyReturnTypeShapes(rewriter, results_shape)))
|
if (failed(shape_type_op.reifyReturnTypeShapes(
|
||||||
|
rewriter, shape_type_op->getOperands(), results_shape)))
|
||||||
return failure();
|
return failure();
|
||||||
|
|
||||||
bufferArgs[2] = InsertDynamicAllocAndDealloc(
|
bufferArgs[2] = InsertDynamicAllocAndDealloc(
|
||||||
|
|
|
@ -55,7 +55,8 @@ struct ShapeReificationPattern : public OpRewritePattern<shape::ShapeOfOp> {
|
||||||
if (!shape_origin) return failure();
|
if (!shape_origin) return failure();
|
||||||
|
|
||||||
llvm::SmallVector<Value, 1> reifications;
|
llvm::SmallVector<Value, 1> reifications;
|
||||||
if (failed(shape_origin.reifyReturnTypeShapes(rewriter, reifications)))
|
if (failed(shape_origin.reifyReturnTypeShapes(
|
||||||
|
rewriter, shape_origin->getOperands(), reifications)))
|
||||||
return failure();
|
return failure();
|
||||||
assert(reifications.size() == 1);
|
assert(reifications.size() == 1);
|
||||||
Value reified_shape = reifications.front();
|
Value reified_shape = reifications.front();
|
||||||
|
|
|
@ -74,7 +74,8 @@ struct ReifyReturnTypeShapesPattern : public RewritePattern {
|
||||||
op->getOperand(0).getDefiningOp());
|
op->getOperand(0).getDefiningOp());
|
||||||
if (!defining_op) return failure();
|
if (!defining_op) return failure();
|
||||||
SmallVector<Value, 4> return_shapes;
|
SmallVector<Value, 4> return_shapes;
|
||||||
if (failed(defining_op.reifyReturnTypeShapes(rewriter, return_shapes))) {
|
if (failed(defining_op.reifyReturnTypeShapes(
|
||||||
|
rewriter, defining_op->getOperands(), return_shapes))) {
|
||||||
return failure();
|
return failure();
|
||||||
}
|
}
|
||||||
rewriter.replaceOp(op, return_shapes);
|
rewriter.replaceOp(op, return_shapes);
|
||||||
|
|
Loading…
Reference in New Issue