diff --git a/SUBMODULE_VERSIONS b/SUBMODULE_VERSIONS
index 48180ae..e3aa377 100644
--- a/SUBMODULE_VERSIONS
+++ b/SUBMODULE_VERSIONS
@@ -5,7 +5,7 @@
 a5d9d0f7d368054fd1691aedf1db4116efcc233e third_party/flatbuffers
 4fb0ff7069bd88ee85902f4d0bb62794e5f6d021 third_party/flatcc
 f2fb48c3b3d79a75a88a99fba6576b25d42ec528 third_party/googletest
-9b3c2a72e4cb3b0ae27f87064c11f728452b2af9 third_party/llvm-project
+50df5f24dc333e912f6eb8500ef84e648d43af93 third_party/llvm-project
 17b12a4481daa150e2d1ea3ada086b551b856707 third_party/marl
 d2cdb70e038370b5e28f353fe98ccd70af1cbc25 third_party/mlir-emitc
 d8c7ee00a687ac369e62e2032514a93a9b413502 third_party/pybind11
@@ -14,7 +14,7 @@
 685f86471e9d26b3eb7676695a2e2cefb4551ae9 third_party/spirv_cross
 f8bf11a0253a32375c32cad92c841237b96696c0 third_party/spirv_headers
 57eb48aed36160c4876bc8310d9ca84d42ee9e2a third_party/swiftshader
-090b691fbf7b7823c41345004d12eddaa6c86118 third_party/tensorflow
+069b9b2f1079a545e4c6312dbbe2e3b55e9d3586 third_party/tensorflow
 a9a09ab0940408898fccfdcfe2bb8dc19b50f13c third_party/tracy
 9bd3f561bcee3f01d22912de10bb07ce4e23d378 third_party/vulkan_headers
 909f36b714c9239ee0b112a321220213a474ba53 third_party/vulkan_memory_allocator
diff --git a/bindings/python/build_defs.oss.bzl b/bindings/python/build_defs.oss.bzl
index 7ad76b5..e6a21d8 100644
--- a/bindings/python/build_defs.oss.bzl
+++ b/bindings/python/build_defs.oss.bzl
@@ -40,6 +40,10 @@
 # defaults to getting TensorFlow from the python environment (empty).
 INTREE_TENSORFLOW_PY_DEPS = []
 
+# Optional deps to enable intree TensorFlow Hub. This build configuration
+# defaults to getting TensorFlow from the python environment (empty).
+INTREE_TF_HUB_DEPS = []
+
 def pybind_cc_library(
         name,
         copts = [],
diff --git a/integrations/tensorflow/e2e/slim_vision_models/BUILD b/integrations/tensorflow/e2e/slim_vision_models/BUILD
index 077bf90..bbfe6a7 100644
--- a/integrations/tensorflow/e2e/slim_vision_models/BUILD
+++ b/integrations/tensorflow/e2e/slim_vision_models/BUILD
@@ -21,6 +21,7 @@
 load(
     "//bindings/python:build_defs.oss.bzl",
     "INTREE_TENSORFLOW_PY_DEPS",
+    "INTREE_TF_HUB_DEPS",
     "NUMPY_DEPS",
     "iree_py_binary",
 )
@@ -42,7 +43,7 @@
     args = ["--tf_hub_url=https://tfhub.dev/google/imagenet/"],
     main = "slim_vision_model_test.py",
     python_version = "PY3",
-    deps = INTREE_TENSORFLOW_PY_DEPS + NUMPY_DEPS + [
+    deps = INTREE_TENSORFLOW_PY_DEPS + INTREE_TF_HUB_DEPS + NUMPY_DEPS + [
         "//integrations/tensorflow/bindings/python/pyiree/tf/support",
     ],
 )
diff --git a/iree/compiler/Conversion/HLOToLinalg/FusionOfTensorOps.cpp b/iree/compiler/Conversion/HLOToLinalg/FusionOfTensorOps.cpp
index ebf96aa..8350d11 100644
--- a/iree/compiler/Conversion/HLOToLinalg/FusionOfTensorOps.cpp
+++ b/iree/compiler/Conversion/HLOToLinalg/FusionOfTensorOps.cpp
@@ -71,13 +71,17 @@
   }
 
   void runOnOperation() override {
-    OwningRewritePatternList patterns;
+    OwningRewritePatternList fusionPatterns, interfacePatterns;
     Operation *op = getOperation();
     MLIRContext *context = op->getContext();
-    populateLinalgTensorOpsFusionPatterns(context, patterns);
-    patterns.insert<FuseWithHALInterfaceLoadTensor,
-                    FuseWithHALInterfaceStoreTensor>(context);
-    applyPatternsAndFoldGreedily(op->getRegions(), patterns);
+    interfacePatterns.insert<FuseWithHALInterfaceLoadTensor,
+                             FuseWithHALInterfaceStoreTensor>(context);
+    applyPatternsAndFoldGreedily(op->getRegions(), interfacePatterns);
+
+    populateLinalgTensorOpsFusionPatterns(context, fusionPatterns);
+    applyPatternsAndFoldGreedily(op->getRegions(), fusionPatterns);
+
+    applyPatternsAndFoldGreedily(op->getRegions(), interfacePatterns);
   }
 };
 }  // namespace
