tools/tint/intrinsic: Sort enum values lexicographically

Reorders the output of the CanonicalizeEntryPointIO transform, but
otherwise is a no-op.

This will help with diagnostics that print the enum values.

Bug: tint:1629
Change-Id: Iff517d88836d2a8cd42ce3cfde6363c1973df0dd
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/105321
Commit-Queue: Ben Clayton <bclayton@chromium.org>
Reviewed-by: Dan Sinclair <dsinclair@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
diff --git a/src/tint/ast/address_space.cc b/src/tint/ast/address_space.cc
index a55fb87..d8174a2 100644
--- a/src/tint/ast/address_space.cc
+++ b/src/tint/ast/address_space.cc
@@ -34,17 +34,17 @@
     if (str == "private") {
         return AddressSpace::kPrivate;
     }
-    if (str == "workgroup") {
-        return AddressSpace::kWorkgroup;
-    }
-    if (str == "uniform") {
-        return AddressSpace::kUniform;
+    if (str == "push_constant") {
+        return AddressSpace::kPushConstant;
     }
     if (str == "storage") {
         return AddressSpace::kStorage;
     }
-    if (str == "push_constant") {
-        return AddressSpace::kPushConstant;
+    if (str == "uniform") {
+        return AddressSpace::kUniform;
+    }
+    if (str == "workgroup") {
+        return AddressSpace::kWorkgroup;
     }
     return AddressSpace::kInvalid;
 }
@@ -53,26 +53,26 @@
     switch (value) {
         case AddressSpace::kInvalid:
             return out << "invalid";
-        case AddressSpace::kNone:
-            return out << "none";
         case AddressSpace::kFunction:
             return out << "function";
-        case AddressSpace::kPrivate:
-            return out << "private";
-        case AddressSpace::kWorkgroup:
-            return out << "workgroup";
-        case AddressSpace::kUniform:
-            return out << "uniform";
-        case AddressSpace::kStorage:
-            return out << "storage";
-        case AddressSpace::kPushConstant:
-            return out << "push_constant";
         case AddressSpace::kHandle:
             return out << "handle";
         case AddressSpace::kIn:
             return out << "in";
+        case AddressSpace::kNone:
+            return out << "none";
         case AddressSpace::kOut:
             return out << "out";
+        case AddressSpace::kPrivate:
+            return out << "private";
+        case AddressSpace::kPushConstant:
+            return out << "push_constant";
+        case AddressSpace::kStorage:
+            return out << "storage";
+        case AddressSpace::kUniform:
+            return out << "uniform";
+        case AddressSpace::kWorkgroup:
+            return out << "workgroup";
     }
     return out << "<unknown>";
 }