Skip to content

Commit 9b95f60

Browse files
committed
[AArch64] Add assertions and debug trace (NFC)
1 parent 7c959b3 commit 9b95f60

File tree

1 file changed

+13
-2
lines changed

1 file changed

+13
-2
lines changed

llvm/lib/Target/AArch64/AArch64FrameLowering.cpp

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4355,26 +4355,37 @@ void TagStoreEdit::emitLoop(MachineBasicBlock::iterator InsertI) {
43554355

43564356
int64_t ExtraBaseRegUpdate =
43574357
FrameRegUpdate ? (*FrameRegUpdate - FrameRegOffset.getFixed() - Size) : 0;
4358+
LLVM_DEBUG(dbgs() << "TagStoreEdit::emitLoop: LoopSize=" << LoopSize
4359+
<< ", Size=" << Size
4360+
<< ", ExtraBaseRegUpdate=" << ExtraBaseRegUpdate
4361+
<< ", FrameRegUpdate=" << FrameRegUpdate
4362+
<< ", FrameRegOffset.getFixed()="
4363+
<< FrameRegOffset.getFixed() << "\n");
43584364
if (LoopSize < Size) {
43594365
assert(FrameRegUpdate);
43604366
assert(Size - LoopSize == 16);
43614367
// Tag 16 more bytes at BaseReg and update BaseReg.
4368+
int64_t STGOffset = ExtraBaseRegUpdate + 16;
4369+
assert(STGOffset % 16 == 0 && STGOffset >= -4096 && STGOffset <= 4080 &&
4370+
"STG immediate out of range");
43624371
BuildMI(*MBB, InsertI, DL,
43634372
TII->get(ZeroData ? AArch64::STZGPostIndex : AArch64::STGPostIndex))
43644373
.addDef(BaseReg)
43654374
.addReg(BaseReg)
43664375
.addReg(BaseReg)
4367-
.addImm(1 + ExtraBaseRegUpdate / 16)
4376+
.addImm(STGOffset / 16)
43684377
.setMemRefs(CombinedMemRefs)
43694378
.setMIFlags(FrameRegUpdateFlags);
43704379
} else if (ExtraBaseRegUpdate) {
43714380
// Update BaseReg.
4381+
int64_t AddSubOffset = std::abs(ExtraBaseRegUpdate);
4382+
assert(AddSubOffset <= 4095 && "ADD/SUB immediate out of range");
43724383
BuildMI(
43734384
*MBB, InsertI, DL,
43744385
TII->get(ExtraBaseRegUpdate > 0 ? AArch64::ADDXri : AArch64::SUBXri))
43754386
.addDef(BaseReg)
43764387
.addReg(BaseReg)
4377-
.addImm(std::abs(ExtraBaseRegUpdate))
4388+
.addImm(AddSubOffset)
43784389
.addImm(0)
43794390
.setMIFlags(FrameRegUpdateFlags);
43804391
}

0 commit comments

Comments
 (0)