mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-02-10 04:33:40 +00:00
Refactor code to add load / store folded instructions -> register only
instructions reverse map. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42509 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
a7ac2bd407
commit
7f3394f379
File diff suppressed because it is too large
Load Diff
@ -14,6 +14,7 @@
|
||||
#ifndef X86REGISTERINFO_H
|
||||
#define X86REGISTERINFO_H
|
||||
|
||||
#include "llvm/ADT/DenseMap.h"
|
||||
#include "llvm/ADT/SmallVector.h"
|
||||
#include "llvm/Target/MRegisterInfo.h"
|
||||
#include "X86GenRegisterInfo.h.inc"
|
||||
@ -38,17 +39,33 @@ public:
|
||||
|
||||
private:
|
||||
/// Is64Bit - Is the target 64-bits.
|
||||
///
|
||||
bool Is64Bit;
|
||||
|
||||
/// SlotSize - Stack slot size in bytes.
|
||||
///
|
||||
unsigned SlotSize;
|
||||
|
||||
/// StackPtr - X86 physical register used as stack ptr.
|
||||
///
|
||||
unsigned StackPtr;
|
||||
|
||||
/// FramePtr - X86 physical register used as frame ptr.
|
||||
///
|
||||
unsigned FramePtr;
|
||||
|
||||
/// RegOp2MemOpTable2Addr, RegOp2MemOpTable0, RegOp2MemOpTable1,
|
||||
/// RegOp2MemOpTable2 - Load / store folding opcode maps.
|
||||
///
|
||||
DenseMap<unsigned*, unsigned> RegOp2MemOpTable2Addr;
|
||||
DenseMap<unsigned*, unsigned> RegOp2MemOpTable0;
|
||||
DenseMap<unsigned*, unsigned> RegOp2MemOpTable1;
|
||||
DenseMap<unsigned*, unsigned> RegOp2MemOpTable2;
|
||||
|
||||
/// MemOp2RegOpTable - Load / store unfolding opcode map.
|
||||
///
|
||||
DenseMap<unsigned*, unsigned> MemOp2RegOpTable;
|
||||
|
||||
public:
|
||||
X86RegisterInfo(X86TargetMachine &tm, const TargetInstrInfo &tii);
|
||||
|
||||
@ -57,6 +74,7 @@ public:
|
||||
unsigned getX86RegNum(unsigned RegNo);
|
||||
|
||||
/// Code Generation virtual methods...
|
||||
///
|
||||
bool spillCalleeSavedRegisters(MachineBasicBlock &MBB,
|
||||
MachineBasicBlock::iterator MI,
|
||||
const std::vector<CalleeSavedInfo> &CSI) const;
|
||||
|
Loading…
x
Reference in New Issue
Block a user