Remove leftovers from the old CppEmitter (#18175)

IREE switched from the (forked) CppEmitter to using the upstream one
with commit c15b610 / PR #16357.
diff --git a/compiler/src/iree/compiler/Dialect/VM/Target/C/CppEmitter.h b/compiler/src/iree/compiler/Dialect/VM/Target/C/CppEmitter.h
deleted file mode 100644
index 5efb1b2..0000000
--- a/compiler/src/iree/compiler/Dialect/VM/Target/C/CppEmitter.h
+++ /dev/null
@@ -1,182 +0,0 @@
-// Copyright 2020 The IREE Authors
-//
-// Licensed under the Apache License v2.0 with LLVM Exceptions.
-// See https://llvm.org/LICENSE.txt for license information.
-// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-
-// Formated in LLVM style. Avoid reformatting for upcoming upstreaming.
-// clang-format off
-
-#ifndef EMITC_TARGET_CPP_CPPEMITTER_H
-#define EMITC_TARGET_CPP_CPPEMITTER_H
-
-#include "mlir/IR/BuiltinTypes.h"
-#include "mlir/IR/Value.h"
-#include "mlir/Support/IndentedOstream.h"
-#include "llvm/ADT/ScopedHashTable.h"
-#include "llvm/Support/raw_ostream.h"
-#include <stack>
-
-namespace mlir {
-namespace emitc {
-
-/// Convenience functions to produce interleaved output with functions returning
-/// a LogicalResult. This is different than those in STL as functions used on
-/// each element doesn't return a string.
-template <typename ForwardIterator, typename UnaryFunctor,
-          typename NullaryFunctor>
-inline LogicalResult
-interleaveWithError(ForwardIterator begin, ForwardIterator end,
-                    UnaryFunctor eachFn, NullaryFunctor betweenFn) {
-  if (begin == end)
-    return success();
-  if (failed(eachFn(*begin)))
-    return failure();
-  ++begin;
-  for (; begin != end; ++begin) {
-    betweenFn();
-    if (failed(eachFn(*begin)))
-      return failure();
-  }
-  return success();
-}
-
-template <typename Container, typename UnaryFunctor, typename NullaryFunctor>
-inline LogicalResult interleaveWithError(const Container &c,
-                                         UnaryFunctor eachFn,
-                                         NullaryFunctor betweenFn) {
-  return interleaveWithError(c.begin(), c.end(), eachFn, betweenFn);
-}
-
-template <typename Container, typename UnaryFunctor>
-inline LogicalResult interleaveCommaWithError(const Container &c,
-                                              raw_ostream &os,
-                                              UnaryFunctor eachFn) {
-  return interleaveWithError(c.begin(), c.end(), eachFn, [&]() { os << ", "; });
-}
-
-/// Emitter that uses dialect specific emitters to emit C++ code.
-struct CppEmitter {
-  explicit CppEmitter(raw_ostream &os, bool declareVariablesAtTop);
-
-  /// Emits attribute or returns failure.
-  LogicalResult emitAttribute(Location loc, Attribute attr);
-
-  /// Emits operation 'op' with/without training semicolon or returns failure.
-  LogicalResult emitOperation(Operation &op, bool trailingSemicolon);
-
-  /// Emits type 'type' or returns failure.
-  LogicalResult emitType(Location loc, Type type);
-
-  /// Emits array of types as a std::tuple of the emitted types.
-  /// - emits void for an empty array;
-  /// - emits the type of the only element for arrays of size one;
-  /// - emits a std::tuple otherwise;
-  LogicalResult emitTypes(Location loc, ArrayRef<Type> types);
-
-  /// Emits array of types as a std::tuple of the emitted types independently of
-  /// the array size.
-  LogicalResult emitTupleType(Location loc, ArrayRef<Type> types);
-
-  /// Emits an assignment for a variable which has been declared previously.
-  LogicalResult emitVariableAssignment(OpResult result);
-
-  /// Emits a variable declaration for a result of an operation.
-  LogicalResult emitVariableDeclaration(OpResult result,
-                                        bool trailingSemicolon);
-
-  /// Emits the variable declaration and assignment prefix for 'op'.
-  /// - emits separate variable followed by std::tie for multi-valued operation;
-  /// - emits single type followed by variable for single result;
-  /// - emits nothing if no value produced by op;
-  /// Emits final '=' operator where a type is produced. Returns failure if
-  /// any result type could not be converted.
-  LogicalResult emitAssignPrefix(Operation &op);
-
-  /// Emits a label for the block.
-  LogicalResult emitLabel(Block &block);
-
-  /// Emits the operands and atttributes of the operation. All operands are
-  /// emitted first and then all attributes in alphabetical order.
-  LogicalResult emitOperandsAndAttributes(Operation &op,
-                                          ArrayRef<StringRef> exclude = {});
-
-  /// Emits the operands of the operation. All operands are emitted in order.
-  LogicalResult emitOperands(Operation &op);
-
-  /// Return the existing or a new name for a Value.
-  StringRef getOrCreateName(Value val);
-
-  /// Return the existing or a new label of a Block.
-  StringRef getOrCreateName(Block &block);
-
-  /// Whether to map an mlir integer to a unsigned integer in C++.
-  bool shouldMapToUnsigned(IntegerType::SignednessSemantics val);
-
-  /// RAII helper function to manage entering/exiting C++ scopes.
-  struct Scope {
-    Scope(CppEmitter &emitter)
-        : valueMapperScope(emitter.valueMapper),
-          blockMapperScope(emitter.blockMapper), emitter(emitter) {
-      emitter.valueInScopeCount.push(emitter.valueInScopeCount.top());
-      emitter.labelInScopeCount.push(emitter.labelInScopeCount.top());
-    }
-    ~Scope() {
-      emitter.valueInScopeCount.pop();
-      emitter.labelInScopeCount.pop();
-    }
-
-  private:
-    llvm::ScopedHashTableScope<Value, std::string> valueMapperScope;
-    llvm::ScopedHashTableScope<Block *, std::string> blockMapperScope;
-    CppEmitter &emitter;
-  };
-
-  /// Returns wether the Value is assigned to a C++ variable in the scope.
-  bool hasValueInScope(Value val);
-
-  // Returns whether a label is assigned to the block.
-  bool hasBlockLabel(Block &block);
-
-  /// Returns the output stream.
-  raw_indented_ostream &ostream() { return os; };
-
-  /// Returns if all variables for op results and basic block arguments need to
-  /// be declared at the beginning of a function.
-  bool shouldDeclareVariablesAtTop() { return declareVariablesAtTop; };
-
-private:
-  using ValueMapper = llvm::ScopedHashTable<Value, std::string>;
-  using BlockMapper = llvm::ScopedHashTable<Block *, std::string>;
-
-  /// Output stream to emit to.
-  raw_indented_ostream os;
-
-  /// Boolean to enforce that all variables for op results and block
-  /// arguments are declared at the beginning of the function. This also
-  /// includes results from ops located in nested regions.
-  bool declareVariablesAtTop;
-
-  /// Map from value to name of C++ variable that contain the name.
-  ValueMapper valueMapper;
-
-  /// Map from block to name of C++ label.
-  BlockMapper blockMapper;
-
-  /// The number of values in the current scope. This is used to declare the
-  /// names of values in a scope.
-  std::stack<int64_t> valueInScopeCount;
-  std::stack<int64_t> labelInScopeCount;
-};
-
-/// Translates the given operation to C++ code. The operation or operations in
-/// the region of 'op' need almost all be in EmitC dialect. The parameter
-/// 'declareVariablesAtTop' enforces that all variables for op results and block
-/// arguments are declared at the beginning of the function.
-LogicalResult translateToCpp(Operation *op, raw_ostream &os,
-                             bool declareVariablesAtTop = false);
-} // namespace emitc
-} // namespace mlir
-
-#endif // EMITC_TARGET_CPP_CPPEMITTER_H
-// clang-format on
diff --git a/compiler/src/iree/compiler/Dialect/VM/Target/C/README.md b/compiler/src/iree/compiler/Dialect/VM/Target/C/README.md
deleted file mode 100644
index 4800d27..0000000
--- a/compiler/src/iree/compiler/Dialect/VM/Target/C/README.md
+++ /dev/null
@@ -1,8 +0,0 @@
-# MLIR EmitC
-
-The Cpp emitter is a partial copy of MLIR EmitC, forked from https://github.com/iml130/mlir-emitc.
-
-The initial import contains the C/C++ emitter (namely the files `CppEmitter.h` and `TranslateToCpp.cpp`)
-and reflects the state of iml130/mlir-emitc@f9968f65 for those files.
-
-It is intended to switch to the C/C++ emitter in the MLIR core repository as soon as possible.