@@ -1656,7 +1656,7 @@ DomainShapeAttr SairFreeOp::shape() {
16561656// array containing the composition of `lhs` with each element of `rhs_array`.
16571657static mlir::ArrayAttr ComposeMappings (MappingAttr lhs,
16581658 mlir::ArrayAttr rhs_array) {
1659- llvm::SmallVector<mlir::Attribute, 4 > new_mappings;
1659+ llvm::SmallVector<mlir::Attribute> new_mappings;
16601660 new_mappings.reserve (rhs_array.size ());
16611661 for (mlir::Attribute rhs : rhs_array.getValue ()) {
16621662 new_mappings.push_back (lhs.Compose (rhs.cast <MappingAttr>()).Canonicalize ());
@@ -1670,7 +1670,7 @@ static mlir::ArrayAttr ComposeLoopNest(MappingAttr new_to_old_mapping,
16701670 if (old_loop_nest == nullptr ) return nullptr ;
16711671 mlir::MLIRContext *context = old_loop_nest.getContext ();
16721672
1673- llvm::SmallVector<mlir::Attribute, 4 > new_loop_nest;
1673+ llvm::SmallVector<mlir::Attribute> new_loop_nest;
16741674 new_loop_nest.reserve (old_loop_nest.size ());
16751675 for (mlir::Attribute attr : old_loop_nest.getValue ()) {
16761676 LoopAttr loop = attr.cast <LoopAttr>();
@@ -1683,31 +1683,31 @@ static mlir::ArrayAttr ComposeLoopNest(MappingAttr new_to_old_mapping,
16831683}
16841684
16851685SairOp SairDynRangeOp::ReCreateWithNewDomain (
1686- llvm::ArrayRef<llvm::SmallVector<mlir::Value, 4 >> new_domains,
1686+ llvm::ArrayRef<llvm::SmallVector<mlir::Value>> new_domains,
16871687 DomainShapeAttr new_shape, MappingAttr new_to_old_mapping,
16881688 mlir::OpBuilder &builder) {
16891689 llvm_unreachable (
16901690 " not called by NormalizeLoops because the op defines a dimension" );
16911691}
16921692
16931693SairOp SairStaticRangeOp::ReCreateWithNewDomain (
1694- llvm::ArrayRef<llvm::SmallVector<mlir::Value, 4 >> new_domains,
1694+ llvm::ArrayRef<llvm::SmallVector<mlir::Value>> new_domains,
16951695 DomainShapeAttr new_shape, MappingAttr new_to_old_mapping,
16961696 mlir::OpBuilder &builder) {
16971697 llvm_unreachable (
16981698 " not called by NormalizeLoops because the op defines a dimension" );
16991699}
17001700
17011701SairOp SairPlaceholderOp::ReCreateWithNewDomain (
1702- llvm::ArrayRef<llvm::SmallVector<mlir::Value, 4 >> new_domains,
1702+ llvm::ArrayRef<llvm::SmallVector<mlir::Value>> new_domains,
17031703 DomainShapeAttr new_shape, MappingAttr new_to_old_mapping,
17041704 mlir::OpBuilder &builder) {
17051705 llvm_unreachable (
17061706 " not called by NormalizeLoops because the op defines a dimension" );
17071707}
17081708
17091709SairOp SairCopyOp::ReCreateWithNewDomain (
1710- llvm::ArrayRef<llvm::SmallVector<mlir::Value, 4 >> new_domains,
1710+ llvm::ArrayRef<llvm::SmallVector<mlir::Value>> new_domains,
17111711 DomainShapeAttr new_shape, MappingAttr new_to_old_mapping,
17121712 mlir::OpBuilder &builder) {
17131713 assert (new_domains.size () == 1 );
@@ -1726,7 +1726,7 @@ SairOp SairCopyOp::ReCreateWithNewDomain(
17261726}
17271727
17281728SairOp SairFromScalarOp::ReCreateWithNewDomain (
1729- llvm::ArrayRef<llvm::SmallVector<mlir::Value, 4 >> new_domains,
1729+ llvm::ArrayRef<llvm::SmallVector<mlir::Value>> new_domains,
17301730 DomainShapeAttr new_shape, MappingAttr new_to_old_mapping,
17311731 mlir::OpBuilder &builder) {
17321732 llvm_unreachable (
@@ -1738,7 +1738,7 @@ namespace {
17381738// value would be preserved if an op is created with the given new domains.
17391739template <typename OpTy>
17401740void CheckMemRefDomainPreserved (
1741- OpTy op, llvm::ArrayRef<llvm::SmallVector<mlir::Value, 4 >> new_domains,
1741+ OpTy op, llvm::ArrayRef<llvm::SmallVector<mlir::Value>> new_domains,
17421742 MappingAttr new_to_old_mapping) {
17431743 assert (new_domains.size () == 2 );
17441744 // Assert that memref domain is left untouched.
@@ -1757,24 +1757,14 @@ void CheckMemRefDomainPreserved(
17571757} // end namespace
17581758
17591759SairOp SairFromMemRefOp::ReCreateWithNewDomain (
1760- llvm::ArrayRef<llvm::SmallVector<mlir::Value, 4 >> new_domains,
1760+ llvm::ArrayRef<llvm::SmallVector<mlir::Value>> new_domains,
17611761 DomainShapeAttr new_shape, MappingAttr new_to_old_mapping,
17621762 mlir::OpBuilder &builder) {
1763- CheckMemRefDomainPreserved (*this , new_domains, new_to_old_mapping);
1764-
1765- mlir::ArrayAttr new_mappings =
1766- ComposeMappings (new_to_old_mapping, mapping_array ());
1767- auto return_type =
1768- ValueType::get (new_shape, getType ().cast <ValueType>().ElementType ());
1769- auto new_op = builder.create <SairFromMemRefOp>(
1770- getLoc (), return_type, new_domains[0 ], new_domains[1 ], new_mappings,
1771- memref (), access_mapAttr ());
1772- ForwardAttributes (getOperation (), new_op.getOperation ());
1773- return llvm::cast<SairOp>(new_op.getOperation ());
1763+ llvm_unreachable (" must be erased before calling loop normalization" );
17741764}
17751765
17761766SairOp SairLoadFromMemRefOp::ReCreateWithNewDomain (
1777- llvm::ArrayRef<llvm::SmallVector<mlir::Value, 4 >> new_domains,
1767+ llvm::ArrayRef<llvm::SmallVector<mlir::Value>> new_domains,
17781768 DomainShapeAttr new_shape, MappingAttr new_to_old_mapping,
17791769 mlir::OpBuilder &builder) {
17801770 CheckMemRefDomainPreserved (*this , new_domains, new_to_old_mapping);
@@ -1794,22 +1784,14 @@ SairOp SairLoadFromMemRefOp::ReCreateWithNewDomain(
17941784}
17951785
17961786SairOp SairToMemRefOp::ReCreateWithNewDomain (
1797- llvm::ArrayRef<llvm::SmallVector<mlir::Value, 4 >> new_domains,
1787+ llvm::ArrayRef<llvm::SmallVector<mlir::Value>> new_domains,
17981788 DomainShapeAttr new_shape, MappingAttr new_to_old_mapping,
17991789 mlir::OpBuilder &builder) {
1800- CheckMemRefDomainPreserved (*this , new_domains, new_to_old_mapping);
1801-
1802- mlir::ArrayAttr new_mappings =
1803- ComposeMappings (new_to_old_mapping, mapping_array ());
1804- auto new_op = builder.create <SairToMemRefOp>(
1805- getLoc (), new_domains[0 ], new_domains[1 ], new_mappings, memref (), value (),
1806- shape (), access_mapAttr ());
1807- ForwardAttributes (getOperation (), new_op.getOperation ());
1808- return llvm::cast<SairOp>(new_op.getOperation ());
1790+ llvm_unreachable (" must be erased before calling loop normalization" );
18091791}
18101792
18111793SairOp SairStoreToMemRefOp::ReCreateWithNewDomain (
1812- llvm::ArrayRef<llvm::SmallVector<mlir::Value, 4 >> new_domains,
1794+ llvm::ArrayRef<llvm::SmallVector<mlir::Value>> new_domains,
18131795 DomainShapeAttr new_shape, MappingAttr new_to_old_mapping,
18141796 mlir::OpBuilder &builder) {
18151797 CheckMemRefDomainPreserved (*this , new_domains, new_to_old_mapping);
@@ -1850,7 +1832,7 @@ static void MoveMapBody(mlir::Location loc, mlir::Block &old_body,
18501832}
18511833
18521834SairOp SairMapOp::ReCreateWithNewDomain (
1853- llvm::ArrayRef<llvm::SmallVector<mlir::Value, 4 >> new_domains,
1835+ llvm::ArrayRef<llvm::SmallVector<mlir::Value>> new_domains,
18541836 DomainShapeAttr new_shape, MappingAttr new_to_old_mapping,
18551837 mlir::OpBuilder &builder) {
18561838 assert (new_domains.size () == 1 );
@@ -1874,7 +1856,7 @@ SairOp SairMapOp::ReCreateWithNewDomain(
18741856}
18751857
18761858SairOp SairMapReduceOp::ReCreateWithNewDomain (
1877- llvm::ArrayRef<llvm::SmallVector<mlir::Value, 4 >> new_domains,
1859+ llvm::ArrayRef<llvm::SmallVector<mlir::Value>> new_domains,
18781860 DomainShapeAttr new_shape, MappingAttr new_to_old_mapping,
18791861 mlir::OpBuilder &builder) {
18801862 assert (new_domains.size () == 2 );
@@ -1909,7 +1891,7 @@ SairOp SairMapReduceOp::ReCreateWithNewDomain(
19091891}
19101892
19111893SairOp SairProjLastOp::ReCreateWithNewDomain (
1912- llvm::ArrayRef<llvm::SmallVector<mlir::Value, 4 >> new_domains,
1894+ llvm::ArrayRef<llvm::SmallVector<mlir::Value>> new_domains,
19131895 DomainShapeAttr new_shape, MappingAttr new_to_old_mapping,
19141896 mlir::OpBuilder &builder) {
19151897 assert (new_domains.size () == 2 );
@@ -1927,7 +1909,7 @@ SairOp SairProjLastOp::ReCreateWithNewDomain(
19271909}
19281910
19291911SairOp SairProjAnyOp::ReCreateWithNewDomain (
1930- llvm::ArrayRef<llvm::SmallVector<mlir::Value, 4 >> new_domains,
1912+ llvm::ArrayRef<llvm::SmallVector<mlir::Value>> new_domains,
19311913 DomainShapeAttr new_shape, MappingAttr new_to_old_mapping,
19321914 mlir::OpBuilder &builder) {
19331915 assert (new_domains.size () == 2 );
@@ -1945,7 +1927,7 @@ SairOp SairProjAnyOp::ReCreateWithNewDomain(
19451927}
19461928
19471929SairOp SairFbyOp::ReCreateWithNewDomain (
1948- llvm::ArrayRef<llvm::SmallVector<mlir::Value, 4 >> new_domains,
1930+ llvm::ArrayRef<llvm::SmallVector<mlir::Value>> new_domains,
19491931 DomainShapeAttr new_shape, MappingAttr new_to_old_mapping,
19501932 mlir::OpBuilder &builder) {
19511933 assert (new_domains.size () == 2 );
@@ -1962,15 +1944,15 @@ SairOp SairFbyOp::ReCreateWithNewDomain(
19621944}
19631945
19641946SairOp SairExitOp::ReCreateWithNewDomain (
1965- llvm::ArrayRef<llvm::SmallVector<mlir::Value, 4 >> new_domains,
1947+ llvm::ArrayRef<llvm::SmallVector<mlir::Value>> new_domains,
19661948 DomainShapeAttr new_shape, MappingAttr new_to_old_mapping,
19671949 mlir::OpBuilder &builder) {
19681950 llvm_unreachable (
19691951 " not called by NormalizeLoops because sair.exit has a 0D domain" );
19701952}
19711953
19721954SairOp SairAllocOp::ReCreateWithNewDomain (
1973- llvm::ArrayRef<llvm::SmallVector<mlir::Value, 4 >> new_domains,
1955+ llvm::ArrayRef<llvm::SmallVector<mlir::Value>> new_domains,
19741956 DomainShapeAttr new_shape, MappingAttr new_to_old_mapping,
19751957 mlir::OpBuilder &builder) {
19761958 assert (new_domains.size () == 1 );
@@ -1988,7 +1970,7 @@ SairOp SairAllocOp::ReCreateWithNewDomain(
19881970}
19891971
19901972SairOp SairFreeOp::ReCreateWithNewDomain (
1991- llvm::ArrayRef<llvm::SmallVector<mlir::Value, 4 >> new_domains,
1973+ llvm::ArrayRef<llvm::SmallVector<mlir::Value>> new_domains,
19921974 DomainShapeAttr new_shape, MappingAttr new_to_old_mapping,
19931975 mlir::OpBuilder &builder) {
19941976 assert (new_domains.size () == 1 );
0 commit comments