mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-08-18 12:29:21 +00:00
Add new function MachineInstrInfo::CreateZeroExtensionInstructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3582 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
f36f06bb60
commit
68f716190b
@ -299,15 +299,31 @@ public:
|
|||||||
|
|
||||||
// Create instruction sequence to produce a sign-extended register value
|
// Create instruction sequence to produce a sign-extended register value
|
||||||
// from an arbitrary sized value (sized in bits, not bytes).
|
// from an arbitrary sized value (sized in bits, not bytes).
|
||||||
|
// The generated instructions are appended to `mvec'.
|
||||||
|
// Any temp. registers (TmpInstruction) created are recorded in mcfi.
|
||||||
// Any stack space required is allocated via mcff.
|
// Any stack space required is allocated via mcff.
|
||||||
//
|
//
|
||||||
virtual void CreateSignExtensionInstructions(const TargetMachine& target,
|
virtual void CreateSignExtensionInstructions(const TargetMachine& target,
|
||||||
Function* F,
|
Function* F,
|
||||||
Value* unsignedSrcVal,
|
Value* srcVal,
|
||||||
unsigned int srcSizeInBits,
|
unsigned int srcSizeInBits,
|
||||||
Value* dest,
|
Value* dest,
|
||||||
std::vector<MachineInstr*>& mvec,
|
std::vector<MachineInstr*>& mvec,
|
||||||
MachineCodeForInstruction& mcfi)const=0;
|
MachineCodeForInstruction& mcfi) const=0;
|
||||||
|
|
||||||
|
// Create instruction sequence to produce a zero-extended register value
|
||||||
|
// from an arbitrary sized value (sized in bits, not bytes).
|
||||||
|
// The generated instructions are appended to `mvec'.
|
||||||
|
// Any temp. registers (TmpInstruction) created are recorded in mcfi.
|
||||||
|
// Any stack space required is allocated via mcff.
|
||||||
|
//
|
||||||
|
virtual void CreateZeroExtensionInstructions(const TargetMachine& target,
|
||||||
|
Function* F,
|
||||||
|
Value* srcVal,
|
||||||
|
unsigned int srcSizeInBits,
|
||||||
|
Value* dest,
|
||||||
|
std::vector<MachineInstr*>& mvec,
|
||||||
|
MachineCodeForInstruction& mcfi) const=0;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -299,15 +299,31 @@ public:
|
|||||||
|
|
||||||
// Create instruction sequence to produce a sign-extended register value
|
// Create instruction sequence to produce a sign-extended register value
|
||||||
// from an arbitrary sized value (sized in bits, not bytes).
|
// from an arbitrary sized value (sized in bits, not bytes).
|
||||||
|
// The generated instructions are appended to `mvec'.
|
||||||
|
// Any temp. registers (TmpInstruction) created are recorded in mcfi.
|
||||||
// Any stack space required is allocated via mcff.
|
// Any stack space required is allocated via mcff.
|
||||||
//
|
//
|
||||||
virtual void CreateSignExtensionInstructions(const TargetMachine& target,
|
virtual void CreateSignExtensionInstructions(const TargetMachine& target,
|
||||||
Function* F,
|
Function* F,
|
||||||
Value* unsignedSrcVal,
|
Value* srcVal,
|
||||||
unsigned int srcSizeInBits,
|
unsigned int srcSizeInBits,
|
||||||
Value* dest,
|
Value* dest,
|
||||||
std::vector<MachineInstr*>& mvec,
|
std::vector<MachineInstr*>& mvec,
|
||||||
MachineCodeForInstruction& mcfi)const=0;
|
MachineCodeForInstruction& mcfi) const=0;
|
||||||
|
|
||||||
|
// Create instruction sequence to produce a zero-extended register value
|
||||||
|
// from an arbitrary sized value (sized in bits, not bytes).
|
||||||
|
// The generated instructions are appended to `mvec'.
|
||||||
|
// Any temp. registers (TmpInstruction) created are recorded in mcfi.
|
||||||
|
// Any stack space required is allocated via mcff.
|
||||||
|
//
|
||||||
|
virtual void CreateZeroExtensionInstructions(const TargetMachine& target,
|
||||||
|
Function* F,
|
||||||
|
Value* srcVal,
|
||||||
|
unsigned int srcSizeInBits,
|
||||||
|
Value* dest,
|
||||||
|
std::vector<MachineInstr*>& mvec,
|
||||||
|
MachineCodeForInstruction& mcfi) const=0;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
Loading…
Reference in New Issue
Block a user