[PATCH] D86418: [AVR] Improve inline rotate/shift expansions

Ayke via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Sun Aug 23 05:27:40 PDT 2020


aykevl created this revision.
aykevl added a reviewer: dylanmckay.
aykevl added a project: LLVM.
Herald added subscribers: llvm-commits, Jim, hiraditya.
aykevl requested review of this revision.

These expansions were rather inefficient and were done with more code
than necessary. This change optimizes them to use expansions more
similar to GCC. The code size is the same (when optimizing for code
size) but somehow LLVM reorders blocks in a non-optimal way. Still, this
should be an improvement with a reduction in code size of around 0.12%
(when building compiler-rt).

---

I made this patch to get more familiar with these inline expansions, in the hope that I can also do the other expansions inline (such as 32-bit shifts).


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D86418

Files:
  llvm/lib/Target/AVR/AVRISelLowering.cpp
  llvm/test/CodeGen/AVR/rot.ll
  llvm/test/CodeGen/AVR/shift.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D86418.287251.patch
Type: text/x-patch
Size: 6257 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200823/14f4261a/attachment.bin>


More information about the llvm-commits mailing list