[PATCH] D37559: [X86FixupBWInsts] More presise register liveness if no <imp-use> on MOVs.

Andrei Elovikov via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Sep 7 04:07:34 PDT 2017


a.elovikov created this revision.
Herald added a subscriber: hiraditya.

Subregister liveness tracking is not implemented for X86 backend, so
sometimes the whole super register is said to be live, when only a
subregister is really live. That might happen if the def and the use
are located in different MBBs, see added fixup-bw-isnt.mir test.

However, using knowledge of the specific instructions handled by the
bw-fixup-pass we can get more precise liveness information which this
change does.


https://reviews.llvm.org/D37559

Files:
  llvm/lib/Target/X86/X86FixupBWInsts.cpp
  llvm/test/CodeGen/X86/avx-intrinsics-fast-isel.ll
  llvm/test/CodeGen/X86/avx2-vbroadcast.ll
  llvm/test/CodeGen/X86/avx512-intrinsics-fast-isel.ll
  llvm/test/CodeGen/X86/avx512bw-intrinsics-upgrade.ll
  llvm/test/CodeGen/X86/avx512bw-intrinsics.ll
  llvm/test/CodeGen/X86/avx512bwvl-intrinsics-fast-isel.ll
  llvm/test/CodeGen/X86/bitreverse.ll
  llvm/test/CodeGen/X86/cmov.ll
  llvm/test/CodeGen/X86/fixup-bw-inst.mir
  llvm/test/CodeGen/X86/pr32345.ll
  llvm/test/CodeGen/X86/pr32420.ll
  llvm/test/CodeGen/X86/pr34137.ll
  llvm/test/CodeGen/X86/select.ll
  llvm/test/CodeGen/X86/sse2-intrinsics-fast-isel.ll
  llvm/test/CodeGen/X86/vector-half-conversions.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D37559.114148.patch
Type: text/x-patch
Size: 79504 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170907/345a66f2/attachment.bin>


More information about the llvm-commits mailing list