[PATCH] D27650: [AVR] Add an 'relax memory operation' pass

Dylan McKay via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Dec 9 22:42:28 PST 2016


dylanmckay created this revision.
dylanmckay added reviewers: kparzysz, arsenm.
dylanmckay added a subscriber: llvm-commits.
Herald added subscribers: mgorny, wdng.

This pass will be used to relax instructions which use out of bounds
memory accesses to equivalent operations that can work with the
addresses.

The pass currently implements relaxation for the STDWPtrQRr instruction.

Without this pass, an assertion error would be hit in the pseudo expansion pass.

In the future, we will need to add more instructions to this pass. We can do
that on a case-by-case basic.


https://reviews.llvm.org/D27650

Files:
  lib/Target/AVR/AVR.h
  lib/Target/AVR/AVRFrameLowering.cpp
  lib/Target/AVR/AVRRelaxMemOperations.cpp
  lib/Target/AVR/AVRTargetMachine.cpp
  lib/Target/AVR/CMakeLists.txt
  test/CodeGen/AVR/relax-mem/STDWPtrQRr.mir

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D27650.80993.patch
Type: text/x-patch
Size: 7520 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20161210/dd9fb85c/attachment.bin>


More information about the llvm-commits mailing list