brintos

brintos / llvm-project-archived public Read only

0
0
Text · 970 B · 5bc48d9 Raw
33 lines · cpp
1//===--------------------- CodeEmitter.cpp ----------------------*- C++ -*-===//2//3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.4// See https://llvm.org/LICENSE.txt for license information.5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception6//7//===----------------------------------------------------------------------===//8//9// This file implements the CodeEmitter API.10//11//===----------------------------------------------------------------------===//12 13#include "llvm/MCA/CodeEmitter.h"14 15namespace llvm {16namespace mca {17 18CodeEmitter::EncodingInfo CodeEmitter::getOrCreateEncodingInfo(unsigned MCID) {19  EncodingInfo &EI = Encodings[MCID];20  if (EI.second)21    return EI;22 23  SmallVector<llvm::MCFixup, 2> Fixups;24  const MCInst &Inst = Sequence[MCID];25  EI.first = Code.size();26  MCE.encodeInstruction(Inst, Code, Fixups, STI);27  EI.second = Code.size() - EI.first;28  return EI;29}30 31} // namespace mca32} // namespace llvm33