Factoring out flow.variable/hal.variable into util.global. (#6750)

* Extracting flow/hal.variable to util.global.
This will replace the dialect-specific ops and allow us to write one set
of passes for these higher-level globals.

* Adding globals to util-to-vm conversion (and renaming it).

* Switching flow/hal.variable to util.global.

* Fixing VM global printing double space.

* Fixing assert in value liveness of blocks with a single op.

* Updating the IREE public dialect variable -> global ops.
diff --git a/.github/workflows/build_package.yml b/.github/workflows/build_package.yml
index 7aa23d0..ce20142 100644
--- a/.github/workflows/build_package.yml
+++ b/.github/workflows/build_package.yml
@@ -55,10 +55,10 @@
           # Windows packages.
           - os: windows-2019
             build_package: main-dist
-            experimental: true
+            experimental: false
           - os: windows-2019
             build_package: py-runtime-pkg
-            experimental: true
+            experimental: false
           - os: windows-2019
             build_package: py-xla-compiler-tools-pkg
             experimental: true
@@ -72,19 +72,19 @@
           # Macos packages.
           - os: macos-latest
             build_package: main-dist
-            experimental: true
+            experimental: false
           - os: macos-latest
             build_package: py-runtime-pkg
-            experimental: true
+            experimental: false
           - os: macos-latest
             build_package: py-xla-compiler-tools-pkg
-            experimental: true
+            experimental: false
           - os: macos-latest
             build_package: py-tflite-compiler-tools-pkg
-            experimental: true
+            experimental: false
           - os: macos-latest
             build_package: py-tf-compiler-tools-pkg
-            experimental: true
+            experimental: false
     env:
       CIBW_BUILD_VERBOSITY: 1
       # Note that on Linux, we run under docker with an altered path.
@@ -251,3 +251,16 @@
         with:
           release_id: ${{ github.event.inputs.release_id }}
           assets_path: ./bindist/*
+
+  validate_and_publish:
+    name: "Invoke workflow to validate and publish release"
+    needs: build_core
+    runs-on: ubuntu-18.04
+    steps:
+      - name: "Invoke workflow :: Validate and Publish Release"
+        uses: benc-uk/workflow-dispatch@v1
+        with:
+          workflow: Validate and Publish Release
+          token: ${{ secrets.WRITE_ACCESS_TOKEN }}
+          ref: "${{ env.tag_name }}"
+          inputs: '{"release_id": "${{ github.event.inputs.release_id }}"}'
diff --git a/.github/workflows/validate_and_publish_release.yml b/.github/workflows/validate_and_publish_release.yml
new file mode 100644
index 0000000..5ae68f7
--- /dev/null
+++ b/.github/workflows/validate_and_publish_release.yml
@@ -0,0 +1,26 @@
+# Publishes a draft snapshot, after performing validation to make sure all
+# packages are stable (coming soon).
+name: Validate and Publish Release
+
+on:
+  workflow_dispatch:
+    inputs:
+      release_id:
+        description: 'Release id to publish'
+        required: true
+        default: ''
+
+# TODO(jennik): Add more validation. https://github.com/google/iree/issues/6316
+
+jobs:
+  publish_release:
+    name: "Publish release"
+    runs-on: ubuntu-18.04
+    steps:
+      - name: Publish Release
+        id: publish_release
+        uses: eregon/publish-release@v1
+        env:
+          GITHUB_TOKEN: ${{ secrets.WRITE_ACCESS_TOKEN }}
+        with:
+          release_id: ${{ github.event.inputs.release_id }}
diff --git a/iree/compiler/Codegen/LLVMCPU/KernelDispatch.cpp b/iree/compiler/Codegen/LLVMCPU/KernelDispatch.cpp
index a74a175..f65e912 100644
--- a/iree/compiler/Codegen/LLVMCPU/KernelDispatch.cpp
+++ b/iree/compiler/Codegen/LLVMCPU/KernelDispatch.cpp
@@ -79,7 +79,7 @@
     "iree-codegen-llvm-generic-ops-workgroup-size",
     llvm::cl::desc(
         "linalg.generic and linalg.indexed_generic workgroup tile size"),
-    llvm::cl::init(128));
+    llvm::cl::init(64));
 
 /// Sets the lowering configuration for dispatch region with root op that
 /// implements the contraction operation interface.
diff --git a/iree/compiler/Codegen/LLVMCPU/test/materialize_launch_configuration.mlir b/iree/compiler/Codegen/LLVMCPU/test/materialize_launch_configuration.mlir
index ba0ee07..9c8a4c1 100644
--- a/iree/compiler/Codegen/LLVMCPU/test/materialize_launch_configuration.mlir
+++ b/iree/compiler/Codegen/LLVMCPU/test/materialize_launch_configuration.mlir
@@ -169,8 +169,8 @@
     }
   }
 }
-//  CHECK-DAG: #[[CONFIG:.+]] = {tileSizes = {{\[}}[128, 128]{{\]}}}
-//  CHECK-DAG: #[[MAP0:.+]] = affine_map<()[s0] -> (s0 ceildiv 128)>
+//  CHECK-DAG: #[[CONFIG:.+]] = {tileSizes = {{\[}}[64, 64]{{\]}}}
+//  CHECK-DAG: #[[MAP0:.+]] = affine_map<()[s0] -> (s0 ceildiv 64)>
 //      CHECK: hal.executable.entry_point @add
 // CHECK-NEXT:   (%[[ARG0:[a-zA-Z0-9_]+]]: index
 // CHECK-SAME:    %[[ARG1:[a-zA-Z0-9_]+]]: index
@@ -265,8 +265,8 @@
       }
     }
   }
-//  CHECK-DAG: #[[CONFIG:.+]] = {tileSizes = {{\[}}[0, 128, 128, 128]{{\]}}}
-//  CHECK-DAG: #[[MAP0:.+]] = affine_map<()[s0] -> (s0 ceildiv 128)>
+//  CHECK-DAG: #[[CONFIG:.+]] = {tileSizes = {{\[}}[0, 64, 64, 64]{{\]}}}
+//  CHECK-DAG: #[[MAP0:.+]] = affine_map<()[s0] -> (s0 ceildiv 64)>
 //      CHECK: hal.executable.entry_point @add4D
 // CHECK-NEXT:   (%[[ARG0:[a-zA-Z0-9_]+]]: index
 // CHECK-SAME:    %[[ARG1:[a-zA-Z0-9_]+]]: index