diff options
author | Dylan McKay <dylanmckay34@gmail.com> | 2016-12-10 05:48:48 +0000 |
---|---|---|
committer | Dylan McKay <dylanmckay34@gmail.com> | 2016-12-10 05:48:48 +0000 |
commit | f3685095439c48c5a549e36a97e7fa9524aa4507 (patch) | |
tree | 0100cb1aab62e13022077450124a399160e1c1a5 /llvm/lib/Target | |
parent | c05cb603690c466bf443e8ac14d2ad6ea6909728 (diff) | |
download | bcm5719-llvm-f3685095439c48c5a549e36a97e7fa9524aa4507.tar.gz bcm5719-llvm-f3685095439c48c5a549e36a97e7fa9524aa4507.zip |
[AVR] Fix a bunch of incorrect assertion messages
These should've been checking whether the immediate is a 6-bit unsigned
integer.
If the immediate was '63', this would cause an assertion error which
shouldn't have occurred.
llvm-svn: 289315
Diffstat (limited to 'llvm/lib/Target')
-rw-r--r-- | llvm/lib/Target/AVR/AVRExpandPseudoInsts.cpp | 8 | ||||
-rw-r--r-- | llvm/lib/Target/AVR/AVRRegisterInfo.cpp | 2 |
2 files changed, 5 insertions, 5 deletions
diff --git a/llvm/lib/Target/AVR/AVRExpandPseudoInsts.cpp b/llvm/lib/Target/AVR/AVRExpandPseudoInsts.cpp index ea4a179c00a..c19eac64aa3 100644 --- a/llvm/lib/Target/AVR/AVRExpandPseudoInsts.cpp +++ b/llvm/lib/Target/AVR/AVRExpandPseudoInsts.cpp @@ -654,7 +654,7 @@ bool AVRExpandPseudo::expand<AVR::LDDWRdPtrQ>(Block &MBB, BlockIt MBBI) { OpHi = AVR::LDDRdPtrQ; TRI->splitReg(DstReg, DstLoReg, DstHiReg); - assert(Imm < 63 && "Offset is out of range"); + assert(Imm <= 63 && "Offset is out of range"); unsigned TmpLoReg = DstLoReg; unsigned TmpHiReg = DstHiReg; @@ -1016,7 +1016,7 @@ bool AVRExpandPseudo::expand<AVR::STDWPtrQRr>(Block &MBB, BlockIt MBBI) { OpHi = AVR::STDPtrQRr; TRI->splitReg(SrcReg, SrcLoReg, SrcHiReg); - assert(Imm < 63 && "Offset is out of range"); + assert(Imm <= 63 && "Offset is out of range"); auto MIBLO = buildMI(MBB, MBBI, OpLo) .addReg(DstReg) @@ -1046,7 +1046,7 @@ bool AVRExpandPseudo::expand<AVR::INWRdA>(Block &MBB, BlockIt MBBI) { OpHi = AVR::INRdA; TRI->splitReg(DstReg, DstLoReg, DstHiReg); - assert(Imm < 63 && "Address is out of range"); + assert(Imm <= 63 && "Address is out of range"); auto MIBLO = buildMI(MBB, MBBI, OpLo) .addReg(DstLoReg, RegState::Define | getDeadRegState(DstIsDead)) @@ -1074,7 +1074,7 @@ bool AVRExpandPseudo::expand<AVR::OUTWARr>(Block &MBB, BlockIt MBBI) { OpHi = AVR::OUTARr; TRI->splitReg(SrcReg, SrcLoReg, SrcHiReg); - assert(Imm < 63 && "Address is out of range"); + assert(Imm <= 63 && "Address is out of range"); // 16 bit I/O writes need the high byte first auto MIBHI = buildMI(MBB, MBBI, OpHi) diff --git a/llvm/lib/Target/AVR/AVRRegisterInfo.cpp b/llvm/lib/Target/AVR/AVRRegisterInfo.cpp index 7f5002f1608..48798bd4a1d 100644 --- a/llvm/lib/Target/AVR/AVRRegisterInfo.cpp +++ b/llvm/lib/Target/AVR/AVRRegisterInfo.cpp @@ -193,7 +193,7 @@ void AVRRegisterInfo::eliminateFrameIndex(MachineBasicBlock::iterator II, // If the offset is too big we have to adjust and restore the frame pointer // to materialize a valid load/store with displacement. //:TODO: consider using only one adiw/sbiw chain for more than one frame index - if (Offset >= 63) { + if (Offset > 63) { unsigned AddOpc = AVR::ADIWRdK, SubOpc = AVR::SBIWRdK; int AddOffset = Offset - 63 + 1; |