[PATCH] D16980: [SDAG] Improve merging of constant stores

Anton Nadolskiy via llvm-commits llvm-commits at lists.llvm.org
Mon Feb 8 04:59:17 PST 2016


anadolskiy created this revision.
anadolskiy added reviewers: DavidKreitzer, resistor.
anadolskiy added a subscriber: llvm-commits.

I tried to improve merging of constant stores. In particular, cases like this (x86):

movb (%esp)
movb 1(%esp)   ->   movw  (%esp)
mov    2(%esp)         mov    2(%esp)

Also there is opportunity to go further:

movb (%esp)
movb 1(%esp)   ->   movw     (%esp)   -> mov (%esp)
movw    2(%esp)      movw    2(%esp)

but after first merge a token node comes up in chain and I'm not sure how to process it properly.

http://reviews.llvm.org/D16980

Files:
  lib/CodeGen/SelectionDAG/DAGCombiner.cpp
  test/CodeGen/X86/dag-merge-fast-accesses.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D16980.47176.patch
Type: text/x-patch
Size: 3554 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160208/aa6888cb/attachment.bin>


More information about the llvm-commits mailing list