<commit_before>// Copyright 2014-2015 Project Vogue. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#include <iterator>
#include <ostream>
#include <string>

#include "base/logging.h"
#include "base/numerics/safe_conversions.h"
#include "base/strings/string_piece.h"
#include "elang/lir/instructions.h"
#include "elang/lir/instruction_visitor.h"
#include "elang/lir/literals.h"
#include "elang/lir/literal_map.h"
#include "elang/lir/printable.h"
#include "elang/lir/target_x64.h"

namespace elang {
namespace lir {

//////////////////////////////////////////////////////////////////////
//
// PrintableValue
//
std::ostream& operator<<(std::ostream& ostream,
                         const PrintableValue& printable) {
  static const char* const names8[16] = {
      "AL",
      "CL",
      "DL",
      "BL",
      "AH",
      "CH",
      "DH",
      "BH",
      "R8B",
      "R9B",
      "R10B",
      "R11B",
      "R12B",
      "R13B",
      "R14B",
      "R15B",
  };
  static const char* const names16[16] = {
      "AX",
      "CX",
      "DX",
      "BX",<commit_msg>elang/lir: Make |Value| printer for X64 target to print "BPL", "SPL", "SIL", or "DIL" instead of "AH", "CH", "DH" or "BH".<commit_after>// Copyright 2014-2015 Project Vogue. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#include <iterator>
#include <ostream>
#include <string>

#include "base/logging.h"
#include "base/numerics/safe_conversions.h"
#include "base/strings/string_piece.h"
#include "elang/lir/instructions.h"
#include "elang/lir/instruction_visitor.h"
#include "elang/lir/literals.h"
#include "elang/lir/literal_map.h"
#include "elang/lir/printable.h"
#include "elang/lir/target_x64.h"

namespace elang {
namespace lir {

//////////////////////////////////////////////////////////////////////
//
// PrintableValue
//
std::ostream& operator<<(std::ostream& ostream,
                         const PrintableValue& printable) {
  static const char* const names8[16] = {
      "AL",
      "CL",
      "DL",
      "BL",
      "BPL",
      "SPL",
      "SIL",
      "DIL",
      "R8B",
      "R9B",
      "R10B",
      "R11B",
      "R12B",
      "R13B",
      "R14B",
      "R15B",
  };
  static const char* const names16[16] = {
      "AX",
      "CX",
      "DX",
      "BX",
{'fraction_non_alphanumeric': 0.20835055808185202, 'fraction_numerical': 0.02645721372467962, 'mean_word_length': 2.1469440832249673, 'pattern_counts': {'":': 0, '<': 13, '<?xml version=': 0, '>': 9, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1168975', 'n_tokens_mistral': 898, 'n_tokens_neox': 850, 'n_words': 203}