+/**
+ * mode_info for output as decimal
+ */
+static const tarval_mode_info dec_output = {
+ TVO_DECIMAL,
+ NULL,
+ NULL,
+};
+
+/**
+ * emit a tarval as decimal
+ */
+static void be_emit_tv_as_decimal(ir_tarval *tv)
+{
+ ir_mode *mode = get_tarval_mode(tv);
+ const tarval_mode_info *old = get_tarval_mode_output_option(mode);
+
+ set_tarval_mode_output_option(mode, &dec_output);
+ be_emit_tarval(tv);
+ set_tarval_mode_output_option(mode, old);
+}
+
+static void emit_type_name(const ir_type *type)
+{
+ char *c;
+ char buf[256];
+ ir_print_type(buf, sizeof(buf), type);
+ /* replace special chars to be on the safe side */
+ for (c = buf; *c != '\0'; ++c) {
+ if (*c == '\n' || *c == '"' || *c == '\\')
+ *c = '?';
+ }
+ be_emit_string(buf);
+}
+