003 File Manager
Current Path:
/usr/src/contrib/llvm-project/llvm/lib/MCA
usr
/
src
/
contrib
/
llvm-project
/
llvm
/
lib
/
MCA
/
📁
..
📄
CodeEmitter.cpp
(1.06 KB)
📄
Context.cpp
(2.7 KB)
📄
HWEventListener.cpp
(707 B)
📁
HardwareUnits
📄
InstrBuilder.cpp
(26.38 KB)
📄
Instruction.cpp
(6.88 KB)
📄
Pipeline.cpp
(2.54 KB)
📁
Stages
📄
Support.cpp
(4.03 KB)
Editing: CodeEmitter.cpp
//===--------------------- CodeEmitter.cpp ----------------------*- C++ -*-===// // // Part of the LLVM Project, 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 // //===----------------------------------------------------------------------===// // // This file implements the CodeEmitter API. // //===----------------------------------------------------------------------===// #include "llvm/MCA/CodeEmitter.h" namespace llvm { namespace mca { CodeEmitter::EncodingInfo CodeEmitter::getOrCreateEncodingInfo(unsigned MCID) { EncodingInfo &EI = Encodings[MCID]; if (EI.second) return EI; SmallVector<llvm::MCFixup, 2> Fixups; const MCInst &Inst = Sequence[MCID]; MCInst Relaxed(Sequence[MCID]); if (MAB.mayNeedRelaxation(Inst, STI)) MAB.relaxInstruction(Relaxed, STI); EI.first = Code.size(); MCE.encodeInstruction(Relaxed, VecOS, Fixups, STI); EI.second = Code.size() - EI.first; return EI; } } // namespace mca } // namespace llvm
Upload File
Create Folder