mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-02-19 06:31:18 +00:00
Initial stab at MachineInstr'ication
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4367 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
c5b8b1a040
commit
75276f150e
@ -13,7 +13,7 @@
|
|||||||
/// the function is in SSA form or not, although when in SSA form, we obviously
|
/// the function is in SSA form or not, although when in SSA form, we obviously
|
||||||
/// don't care about being consumable by an assembler.
|
/// don't care about being consumable by an assembler.
|
||||||
///
|
///
|
||||||
void X86PrintCode(const MFunction *MF, std::ostream &O) {
|
void X86PrintCode(const MachineFunction *MF, std::ostream &O) {
|
||||||
O << "x86 printing not implemented yet!\n";
|
O << "x86 printing not implemented yet!\n";
|
||||||
|
|
||||||
// This should use the X86InstructionInfo::print method to print assembly for
|
// This should use the X86InstructionInfo::print method to print assembly for
|
||||||
|
@ -11,32 +11,32 @@
|
|||||||
#define TARGET_X86_H
|
#define TARGET_X86_H
|
||||||
|
|
||||||
#include <iosfwd>
|
#include <iosfwd>
|
||||||
class MFunction;
|
class MachineFunction;
|
||||||
class Function;
|
class Function;
|
||||||
|
|
||||||
/// X86PrintCode - Print out the specified machine code function to the
|
/// X86PrintCode - Print out the specified machine code function to the
|
||||||
/// specified stream. This function should work regardless of whether or not
|
/// specified stream. This function should work regardless of whether or not
|
||||||
/// the function is in SSA form or not.
|
/// the function is in SSA form or not.
|
||||||
///
|
///
|
||||||
void X86PrintCode(const MFunction *MF, std::ostream &O);
|
void X86PrintCode(const MachineFunction *MF, std::ostream &O);
|
||||||
|
|
||||||
/// X86SimpleInstructionSelection - This function converts an LLVM function into
|
/// X86SimpleInstructionSelection - This function converts an LLVM function into
|
||||||
/// a machine code representation is a very simple peep-hole fashion. The
|
/// a machine code representation is a very simple peep-hole fashion. The
|
||||||
/// generated code sucks but the implementation is nice and simple.
|
/// generated code sucks but the implementation is nice and simple.
|
||||||
///
|
///
|
||||||
MFunction *X86SimpleInstructionSelection(Function &F);
|
MachineFunction *X86SimpleInstructionSelection(Function &F);
|
||||||
|
|
||||||
/// X86SimpleRegisterAllocation - This function converts the specified machine
|
/// X86SimpleRegisterAllocation - This function converts the specified machine
|
||||||
/// code function from SSA form to use explicit registers by spilling every
|
/// code function from SSA form to use explicit registers by spilling every
|
||||||
/// register. Wow, great policy huh?
|
/// register. Wow, great policy huh?
|
||||||
///
|
///
|
||||||
inline void X86SimpleRegisterAllocation(MFunction *MF) {}
|
inline void X86SimpleRegisterAllocation(MachineFunction *MF) {}
|
||||||
|
|
||||||
/// X86EmitCodeToMemory - This function converts a register allocated function
|
/// X86EmitCodeToMemory - This function converts a register allocated function
|
||||||
/// into raw machine code in a dynamically allocated chunk of memory. A pointer
|
/// into raw machine code in a dynamically allocated chunk of memory. A pointer
|
||||||
/// to the start of the function is returned.
|
/// to the start of the function is returned.
|
||||||
///
|
///
|
||||||
inline void *X86EmitCodeToMemory(MFunction *MF) { return 0; }
|
inline void *X86EmitCodeToMemory(MachineFunction *MF) { return 0; }
|
||||||
|
|
||||||
|
|
||||||
// Put symbolic names in a namespace to avoid causing these to clash with all
|
// Put symbolic names in a namespace to avoid causing these to clash with all
|
||||||
|
@ -13,7 +13,7 @@
|
|||||||
/// the function is in SSA form or not, although when in SSA form, we obviously
|
/// the function is in SSA form or not, although when in SSA form, we obviously
|
||||||
/// don't care about being consumable by an assembler.
|
/// don't care about being consumable by an assembler.
|
||||||
///
|
///
|
||||||
void X86PrintCode(const MFunction *MF, std::ostream &O) {
|
void X86PrintCode(const MachineFunction *MF, std::ostream &O) {
|
||||||
O << "x86 printing not implemented yet!\n";
|
O << "x86 printing not implemented yet!\n";
|
||||||
|
|
||||||
// This should use the X86InstructionInfo::print method to print assembly for
|
// This should use the X86InstructionInfo::print method to print assembly for
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
#ifndef X86INSTRUCTIONINFO_H
|
#ifndef X86INSTRUCTIONINFO_H
|
||||||
#define X86INSTRUCTIONINFO_H
|
#define X86INSTRUCTIONINFO_H
|
||||||
|
|
||||||
#include "llvm/Target/MInstructionInfo.h"
|
#include "llvm/Target/InstructionInfo.h"
|
||||||
#include "X86RegisterInfo.h"
|
#include "X86RegisterInfo.h"
|
||||||
|
|
||||||
class X86InstructionInfo : public MInstructionInfo {
|
class X86InstructionInfo : public MInstructionInfo {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user