From 2d79017d85a3e788cf32a8ce1602c2994bfc4ecb Mon Sep 17 00:00:00 2001 From: Krzysztof Parzyszek Date: Tue, 27 Feb 2018 22:40:52 +0000 Subject: [Pipeliner] Drop memrefs instead of creating ones with size UINT64_MAX Absence of memory operands is treated as "aliasing everything", so dropping them is sufficient. Recommit r326256 with a fixed testcase. llvm-svn: 326262 --- llvm/lib/CodeGen/MachinePipeliner.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'llvm/lib/CodeGen/MachinePipeliner.cpp') diff --git a/llvm/lib/CodeGen/MachinePipeliner.cpp b/llvm/lib/CodeGen/MachinePipeliner.cpp index 3cce7b3..7ee4a99 100644 --- a/llvm/lib/CodeGen/MachinePipeliner.cpp +++ b/llvm/lib/CodeGen/MachinePipeliner.cpp @@ -3099,8 +3099,10 @@ void SwingSchedulerDAG::updateMemOperands(MachineInstr &NewMI, int64_t AdjOffset = Delta * Num; NewMemRefs[Refs++] = MF.getMachineMemOperand(MMO, AdjOffset, MMO->getSize()); - } else - NewMemRefs[Refs++] = MF.getMachineMemOperand(MMO, 0, UINT64_MAX); + } else { + NewMI.dropMemRefs(); + return; + } } NewMI.setMemRefs(NewMemRefs, NewMemRefs + NumRefs); } -- cgit v1.1