[PATCH] D26521: [X86] Allow folding of reloads from stack slots when loading a subreg of the spilled reg

Michael Kuperstein via llvm-commits llvm-commits at lists.llvm.org
Thu Nov 10 13:18:19 PST 2016


mkuper created this revision.
mkuper added reviewers: RKSimon, craig.topper, zvi, MatzeB, wmi.
mkuper added a subscriber: llvm-commits.
Herald added a subscriber: qcolombet.

Currently we don't support subregs in InlineSpiller::foldMemoryOperand() because targets may not deal with them correctly.

It seems that X86, at least, already does the right thing when folding a load from a stack slot when it only needs the low (e.g. not "ah") subreg.

This fixes PR30832.


https://reviews.llvm.org/D26521

Files:
  include/llvm/Target/TargetInstrInfo.h
  lib/CodeGen/InlineSpiller.cpp
  lib/CodeGen/TargetInstrInfo.cpp
  lib/Target/X86/X86InstrInfo.cpp
  lib/Target/X86/X86InstrInfo.h
  test/CodeGen/X86/partial-fold.ll
  test/CodeGen/X86/vector-half-conversions.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D26521.77542.patch
Type: text/x-patch
Size: 9186 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20161110/894162b5/attachment.bin>


More information about the llvm-commits mailing list