diff options
author | Krzysztof Parzyszek <kparzysz@codeaurora.org> | 2018-02-27 22:40:52 +0000 |
---|---|---|
committer | Krzysztof Parzyszek <kparzysz@codeaurora.org> | 2018-02-27 22:40:52 +0000 |
commit | 2d79017d85a3e788cf32a8ce1602c2994bfc4ecb (patch) | |
tree | 406b926f03a23ac607534d888fa5009ce62032c3 /llvm/lib/CodeGen/MachinePipeliner.cpp | |
parent | 029fb693722ee87cf0aebc75ba823d4ed020215a (diff) | |
download | bcm5719-llvm-2d79017d85a3e788cf32a8ce1602c2994bfc4ecb.tar.gz bcm5719-llvm-2d79017d85a3e788cf32a8ce1602c2994bfc4ecb.zip |
[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
Diffstat (limited to 'llvm/lib/CodeGen/MachinePipeliner.cpp')
-rw-r--r-- | llvm/lib/CodeGen/MachinePipeliner.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/llvm/lib/CodeGen/MachinePipeliner.cpp b/llvm/lib/CodeGen/MachinePipeliner.cpp index 3cce7b3649b..7ee4a99437e 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); } |