diff --git a/iree/compiler/Conversion/LinalgToLLVM/ConvImg2ColMatmulConversion.cpp b/iree/compiler/Conversion/LinalgToLLVM/ConvImg2ColMatmulConversion.cpp
index c20fc34..3601d99 100644
--- a/iree/compiler/Conversion/LinalgToLLVM/ConvImg2ColMatmulConversion.cpp
+++ b/iree/compiler/Conversion/LinalgToLLVM/ConvImg2ColMatmulConversion.cpp
@@ -23,7 +23,7 @@
 namespace {
 
 // clang-format off
-// 
+//
 // Convert linalg.conv op into img2col packing operation (linalg.generic) +
 // linalg.matmul. See details below:
 // A convolution operaton can be written as a matrix-matrix multiplication by
@@ -39,13 +39,13 @@
 // The packed input data (img2col) is a matrix with |rows| = output spatial
 // size, |columns| = filter spatial size. To compute the output Y(i, j) we need
 // to calculate the dot product between filter window at input X(x, y)) and the
-// filter which will look like the following where r.h.s is the img2col matrix and 
+// filter which will look like the following where r.h.s is the img2col matrix and
 // l.h.s is the flattned filter:
-// [x(0, 0), x(0, 1), x(1, 0), x(1, 1)] 
-// [x(0, 1), x(1, 1), x(0, 2), x(1, 2)] (matmul) [w(0, 0), w(0, 1), w(1, 0), w(1, 1)] 
+// [x(0, 0), x(0, 1), x(1, 0), x(1, 1)]
+// [x(0, 1), x(1, 1), x(0, 2), x(1, 2)] (matmul) [w(0, 0), w(0, 1), w(1, 0), w(1, 1)]
 // [x(0, 1), x(1, 1), x(0, 2), x(1, 2)]
 // [   .   ,    .   ,    .   ,    .   ]
-// In general for 2D case with (N, H, W, C) input and (Kh, Kw, C, D) filter 
+// In general for 2D case with (N, H, W, C) input and (Kh, Kw, C, D) filter
 // and output (N, Ho, Wo, D) the convolutin is the following matrix-matrix multiplication
 // (Ho x Wo, Kh x Kw x C) * (Kh x Kw x C, D) for each input in the N input.
 // For the case where N > 1 its a batched matrxi-matrix multplication.
@@ -70,7 +70,8 @@
     auto loc = op.getLoc();
 
     auto inputFeatures =
-        filterShapeType.getShape()[filterShapeType.getRank() - 1];
+        inputShapeType.getShape()[op.getNumBatchDimensions() +
+                                  op.getNumSpatialDimensions()];
     auto outputFeatures = filterShapeType.getShape().back();
 
     // Col buffer shape (n, d1, d1, d2, ...dn, k1, k2, k3, ...kn, ci)
@@ -129,26 +130,31 @@
         });
 
     auto getIndicesVector = [](int start, int end) {
-      SmallVector<int64_t, 2> indices;
-      for (int i = start; i <= end; ++i) {
-        indices.push_back(i);
-      }
-      return indices;
+      return llvm::to_vector<2>(llvm::seq<int64_t>(start, end));
     };
 
