Populate side-effect decorators for HashTable ops.

PiperOrigin-RevId: 316958908
Change-Id: I8e75fe538bb3dfc4b6d0742f63072fe87f133a4d
This commit is contained in:
Kuangyuan Chen 2020-06-17 13:56:34 -07:00 committed by TensorFlower Gardener
parent 56e71dd0e7
commit 8e7be6f71a
3 changed files with 10 additions and 3 deletions

View File

@ -3862,7 +3862,7 @@ table will be immutable.
); );
let results = (outs let results = (outs
TF_ResourceTensor:$table_handle Res<TF_ResourceTensor, "", [TF_TableRead]>:$table_handle
); );
} }
@ -4814,7 +4814,7 @@ table. It must also be of the same type as the table values.
}]; }];
let arguments = (ins let arguments = (ins
TF_ResourceTensor:$table_handle, Arg<TF_ResourceTensor, "", [TF_TableRead]>:$table_handle,
TF_Tensor:$keys, TF_Tensor:$keys,
TF_Tensor:$default_value TF_Tensor:$default_value
); );
@ -4838,7 +4838,7 @@ The tensor `values` must be of the type of the table values.
}]; }];
let arguments = (ins let arguments = (ins
TF_ResourceTensor:$table_handle, Arg<TF_ResourceTensor, "", [TF_TableWrite]>:$table_handle,
TF_Tensor:$keys, TF_Tensor:$keys,
TF_Tensor:$values TF_Tensor:$values
); );

View File

@ -91,14 +91,17 @@ class TF_ResourceBase<string resourceKind> :
def TF_VariableResource : TF_ResourceBase<"Variable">; def TF_VariableResource : TF_ResourceBase<"Variable">;
def TF_StackResource : TF_ResourceBase<"Stack">; def TF_StackResource : TF_ResourceBase<"Stack">;
def TF_TensorArrayResource : TF_ResourceBase<"TensorArray">; def TF_TensorArrayResource : TF_ResourceBase<"TensorArray">;
def TF_TableResource : TF_ResourceBase<"Table">;
def TF_VariableRead : MemRead<TF_VariableResource>; def TF_VariableRead : MemRead<TF_VariableResource>;
def TF_StackRead : MemRead<TF_StackResource>; def TF_StackRead : MemRead<TF_StackResource>;
def TF_TensorArrayRead : MemRead<TF_TensorArrayResource>; def TF_TensorArrayRead : MemRead<TF_TensorArrayResource>;
def TF_TableRead : MemRead<TF_TableResource>;
def TF_VariableWrite : MemWrite<TF_VariableResource>; def TF_VariableWrite : MemWrite<TF_VariableResource>;
def TF_StackWrite : MemWrite<TF_StackResource>; def TF_StackWrite : MemWrite<TF_StackResource>;
def TF_TensorArrayWrite : MemWrite<TF_TensorArrayResource>; def TF_TensorArrayWrite : MemWrite<TF_TensorArrayResource>;
def TF_TableWrite: MemWrite<TF_TableResource>;
//===----------------------------------------------------------------------===// //===----------------------------------------------------------------------===//
// TensorFlow op definitions // TensorFlow op definitions

View File

@ -35,6 +35,10 @@ struct TensorArray : ::mlir::SideEffects::Resource::Base<TensorArray> {
StringRef getName() final { return "TensorArray"; } StringRef getName() final { return "TensorArray"; }
}; };
struct Table : ::mlir::SideEffects::Resource::Base<Table> {
StringRef getName() final { return "Table"; }
};
} // namespace ResourceEffects } // namespace ResourceEffects
} // namespace TF } // namespace TF
} // namespace mlir } // namespace mlir