[PATCH] D16933: [AArch64] Merge two adjacent str WZR into str XZR

Jun Bum Lim via llvm-commits llvm-commits at lists.llvm.org
Fri Feb 5 14:15:10 PST 2016


junbuml created this revision.
junbuml added reviewers: mcrosier, t.p.northover, jmolloy, gberry.
junbuml added a subscriber: llvm-commits.
Herald added subscribers: mcrosier, rengolin, aemerson.


This change merges adjacent 32 bit zero stores into a 64 bit zero store.
e.g.,
  str wzr, [x0]
  str wzr, [x0, #4]
becomes
  str xzr, [x0]

Therefore, four adjacent 32 bit zero stores will be a single stp.
e.g.,
  str wzr, [x0]
  str wzr, [x0, #4]
  str wzr, [x0, #8]
  str wzr, [x0, #12]
becomes
  stp xzr, xzr, [x0]



http://reviews.llvm.org/D16933

Files:
  lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp
  test/CodeGen/AArch64/arm64-narrow-ldst-merge.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D16933.47044.patch
Type: text/x-patch
Size: 7472 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160205/9ea773e3/attachment.bin>


More information about the llvm-commits mailing list