-    // n, d1, d2,....dn
-    auto batchAndSpatialIndices =
-        getIndicesVector(0, op.getNumSpatialDimensions());
-    auto featureIndices = getIndicesVector(op.getNumSpatialDimensions() + 1,
-                                           op.getNumSpatialDimensions() + 3);
-
     SmallVector<linalg::ReassociationIndices, 4> lhsCollapsedDimsList = {
-        batchAndSpatialIndices, featureIndices};
+        getIndicesVector(
+            0, op.getNumBatchDimensions() + op.getNumSpatialDimensions()),
+        getIndicesVector(
+            op.getNumBatchDimensions() + op.getNumSpatialDimensions(),
+            op.getNumBatchDimensions() + op.getNumSpatialDimensions() * 2 +
+                op.getNumInputFeatureDimensions())};
     SmallVector<linalg::ReassociationIndices, 4> rhsCollapsedDimsList = {
-        batchAndSpatialIndices, {op.getNumSpatialDimensions() + 1}};
+        getIndicesVector(0, op.getNumSpatialDimensions() +
+                                op.getNumInputFeatureDimensions()),
+        getIndicesVector(
+            op.getNumSpatialDimensions() + op.getNumInputFeatureDimensions(),
+            op.getNumSpatialDimensions() + op.getNumInputFeatureDimensions() +
+                op.getNumOutputFeatureDimensions())};
 
     SmallVector<linalg::ReassociationIndices, 4> resultCollapsedDimsList = {
-        batchAndSpatialIndices, {op.getNumSpatialDimensions() + 1}};
+        getIndicesVector(
+            0, op.getNumBatchDimensions() + op.getNumSpatialDimensions()),
+        getIndicesVector(
+            op.getNumBatchDimensions() + op.getNumSpatialDimensions(),
+            op.getNumBatchDimensions() + op.getNumSpatialDimensions() +
+                op.getNumOutputFeatureDimensions())};
 
     auto reshapedColBufferType =
         MemRefType::get({spatialSize, filterSpatialSize * inputFeatures},
diff --git a/iree/compiler/Dialect/Vulkan/Utils/TargetEnvUtils.cpp b/iree/compiler/Dialect/Vulkan/Utils/TargetEnvUtils.cpp
index c3681ee..0091778 100644
--- a/iree/compiler/Dialect/Vulkan/Utils/TargetEnvUtils.cpp
+++ b/iree/compiler/Dialect/Vulkan/Utils/TargetEnvUtils.cpp
@@ -154,7 +154,7 @@
       vkCapabilities.maxComputeSharedMemorySize(),
       vkCapabilities.maxComputeWorkGroupInvocations(),
       vkCapabilities.maxComputeWorkGroupSize(), vkCapabilities.subgroupSize(),
-      context);
+      nullptr, context);
 }
 }  // anonymous namespace
 
diff --git a/third_party/llvm-project b/third_party/llvm-project
index 9b3c2a7..50df5f2 160000
--- a/third_party/llvm-project
+++ b/third_party/llvm-project
@@ -1 +1 @@
-Subproject commit 9b3c2a72e4cb3b0ae27f87064c11f728452b2af9
+Subproject commit 50df5f24dc333e912f6eb8500ef84e648d43af93
diff --git a/third_party/tensorflow b/third_party/tensorflow
index 090b691..069b9b2 160000
--- a/third_party/tensorflow
+++ b/third_party/tensorflow
@@ -1 +1 @@
-Subproject commit 090b691fbf7b7823c41345004d12eddaa6c86118
+Subproject commit 069b9b2f1079a545e4c6312dbbe2e3b55e9d3586
