diff --git a/benchmarks/DeepLearning/Models/MobileNet-V2/MobileNet.mlir b/benchmarks/DeepLearning/Models/MobileNet-V2/MobileNet.mlir
index 4187c5585297ea9f91f5ddee3b949783d6dbbcbc..0ad47ac7c4bbea9dd140b65b7531f7d6aeff35c7 100644
--- a/benchmarks/DeepLearning/Models/MobileNet-V2/MobileNet.mlir
+++ b/benchmarks/DeepLearning/Models/MobileNet-V2/MobileNet.mlir
@@ -309,9 +309,9 @@ module  {
       %1328 = arith.subf %arg1, %arg2 : f32
       linalg.yield %1328 : f32
     } -> tensor<1x224x224x3xf32>
-    %8 = linalg.pad_tensor %7 low[%c0, %c0, %c0, %c0] high[%c0, %c1, %c1, %c0]  {
+    %8 = tensor.pad %7 low[%c0, %c0, %c0, %c0] high[%c0, %c1, %c1, %c0]  {
     ^bb0(%arg1: index, %arg2: index, %arg3: index, %arg4: index):  // no predecessors
-      linalg.yield %cst_17 : f32
+      tensor.yield %cst_17 : f32
     } : tensor<1x224x224x3xf32> to tensor<1x225x225x3xf32>
     %9 = linalg.init_tensor [1, 112, 112, 32] : tensor<1x112x112x32xf32>
     %10 = linalg.fill(%cst_17, %9) : f32, tensor<1x112x112x32xf32> -> tensor<1x112x112x32xf32> 
@@ -379,9 +379,9 @@ module  {
       %1329 = arith.maxf %1328, %arg1 : f32
       linalg.yield %1329 : f32
     } -> tensor<1x112x112x32xf32>
-    %34 = linalg.pad_tensor %33 low[%c0, %c1, %c1, %c0] high[%c0, %c1, %c1, %c0]  {
+    %34 = tensor.pad %33 low[%c0, %c1, %c1, %c0] high[%c0, %c1, %c1, %c0]  {
     ^bb0(%arg1: index, %arg2: index, %arg3: index, %arg4: index):  // no predecessors
-      linalg.yield %cst_17 : f32
+      tensor.yield %cst_17 : f32
     } : tensor<1x112x112x32xf32> to tensor<1x114x114x32xf32>
     %35 = linalg.init_tensor [1, 112, 112, 32] : tensor<1x112x112x32xf32>
     %36 = linalg.fill(%cst_17, %35) : f32, tensor<1x112x112x32xf32> -> tensor<1x112x112x32xf32> 
@@ -574,9 +574,9 @@ module  {
       %1329 = arith.maxf %1328, %arg1 : f32
       linalg.yield %1329 : f32
     } -> tensor<1x112x112x96xf32>
-    %108 = linalg.pad_tensor %107 low[%c0, %c0, %c0, %c0] high[%c0, %c1, %c1, %c0]  {
+    %108 = tensor.pad %107 low[%c0, %c0, %c0, %c0] high[%c0, %c1, %c1, %c0]  {
     ^bb0(%arg1: index, %arg2: index, %arg3: index, %arg4: index):  // no predecessors
-      linalg.yield %cst_17 : f32
+      tensor.yield %cst_17 : f32
     } : tensor<1x112x112x96xf32> to tensor<1x113x113x96xf32>
     %109 = linalg.init_tensor [1, 56, 56, 96] : tensor<1x56x56x96xf32>
     %110 = linalg.fill(%cst_17, %109) : f32, tensor<1x56x56x96xf32> -> tensor<1x56x56x96xf32> 
@@ -769,9 +769,9 @@ module  {
       %1329 = arith.maxf %1328, %arg1 : f32
       linalg.yield %1329 : f32
     } -> tensor<1x56x56x144xf32>
-    %182 = linalg.pad_tensor %181 low[%c0, %c1, %c1, %c0] high[%c0, %c1, %c1, %c0]  {
+    %182 = tensor.pad %181 low[%c0, %c1, %c1, %c0] high[%c0, %c1, %c1, %c0]  {
     ^bb0(%arg1: index, %arg2: index, %arg3: index, %arg4: index):  // no predecessors
-      linalg.yield %cst_17 : f32
+      tensor.yield %cst_17 : f32
     } : tensor<1x56x56x144xf32> to tensor<1x58x58x144xf32>
     %183 = linalg.init_tensor [1, 56, 56, 144] : tensor<1x56x56x144xf32>
     %184 = linalg.fill(%cst_17, %183) : f32, tensor<1x56x56x144xf32> -> tensor<1x56x56x144xf32> 
@@ -970,9 +970,9 @@ module  {
       %1329 = arith.maxf %1328, %arg1 : f32
       linalg.yield %1329 : f32
     } -> tensor<1x56x56x144xf32>
-    %258 = linalg.pad_tensor %257 low[%c0, %c0, %c0, %c0] high[%c0, %c1, %c1, %c0]  {
+    %258 = tensor.pad %257 low[%c0, %c0, %c0, %c0] high[%c0, %c1, %c1, %c0]  {
     ^bb0(%arg1: index, %arg2: index, %arg3: index, %arg4: index):  // no predecessors
-      linalg.yield %cst_17 : f32
+      tensor.yield %cst_17 : f32
     } : tensor<1x56x56x144xf32> to tensor<1x57x57x144xf32>
     %259 = linalg.init_tensor [1, 28, 28, 144] : tensor<1x28x28x144xf32>
     %260 = linalg.fill(%cst_17, %259) : f32, tensor<1x28x28x144xf32> -> tensor<1x28x28x144xf32> 
@@ -1165,9 +1165,9 @@ module  {
       %1329 = arith.maxf %1328, %arg1 : f32
       linalg.yield %1329 : f32
     } -> tensor<1x28x28x192xf32>
-    %332 = linalg.pad_tensor %331 low[%c0, %c1, %c1, %c0] high[%c0, %c1, %c1, %c0]  {
+    %332 = tensor.pad %331 low[%c0, %c1, %c1, %c0] high[%c0, %c1, %c1, %c0]  {
     ^bb0(%arg1: index, %arg2: index, %arg3: index, %arg4: index):  // no predecessors
-      linalg.yield %cst_17 : f32
+      tensor.yield %cst_17 : f32
     } : tensor<1x28x28x192xf32> to tensor<1x30x30x192xf32>
     %333 = linalg.init_tensor [1, 28, 28, 192] : tensor<1x28x28x192xf32>
     %334 = linalg.fill(%cst_17, %333) : f32, tensor<1x28x28x192xf32> -> tensor<1x28x28x192xf32> 
@@ -1366,9 +1366,9 @@ module  {
       %1329 = arith.maxf %1328, %arg1 : f32
       linalg.yield %1329 : f32
     } -> tensor<1x28x28x192xf32>
-    %408 = linalg.pad_tensor %407 low[%c0, %c1, %c1, %c0] high[%c0, %c1, %c1, %c0]  {
+    %408 = tensor.pad %407 low[%c0, %c1, %c1, %c0] high[%c0, %c1, %c1, %c0]  {
     ^bb0(%arg1: index, %arg2: index, %arg3: index, %arg4: index):  // no predecessors
-      linalg.yield %cst_17 : f32
+      tensor.yield %cst_17 : f32
     } : tensor<1x28x28x192xf32> to tensor<1x30x30x192xf32>
     %409 = linalg.init_tensor [1, 28, 28, 192] : tensor<1x28x28x192xf32>
     %410 = linalg.fill(%cst_17, %409) : f32, tensor<1x28x28x192xf32> -> tensor<1x28x28x192xf32> 
@@ -1567,9 +1567,9 @@ module  {
       %1329 = arith.maxf %1328, %arg1 : f32
       linalg.yield %1329 : f32
     } -> tensor<1x28x28x192xf32>
-    %484 = linalg.pad_tensor %483 low[%c0, %c0, %c0, %c0] high[%c0, %c1, %c1, %c0]  {
+    %484 = tensor.pad %483 low[%c0, %c0, %c0, %c0] high[%c0, %c1, %c1, %c0]  {
     ^bb0(%arg1: index, %arg2: index, %arg3: index, %arg4: index):  // no predecessors
-      linalg.yield %cst_17 : f32
+      tensor.yield %cst_17 : f32
     } : tensor<1x28x28x192xf32> to tensor<1x29x29x192xf32>
     %485 = linalg.init_tensor [1, 14, 14, 192] : tensor<1x14x14x192xf32>
     %486 = linalg.fill(%cst_17, %485) : f32, tensor<1x14x14x192xf32> -> tensor<1x14x14x192xf32> 
@@ -1762,9 +1762,9 @@ module  {
       %1329 = arith.maxf %1328, %arg1 : f32
       linalg.yield %1329 : f32
     } -> tensor<1x14x14x384xf32>
-    %558 = linalg.pad_tensor %557 low[%c0, %c1, %c1, %c0] high[%c0, %c1, %c1, %c0]  {
+    %558 = tensor.pad %557 low[%c0, %c1, %c1, %c0] high[%c0, %c1, %c1, %c0]  {
     ^bb0(%arg1: index, %arg2: index, %arg3: index, %arg4: index):  // no predecessors
-      linalg.yield %cst_17 : f32
+      tensor.yield %cst_17 : f32
     } : tensor<1x14x14x384xf32> to tensor<1x16x16x384xf32>
     %559 = linalg.init_tensor [1, 14, 14, 384] : tensor<1x14x14x384xf32>
     %560 = linalg.fill(%cst_17, %559) : f32, tensor<1x14x14x384xf32> -> tensor<1x14x14x384xf32> 
@@ -1963,9 +1963,9 @@ module  {
       %1329 = arith.maxf %1328, %arg1 : f32
       linalg.yield %1329 : f32
     } -> tensor<1x14x14x384xf32>
-    %634 = linalg.pad_tensor %633 low[%c0, %c1, %c1, %c0] high[%c0, %c1, %c1, %c0]  {
+    %634 = tensor.pad %633 low[%c0, %c1, %c1, %c0] high[%c0, %c1, %c1, %c0]  {
     ^bb0(%arg1: index, %arg2: index, %arg3: index, %arg4: index):  // no predecessors
-      linalg.yield %cst_17 : f32
+      tensor.yield %cst_17 : f32
     } : tensor<1x14x14x384xf32> to tensor<1x16x16x384xf32>
     %635 = linalg.init_tensor [1, 14, 14, 384] : tensor<1x14x14x384xf32>
     %636 = linalg.fill(%cst_17, %635) : f32, tensor<1x14x14x384xf32> -> tensor<1x14x14x384xf32> 
@@ -2164,9 +2164,9 @@ module  {
       %1329 = arith.maxf %1328, %arg1 : f32
       linalg.yield %1329 : f32
     } -> tensor<1x14x14x384xf32>
-    %710 = linalg.pad_tensor %709 low[%c0, %c1, %c1, %c0] high[%c0, %c1, %c1, %c0]  {
+    %710 = tensor.pad %709 low[%c0, %c1, %c1, %c0] high[%c0, %c1, %c1, %c0]  {
     ^bb0(%arg1: index, %arg2: index, %arg3: index, %arg4: index):  // no predecessors
-      linalg.yield %cst_17 : f32
+      tensor.yield %cst_17 : f32
     } : tensor<1x14x14x384xf32> to tensor<1x16x16x384xf32>
     %711 = linalg.init_tensor [1, 14, 14, 384] : tensor<1x14x14x384xf32>
     %712 = linalg.fill(%cst_17, %711) : f32, tensor<1x14x14x384xf32> -> tensor<1x14x14x384xf32> 
@@ -2365,9 +2365,9 @@ module  {
       %1329 = arith.maxf %1328, %arg1 : f32
       linalg.yield %1329 : f32
     } -> tensor<1x14x14x384xf32>
-    %786 = linalg.pad_tensor %785 low[%c0, %c1, %c1, %c0] high[%c0, %c1, %c1, %c0]  {
+    %786 = tensor.pad %785 low[%c0, %c1, %c1, %c0] high[%c0, %c1, %c1, %c0]  {
     ^bb0(%arg1: index, %arg2: index, %arg3: index, %arg4: index):  // no predecessors
-      linalg.yield %cst_17 : f32
+      tensor.yield %cst_17 : f32
     } : tensor<1x14x14x384xf32> to tensor<1x16x16x384xf32>
     %787 = linalg.init_tensor [1, 14, 14, 384] : tensor<1x14x14x384xf32>
     %788 = linalg.fill(%cst_17, %787) : f32, tensor<1x14x14x384xf32> -> tensor<1x14x14x384xf32> 
@@ -2560,9 +2560,9 @@ module  {
       %1329 = arith.maxf %1328, %arg1 : f32
       linalg.yield %1329 : f32
     } -> tensor<1x14x14x576xf32>
-    %860 = linalg.pad_tensor %859 low[%c0, %c1, %c1, %c0] high[%c0, %c1, %c1, %c0]  {
+    %860 = tensor.pad %859 low[%c0, %c1, %c1, %c0] high[%c0, %c1, %c1, %c0]  {
     ^bb0(%arg1: index, %arg2: index, %arg3: index, %arg4: index):  // no predecessors
-      linalg.yield %cst_17 : f32
+      tensor.yield %cst_17 : f32
     } : tensor<1x14x14x576xf32> to tensor<1x16x16x576xf32>
     %861 = linalg.init_tensor [1, 14, 14, 576] : tensor<1x14x14x576xf32>
     %862 = linalg.fill(%cst_17, %861) : f32, tensor<1x14x14x576xf32> -> tensor<1x14x14x576xf32> 
@@ -2761,9 +2761,9 @@ module  {
       %1329 = arith.maxf %1328, %arg1 : f32
       linalg.yield %1329 : f32
     } -> tensor<1x14x14x576xf32>
-    %936 = linalg.pad_tensor %935 low[%c0, %c1, %c1, %c0] high[%c0, %c1, %c1, %c0]  {
+    %936 = tensor.pad %935 low[%c0, %c1, %c1, %c0] high[%c0, %c1, %c1, %c0]  {
     ^bb0(%arg1: index, %arg2: index, %arg3: index, %arg4: index):  // no predecessors
-      linalg.yield %cst_17 : f32
+      tensor.yield %cst_17 : f32
     } : tensor<1x14x14x576xf32> to tensor<1x16x16x576xf32>
     %937 = linalg.init_tensor [1, 14, 14, 576] : tensor<1x14x14x576xf32>
     %938 = linalg.fill(%cst_17, %937) : f32, tensor<1x14x14x576xf32> -> tensor<1x14x14x576xf32> 
@@ -2962,9 +2962,9 @@ module  {
       %1329 = arith.maxf %1328, %arg1 : f32
       linalg.yield %1329 : f32
     } -> tensor<1x14x14x576xf32>
-    %1012 = linalg.pad_tensor %1011 low[%c0, %c0, %c0, %c0] high[%c0, %c1, %c1, %c0]  {
+    %1012 = tensor.pad %1011 low[%c0, %c0, %c0, %c0] high[%c0, %c1, %c1, %c0]  {
     ^bb0(%arg1: index, %arg2: index, %arg3: index, %arg4: index):  // no predecessors
-      linalg.yield %cst_17 : f32
+      tensor.yield %cst_17 : f32
     } : tensor<1x14x14x576xf32> to tensor<1x15x15x576xf32>
     %1013 = linalg.init_tensor [1, 7, 7, 576] : tensor<1x7x7x576xf32>
     %1014 = linalg.fill(%cst_17, %1013) : f32, tensor<1x7x7x576xf32> -> tensor<1x7x7x576xf32> 
@@ -3157,9 +3157,9 @@ module  {
       %1329 = arith.maxf %1328, %arg1 : f32
       linalg.yield %1329 : f32
     } -> tensor<1x7x7x960xf32>
-    %1086 = linalg.pad_tensor %1085 low[%c0, %c1, %c1, %c0] high[%c0, %c1, %c1, %c0]  {
+    %1086 = tensor.pad %1085 low[%c0, %c1, %c1, %c0] high[%c0, %c1, %c1, %c0]  {
     ^bb0(%arg1: index, %arg2: index, %arg3: index, %arg4: index):  // no predecessors
-      linalg.yield %cst_17 : f32
+      tensor.yield %cst_17 : f32
     } : tensor<1x7x7x960xf32> to tensor<1x9x9x960xf32>
     %1087 = linalg.init_tensor [1, 7, 7, 960] : tensor<1x7x7x960xf32>
     %1088 = linalg.fill(%cst_17, %1087) : f32, tensor<1x7x7x960xf32> -> tensor<1x7x7x960xf32> 
@@ -3358,9 +3358,9 @@ module  {
       %1329 = arith.maxf %1328, %arg1 : f32
       linalg.yield %1329 : f32
     } -> tensor<1x7x7x960xf32>
-    %1162 = linalg.pad_tensor %1161 low[%c0, %c1, %c1, %c0] high[%c0, %c1, %c1, %c0]  {
+    %1162 = tensor.pad %1161 low[%c0, %c1, %c1, %c0] high[%c0, %c1, %c1, %c0]  {
     ^bb0(%arg1: index, %arg2: index, %arg3: index, %arg4: index):  // no predecessors
-      linalg.yield %cst_17 : f32
+      tensor.yield %cst_17 : f32
     } : tensor<1x7x7x960xf32> to tensor<1x9x9x960xf32>
     %1163 = linalg.init_tensor [1, 7, 7, 960] : tensor<1x7x7x960xf32>
     %1164 = linalg.fill(%cst_17, %1163) : f32, tensor<1x7x7x960xf32> -> tensor<1x7x7x960xf32> 
@@ -3559,9 +3559,9 @@ module  {
       %1329 = arith.maxf %1328, %arg1 : f32
       linalg.yield %1329 : f32
     } -> tensor<1x7x7x960xf32>
-    %1238 = linalg.pad_tensor %1237 low[%c0, %c1, %c1, %c0] high[%c0, %c1, %c1, %c0]  {
+    %1238 = tensor.pad %1237 low[%c0, %c1, %c1, %c0] high[%c0, %c1, %c1, %c0]  {
     ^bb0(%arg1: index, %arg2: index, %arg3: index, %arg4: index):  // no predecessors
-      linalg.yield %cst_17 : f32
+      tensor.yield %cst_17 : f32
     } : tensor<1x7x7x960xf32> to tensor<1x9x9x960xf32>
     %1239 = linalg.init_tensor [1, 7, 7, 960] : tensor<1x7x7x960xf32>
     %1240 = linalg.fill(%cst_17, %1239) : f32, tensor<1x7x7x960xf32> -> tensor<1x7x7x960xf32> 
diff --git a/benchmarks/DeepLearning/Models/MobileNet-V3/MobileNetV3.mlir b/benchmarks/DeepLearning/Models/MobileNet-V3/MobileNetV3.mlir
index 71627941844d0bf66eb355f395db128a304116e6..315a18969758d78584be9ed09079081d9b02ae1e 100644
--- a/benchmarks/DeepLearning/Models/MobileNet-V3/MobileNetV3.mlir
+++ b/benchmarks/DeepLearning/Models/MobileNet-V3/MobileNetV3.mlir
@@ -266,9 +266,9 @@ module  {
       %1413 = arith.subf %arg1, %arg2 : f32
       linalg.yield %1413 : f32
     } -> tensor<1x224x224x3xf32>
-    %8 = linalg.pad_tensor %7 low[%c0, %c0, %c0, %c0] high[%c0, %c1, %c1, %c0]  {
+    %8 = tensor.pad %7 low[%c0, %c0, %c0, %c0] high[%c0, %c1, %c1, %c0]  {
     ^bb0(%arg1: index, %arg2: index, %arg3: index, %arg4: index):  // no predecessors
-      linalg.yield %cst_20 : f32
+      tensor.yield %cst_20 : f32
     } : tensor<1x224x224x3xf32> to tensor<1x225x225x3xf32>
     %9 = linalg.init_tensor [1, 112, 112, 16] : tensor<1x112x112x16xf32>
     %10 = linalg.fill(%cst_20, %9) : f32, tensor<1x112x112x16xf32> -> tensor<1x112x112x16xf32> 
@@ -364,9 +364,9 @@ module  {
       %1413 = arith.mulf %arg1, %arg2 : f32
       linalg.yield %1413 : f32
     } -> tensor<1x112x112x16xf32>
-    %44 = linalg.pad_tensor %43 low[%c0, %c0, %c0, %c0] high[%c0, %c1, %c1, %c0]  {
+    %44 = tensor.pad %43 low[%c0, %c0, %c0, %c0] high[%c0, %c1, %c1, %c0]  {
     ^bb0(%arg1: index, %arg2: index, %arg3: index, %arg4: index):  // no predecessors
-      linalg.yield %cst_20 : f32
+      tensor.yield %cst_20 : f32
     } : tensor<1x112x112x16xf32> to tensor<1x113x113x16xf32>
     %45 = linalg.init_tensor [1, 56, 56, 16] : tensor<1x56x56x16xf32>
     %46 = linalg.fill(%cst_20, %45) : f32, tensor<1x56x56x16xf32> -> tensor<1x56x56x16xf32> 
@@ -655,9 +655,9 @@ module  {
       %1413 = arith.maxf %arg1, %arg2 : f32
       linalg.yield %1413 : f32
     } -> tensor<1x56x56x72xf32>
-    %158 = linalg.pad_tensor %157 low[%c0, %c0, %c0, %c0] high[%c0, %c1, %c1, %c0]  {
+    %158 = tensor.pad %157 low[%c0, %c0, %c0, %c0] high[%c0, %c1, %c1, %c0]  {
     ^bb0(%arg1: index, %arg2: index, %arg3: index, %arg4: index):  // no predecessors
-      linalg.yield %cst_20 : f32
+      tensor.yield %cst_20 : f32
     } : tensor<1x56x56x72xf32> to tensor<1x57x57x72xf32>
     %159 = linalg.init_tensor [1, 28, 28, 72] : tensor<1x28x28x72xf32>
     %160 = linalg.fill(%cst_20, %159) : f32, tensor<1x28x28x72xf32> -> tensor<1x28x28x72xf32> 
@@ -858,9 +858,9 @@ module  {
       %1413 = arith.maxf %arg1, %arg2 : f32
       linalg.yield %1413 : f32
     } -> tensor<1x28x28x88xf32>
-    %236 = linalg.pad_tensor %235 low[%c0, %c1, %c1, %c0] high[%c0, %c1, %c1, %c0]  {
+    %236 = tensor.pad %235 low[%c0, %c1, %c1, %c0] high[%c0, %c1, %c1, %c0]  {
     ^bb0(%arg1: index, %arg2: index, %arg3: index, %arg4: index):  // no predecessors
-      linalg.yield %cst_20 : f32
+      tensor.yield %cst_20 : f32
     } : tensor<1x28x28x88xf32> to tensor<1x30x30x88xf32>
     %237 = linalg.init_tensor [1, 28, 28, 88] : tensor<1x28x28x88xf32>
     %238 = linalg.fill(%cst_20, %237) : f32, tensor<1x28x28x88xf32> -> tensor<1x28x28x88xf32> 
@@ -1091,9 +1091,9 @@ module  {
       %1413 = arith.mulf %arg1, %arg2 : f32
       linalg.yield %1413 : f32
     } -> tensor<1x28x28x96xf32>
-    %324 = linalg.pad_tensor %323 low[%c0, %c1, %c1, %c0] high[%c0, %c2, %c2, %c0]  {
+    %324 = tensor.pad %323 low[%c0, %c1, %c1, %c0] high[%c0, %c2, %c2, %c0]  {
     ^bb0(%arg1: index, %arg2: index, %arg3: index, %arg4: index):  // no predecessors
-      linalg.yield %cst_20 : f32
+      tensor.yield %cst_20 : f32
     } : tensor<1x28x28x96xf32> to tensor<1x31x31x96xf32>
     %325 = linalg.init_tensor [1, 14, 14, 96] : tensor<1x14x14x96xf32>
     %326 = linalg.fill(%cst_20, %325) : f32, tensor<1x14x14x96xf32> -> tensor<1x14x14x96xf32> 
@@ -1430,9 +1430,9 @@ module  {
       %1413 = arith.mulf %arg1, %arg2 : f32
       linalg.yield %1413 : f32
     } -> tensor<1x14x14x192xf32>
-    %454 = linalg.pad_tensor %453 low[%c0, %c2, %c2, %c0] high[%c0, %c2, %c2, %c0]  {
+    %454 = tensor.pad %453 low[%c0, %c2, %c2, %c0] high[%c0, %c2, %c2, %c0]  {
     ^bb0(%arg1: index, %arg2: index, %arg3: index, %arg4: index):  // no predecessors
-      linalg.yield %cst_20 : f32
+      tensor.yield %cst_20 : f32
     } : tensor<1x14x14x192xf32> to tensor<1x18x18x192xf32>
     %455 = linalg.init_tensor [1, 14, 14, 192] : tensor<1x14x14x192xf32>
     %456 = linalg.fill(%cst_20, %455) : f32, tensor<1x14x14x192xf32> -> tensor<1x14x14x192xf32> 
@@ -1775,9 +1775,9 @@ module  {
       %1413 = arith.mulf %arg1, %arg2 : f32
       linalg.yield %1413 : f32
     } -> tensor<1x14x14x192xf32>
-    %586 = linalg.pad_tensor %585 low[%c0, %c2, %c2, %c0] high[%c0, %c2, %c2, %c0]  {
+    %586 = tensor.pad %585 low[%c0, %c2, %c2, %c0] high[%c0, %c2, %c2, %c0]  {
     ^bb0(%arg1: index, %arg2: index, %arg3: index, %arg4: index):  // no predecessors
-      linalg.yield %cst_20 : f32
+      tensor.yield %cst_20 : f32
     } : tensor<1x14x14x192xf32> to tensor<1x18x18x192xf32>
     %587 = linalg.init_tensor [1, 14, 14, 192] : tensor<1x14x14x192xf32>
     %588 = linalg.fill(%cst_20, %587) : f32, tensor<1x14x14x192xf32> -> tensor<1x14x14x192xf32> 
@@ -2120,9 +2120,9 @@ module  {
       %1413 = arith.mulf %arg1, %arg2 : f32
       linalg.yield %1413 : f32
     } -> tensor<1x14x14x96xf32>
-    %718 = linalg.pad_tensor %717 low[%c0, %c2, %c2, %c0] high[%c0, %c2, %c2, %c0]  {
+    %718 = tensor.pad %717 low[%c0, %c2, %c2, %c0] high[%c0, %c2, %c2, %c0]  {
     ^bb0(%arg1: index, %arg2: index, %arg3: index, %arg4: index):  // no predecessors
-      linalg.yield %cst_20 : f32
+      tensor.yield %cst_20 : f32
     } : tensor<1x14x14x96xf32> to tensor<1x18x18x96xf32>
     %719 = linalg.init_tensor [1, 14, 14, 96] : tensor<1x14x14x96xf32>
     %720 = linalg.fill(%cst_20, %719) : f32, tensor<1x14x14x96xf32> -> tensor<1x14x14x96xf32> 
@@ -2459,9 +2459,9 @@ module  {
       %1413 = arith.mulf %arg1, %arg2 : f32
       linalg.yield %1413 : f32
     } -> tensor<1x14x14x120xf32>
-    %848 = linalg.pad_tensor %847 low[%c0, %c2, %c2, %c0] high[%c0, %c2, %c2, %c0]  {
+    %848 = tensor.pad %847 low[%c0, %c2, %c2, %c0] high[%c0, %c2, %c2, %c0]  {
     ^bb0(%arg1: index, %arg2: index, %arg3: index, %arg4: index):  // no predecessors
-      linalg.yield %cst_20 : f32
+      tensor.yield %cst_20 : f32
     } : tensor<1x14x14x120xf32> to tensor<1x18x18x120xf32>
     %849 = linalg.init_tensor [1, 14, 14, 120] : tensor<1x14x14x120xf32>
     %850 = linalg.fill(%cst_20, %849) : f32, tensor<1x14x14x120xf32> -> tensor<1x14x14x120xf32> 
@@ -2804,9 +2804,9 @@ module  {
       %1413 = arith.mulf %arg1, %arg2 : f32
       linalg.yield %1413 : f32
     } -> tensor<1x14x14x240xf32>
-    %980 = linalg.pad_tensor %979 low[%c0, %c1, %c1, %c0] high[%c0, %c2, %c2, %c0]  {
+    %980 = tensor.pad %979 low[%c0, %c1, %c1, %c0] high[%c0, %c2, %c2, %c0]  {
     ^bb0(%arg1: index, %arg2: index, %arg3: index, %arg4: index):  // no predecessors
-      linalg.yield %cst_20 : f32
+      tensor.yield %cst_20 : f32
     } : tensor<1x14x14x240xf32> to tensor<1x17x17x240xf32>
     %981 = linalg.init_tensor [1, 7, 7, 240] : tensor<1x7x7x240xf32>
     %982 = linalg.fill(%cst_20, %981) : f32, tensor<1x7x7x240xf32> -> tensor<1x7x7x240xf32> 
@@ -3143,9 +3143,9 @@ module  {
       %1413 = arith.mulf %arg1, %arg2 : f32
       linalg.yield %1413 : f32
     } -> tensor<1x7x7x432xf32>
-    %1110 = linalg.pad_tensor %1109 low[%c0, %c2, %c2, %c0] high[%c0, %c2, %c2, %c0]  {
+    %1110 = tensor.pad %1109 low[%c0, %c2, %c2, %c0] high[%c0, %c2, %c2, %c0]  {
     ^bb0(%arg1: index, %arg2: index, %arg3: index, %arg4: index):  // no predecessors
-      linalg.yield %cst_20 : f32
+      tensor.yield %cst_20 : f32
     } : tensor<1x7x7x432xf32> to tensor<1x11x11x432xf32>
     %1111 = linalg.init_tensor [1, 7, 7, 432] : tensor<1x7x7x432xf32>
     %1112 = linalg.fill(%cst_20, %1111) : f32, tensor<1x7x7x432xf32> -> tensor<1x7x7x432xf32> 
@@ -3488,9 +3488,9 @@ module  {
       %1413 = arith.mulf %arg1, %arg2 : f32
       linalg.yield %1413 : f32
     } -> tensor<1x7x7x432xf32>
-    %1242 = linalg.pad_tensor %1241 low[%c0, %c2, %c2, %c0] high[%c0, %c2, %c2, %c0]  {
+    %1242 = tensor.pad %1241 low[%c0, %c2, %c2, %c0] high[%c0, %c2, %c2, %c0]  {
     ^bb0(%arg1: index, %arg2: index, %arg3: index, %arg4: index):  // no predecessors
-      linalg.yield %cst_20 : f32
+      tensor.yield %cst_20 : f32
     } : tensor<1x7x7x432xf32> to tensor<1x11x11x432xf32>
     %1243 = linalg.init_tensor [1, 7, 7, 432] : tensor<1x7x7x432xf32>
     %1244 = linalg.fill(%cst_20, %1243) : f32, tensor<1x7x7x432xf32> -> tensor<1x7x7x432xf32> 
diff --git a/benchmarks/DeepLearning/Models/ResNet-V2-50/ResNet-V2-50.mlir b/benchmarks/DeepLearning/Models/ResNet-V2-50/ResNet-V2-50.mlir
index b8aa42186102c2cc07d51ca381396544b53e085a..2a997388b5130bfeb42f8e664866e87ac68f085a 100644
--- a/benchmarks/DeepLearning/Models/ResNet-V2-50/ResNet-V2-50.mlir
+++ b/benchmarks/DeepLearning/Models/ResNet-V2-50/ResNet-V2-50.mlir
@@ -1,3 +1,3 @@
 version https://git-lfs.github.com/spec/v1
-oid sha256:7dc22bb7457cb1f5c30156880e9358bc148903e583b093784b5f6b0e8b791a44
-size 205262813
+oid sha256:a6e8fc6ced3b3d0418dd602cfac9c73dda2ba16e4b3840e792dc8c93bac900df
+size 205262687