mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-08-05 13:26:55 +00:00
Fix frame index elimination to correctly handle thumb-2 addressing modes that don't allow negative offsets. During frame elimination convert *i12 opcode to a *i8 when necessary due to a negative offset.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76883 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -34,6 +34,13 @@ public:
|
||||
// Return the opcode that implements 'Op', or 0 if no opcode
|
||||
unsigned getOpcode(ARMII::Op Op) const;
|
||||
|
||||
// If 'opcode' is an instruction with an unsigned offset that also
|
||||
// has a version with a signed offset, return the opcode for the
|
||||
// version with the signed offset. In 'NumBits' return the number of
|
||||
// bits for the signed offset.
|
||||
unsigned unsignedOffsetOpcodeToSigned(unsigned opcode,
|
||||
unsigned *NumBits) const;
|
||||
|
||||
// Return true if the block does not fall through.
|
||||
bool BlockHasNoFallThrough(const MachineBasicBlock &MBB) const;
|
||||
|
||||
|
Reference in New Issue
Block a user