1 // The LLVM Compiler Infrastructure
3 // The LLVM Compiler Infrastructure
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
8 //===-- AMDILCodeEmitter.h - TODO: Add brief description -------===//
9 //===-- AMDILCodeEmitter.h - TODO: Add brief description -------===//
10 //===-- AMDILCodeEmitter.h - TODO: Add brief description -------===//
12 // The LLVM Compiler Infrastructure
15 #ifndef AMDILCODEEMITTER_H
16 #define AMDILCODEEMITTER_H
20 /* XXX: Temp HACK to work around tablegen name generation */
21 class AMDILCodeEmitter {
23 uint64_t getBinaryCodeForInstr(const MachineInstr &MI) const;
24 virtual uint64_t getMachineOpValue(const MachineInstr &MI,
25 const MachineOperand &MO) const { return 0; }
26 virtual unsigned GPR4AlignEncode(const MachineInstr &MI,
27 unsigned OpNo) const {
30 virtual unsigned GPR2AlignEncode(const MachineInstr &MI,
31 unsigned OpNo) const {
34 virtual uint64_t VOPPostEncode(const MachineInstr &MI,
35 uint64_t Value) const {
38 virtual uint64_t i32LiteralEncode(const MachineInstr &MI,
39 unsigned OpNo) const {
44 } // End namespace llvm
46 #endif // AMDILCODEEMITTER_H