Updates LLVM usage to match
[220de1f32add](https://github.com/llvm/llvm-project/commit/220de1f32add)

PiperOrigin-RevId: 337270545
Change-Id: Ie25da9af95cdf3b8db1ad57fdfc0d18c10ee3fc5
This commit is contained in:
Adrian Kuegel 2020-10-15 02:53:17 -07:00 committed by TensorFlower Gardener
parent 34592c6663
commit ca0607c198
8 changed files with 41 additions and 43 deletions

View File

@ -56,9 +56,9 @@ void PopulateMhloToStdPatterns(OwningRewritePatternList *patterns,
MLIRContext *ctx);
// Collection of rewrite patterns for lowering of HLO to LHLO dialect.
void populateHLOToLHLOConversionPattern(
MLIRContext *context, BufferAssignmentTypeConverter *converter,
OwningRewritePatternList *patterns);
void populateHLOToLHLOConversionPattern(MLIRContext *context,
BufferizeTypeConverter *converter,
OwningRewritePatternList *patterns);
// Collection of rewrite patterns for lowering of HLO to Linalg dialect.
void populateHLOToLinalgConversionPattern(MLIRContext *context,

View File

@ -42,7 +42,7 @@ namespace mhlo {
namespace {
template <typename T>
using BaseOpConversion = BufferAssignmentOpConversionPattern<T>;
using BaseOpConversion = BufferizeOpConversionPattern<T>;
Value InsertDynamicAllocAndDealloc(Location loc, Value result,
Value shape_operand,
@ -433,7 +433,7 @@ struct HloLegalizeToLhlo
target.addLegalOp<TensorFromElementsOp>();
target.addIllegalDialect<mhlo::MhloDialect>();
BufferAssignmentTypeConverter converter;
BufferizeTypeConverter converter;
auto isMemRefType = [](Type type) { return type.isa<BaseMemRefType>(); };
target.addDynamicallyLegalOp<FuncOp>([&](FuncOp op) {
auto inputs = op.getType().getInputs();
@ -456,16 +456,16 @@ struct HloLegalizeToLhlo
});
auto kind = results_escape_function
? BufferAssignmentTypeConverter::KeepAsFunctionResult
: BufferAssignmentTypeConverter::AppendToArgumentsList;
? BufferizeTypeConverter::KeepAsFunctionResult
: BufferizeTypeConverter::AppendToArgumentsList;
converter.setResultConversionKind<UnrankedTensorType, UnrankedMemRefType>(
kind);
converter.setResultConversionKind<RankedTensorType, MemRefType>(kind);
populateHLOToLHLOConversionPattern(&context, &converter, &patterns);
populateWithBufferAssignmentOpConversionPatterns<
mlir::ReturnOp, mlir::ReturnOp, lmhlo::CopyOp>(&context, converter,
patterns);
populateWithBufferizeOpConversionPatterns<mlir::ReturnOp, mlir::ReturnOp,
lmhlo::CopyOp>(
&context, converter, patterns);
populateShapeTypeConversionPatterns(&context, converter, patterns);
if (failed(applyPartialConversion(getOperation(), target, patterns)))
signalPassFailure();
@ -480,9 +480,9 @@ struct HloLegalizeToLhlo
};
} // namespace
void populateHLOToLHLOConversionPattern(
MLIRContext* context, BufferAssignmentTypeConverter* converter,
OwningRewritePatternList* patterns) {
void populateHLOToLHLOConversionPattern(MLIRContext* context,
BufferizeTypeConverter* converter,
OwningRewritePatternList* patterns) {
// clang-format off
patterns->insert<
HloToLhloDynamicBroadcastInDimOpConverter,

View File

@ -62,7 +62,7 @@ std::unique_ptr<llvm::TargetMachine> GetTargetMachine(llvm::Module* module) {
}
llvm::TargetOptions target_options =
llvm::codegen::InitTargetOptionsFromCodeGenFlags();
llvm::codegen::InitTargetOptionsFromCodeGenFlags(llvm::Triple());
return std::unique_ptr<llvm::TargetMachine>(target->createTargetMachine(
triple.str(), "generic", "", target_options, llvm::Reloc::Model::PIC_));
}

View File

@ -40,10 +40,10 @@ namespace transforms {
namespace {
class TensorFromElementsOpConverter
: public BufferAssignmentOpConversionPattern<TensorFromElementsOp> {
: public BufferizeOpConversionPattern<TensorFromElementsOp> {
public:
using BufferAssignmentOpConversionPattern<
TensorFromElementsOp>::BufferAssignmentOpConversionPattern;
using BufferizeOpConversionPattern<
TensorFromElementsOp>::BufferizeOpConversionPattern;
LogicalResult matchAndRewrite(
TensorFromElementsOp op, ArrayRef<Value> operands,
@ -64,10 +64,10 @@ class TensorFromElementsOpConverter
};
class DynamicTensorFromElementsOpConverter
: public BufferAssignmentOpConversionPattern<DynamicTensorFromElementsOp> {
: public BufferizeOpConversionPattern<DynamicTensorFromElementsOp> {
public:
using BufferAssignmentOpConversionPattern<
DynamicTensorFromElementsOp>::BufferAssignmentOpConversionPattern;
using BufferizeOpConversionPattern<
DynamicTensorFromElementsOp>::BufferizeOpConversionPattern;
LogicalResult matchAndRewrite(
DynamicTensorFromElementsOp op, ArrayRef<Value> operands,
@ -116,10 +116,10 @@ class DynamicTensorFromElementsOpConverter
};
class TensorLoadOpConversion
: public BufferAssignmentOpConversionPattern<TensorLoadOp> {
: public BufferizeOpConversionPattern<TensorLoadOp> {
public:
using BufferAssignmentOpConversionPattern<
TensorLoadOp>::BufferAssignmentOpConversionPattern;
using BufferizeOpConversionPattern<
TensorLoadOp>::BufferizeOpConversionPattern;
LogicalResult matchAndRewrite(
TensorLoadOp op, ArrayRef<Value> operands,
@ -131,10 +131,10 @@ class TensorLoadOpConversion
};
class ExtractElementOpConversion
: public BufferAssignmentOpConversionPattern<ExtractElementOp> {
: public BufferizeOpConversionPattern<ExtractElementOp> {
public:
using BufferAssignmentOpConversionPattern<
ExtractElementOp>::BufferAssignmentOpConversionPattern;
using BufferizeOpConversionPattern<
ExtractElementOp>::BufferizeOpConversionPattern;
LogicalResult matchAndRewrite(
ExtractElementOp op, ArrayRef<Value> operands,
@ -152,12 +152,10 @@ class ExtractElementOpConversion
};
template <typename OpTy>
class SimpleOpResultConversion
: public BufferAssignmentOpConversionPattern<OpTy> {
class SimpleOpResultConversion : public BufferizeOpConversionPattern<OpTy> {
public:
using BufferAssignmentOpConversionPattern<
OpTy>::BufferAssignmentOpConversionPattern;
using BufferAssignmentOpConversionPattern<OpTy>::converter;
using BufferizeOpConversionPattern<OpTy>::BufferizeOpConversionPattern;
using BufferizeOpConversionPattern<OpTy>::converter;
LogicalResult matchAndRewrite(
OpTy op, ArrayRef<Value> operands,
@ -169,10 +167,10 @@ class SimpleOpResultConversion
};
class TensorCastOpConverter
: public BufferAssignmentOpConversionPattern<TensorCastOp> {
: public BufferizeOpConversionPattern<TensorCastOp> {
public:
using BufferAssignmentOpConversionPattern<
TensorCastOp>::BufferAssignmentOpConversionPattern;
using BufferizeOpConversionPattern<
TensorCastOp>::BufferizeOpConversionPattern;
LogicalResult matchAndRewrite(
TensorCastOp op, ArrayRef<Value> operands,
@ -190,7 +188,7 @@ class TensorCastOpConverter
} // namespace
void populateStandardBufferizePattern(MLIRContext *context,
BufferAssignmentTypeConverter *converter,
BufferizeTypeConverter *converter,
OwningRewritePatternList *patterns) {
patterns->insert<ExtractElementOpConversion, TensorFromElementsOpConverter,
DynamicTensorFromElementsOpConverter,

View File

@ -86,7 +86,7 @@ struct BufferizePass : public BufferizePassBase<BufferizePass> {
return !op.tensor().getType().isa<UnrankedTensorType>();
});
BufferAssignmentTypeConverter converter;
BufferizeTypeConverter converter;
auto typesAreLegal = [&converter](Operation* op) {
return converter.isLegal(op->getOperandTypes()) &&
converter.isLegal(op->getResultTypes());
@ -102,8 +102,8 @@ struct BufferizePass : public BufferizePassBase<BufferizePass> {
OwningRewritePatternList patterns;
mhlo::populateHLOToLHLOConversionPattern(&context, &converter, &patterns);
populateWithBufferAssignmentOpConversionPatterns<ReturnOp, ReturnOp,
lmhlo::CopyOp>(
populateWithBufferizeOpConversionPatterns<ReturnOp, ReturnOp,
lmhlo::CopyOp>(
&context, converter, patterns);
populateStandardBufferizePattern(&context, &converter, &patterns);
populateShapeTypeConversionPatterns(&context, converter, patterns);

View File

@ -21,7 +21,7 @@ limitations under the License.
namespace mlir {
class BufferAssignmentPlacer;
class BufferAssignmentTypeConverter;
class BufferizeTypeConverter;
class LLVMTypeConverter;
class MLIRContext;
class OwningRewritePatternList;
@ -45,7 +45,7 @@ namespace transforms {
/// Collects a set of patterns that bufferize operations from the standard
/// dialect.
void populateStandardBufferizePattern(MLIRContext *context,
BufferAssignmentTypeConverter *converter,
BufferizeTypeConverter *converter,
OwningRewritePatternList *patterns);
} // namespace transforms
} // namespace kernel_gen

View File

@ -149,7 +149,7 @@ std::unique_ptr<llvm::TargetMachine> GetTargetMachine(
}
llvm::TargetOptions target_options =
llvm::codegen::InitTargetOptionsFromCodeGenFlags();
llvm::codegen::InitTargetOptionsFromCodeGenFlags(llvm::Triple());
// Set the verbose assembly options.
target_options.MCOptions.AsmVerbose = false;

View File

@ -712,8 +712,8 @@ def tf_repositories(path_prefix = "", tf_repo_name = ""):
)
# Check out LLVM and MLIR from llvm-project.
LLVM_COMMIT = "89657b3a3b5772558ac084dc03591de5dab3f1f1"
LLVM_SHA256 = "8b0835cd130c20d34c4884dd776c1fb6b322d30c3668374f2366b4f397092fe3"
LLVM_COMMIT = "220de1f32add09848009ae2286a1e6fd271abe9e"
LLVM_SHA256 = "dd5ec3d3f96a5ef8a59e6118e9c8eca9bb0443ae1a7e8a7834e63732e635d377"
LLVM_URLS = [
"https://storage.googleapis.com/mirror.tensorflow.org/github.com/llvm/llvm-project/archive/{commit}.tar.gz".format(commit = LLVM_COMMIT),
"https://github.com/llvm/llvm-project/archive/{commit}.tar.gz".format(commit = LLVM_COMMIT),