Refactor EmitC shared ops and conversions (#4855)

Makes the naming more consistent, similar to the order used in the the bytecode dispatcher.
diff --git a/iree/compiler/Dialect/VM/Conversion/VMToEmitC/ConvertVMToEmitC.cpp b/iree/compiler/Dialect/VM/Conversion/VMToEmitC/ConvertVMToEmitC.cpp
index c40b199..9aa4f8b 100644
--- a/iree/compiler/Dialect/VM/Conversion/VMToEmitC/ConvertVMToEmitC.cpp
+++ b/iree/compiler/Dialect/VM/Conversion/VMToEmitC/ConvertVMToEmitC.cpp
@@ -72,6 +72,10 @@
 
 void populateVMToCPatterns(MLIRContext *context,
                            OwningRewritePatternList &patterns) {
+  // Constants
+  patterns.insert<CallOpConversion<IREE::VM::ConstI32Op>>(context,
+                                                          "vm_const_i32");
+
   // Conditional assignment ops
   patterns.insert<CallOpConversion<IREE::VM::SelectI32Op>>(context,
                                                            "vm_select_i32");
@@ -132,9 +136,6 @@
   patterns.insert<CallOpConversion<IREE::VM::CheckEQOp>>(context,
                                                          "VM_CHECK_EQ");
 
-  // Const
-  patterns.insert<CallOpConversion<IREE::VM::ConstI32Op>>(context,
-                                                          "vm_const_i32");
 }
 
 namespace IREE {
@@ -160,6 +161,9 @@
     target.addLegalDialect<iree_compiler::IREEDialect>();
     target.addLegalDialect<IREE::VM::VMDialect>();
 
+    // Constants
+    target.addIllegalOp<IREE::VM::ConstI32Op>();
+
     // Conditional assignment ops
     target.addIllegalOp<IREE::VM::SelectI32Op>();
 
@@ -201,8 +205,6 @@
     // support for control flow ops has landed in the c module target
     target.addIllegalOp<IREE::VM::CheckEQOp>();
 
-    // Const ops
-    target.addIllegalOp<IREE::VM::ConstI32Op>();
 
     if (failed(
             applyFullConversion(getOperation(), target, std::move(patterns)))) {
diff --git a/iree/compiler/Dialect/VM/Conversion/VMToEmitC/test/const.mlir b/iree/compiler/Dialect/VM/Conversion/VMToEmitC/test/const_ops.mlir
similarity index 100%
rename from iree/compiler/Dialect/VM/Conversion/VMToEmitC/test/const.mlir
rename to iree/compiler/Dialect/VM/Conversion/VMToEmitC/test/const_ops.mlir
diff --git a/iree/vm/ops.h b/iree/vm/ops.h
index b205445..502fbb9 100644
--- a/iree/vm/ops.h
+++ b/iree/vm/ops.h
@@ -18,6 +18,12 @@
 #include <stdint.h>
 
 //===------------------------------------------------------------------===//
+// Constants
+//===------------------------------------------------------------------===//
+
+static inline int32_t vm_const_i32(int32_t a) { return a; }
+
+//===------------------------------------------------------------------===//
 // Conditional assignment
 //===------------------------------------------------------------------===//
 
@@ -109,6 +115,9 @@
   return (operand != 0) ? 1 : 0;
 }
 
+//===------------------------------------------------------------------===//
+// Additional ops
+//===------------------------------------------------------------------===//
 // Check ops
 // TODO(simon-camp): These macros should be removed once control flow ops are
 // supported in the c module target
@@ -118,7 +127,5 @@
                                 iree_make_cstring_view("message"));         \
   }
 
-// Const ops
-inline int32_t vm_const_i32(int32_t a) { return a; }
 
 #endif  // IREE_VM_OPS_H_