[PATCH] D32563: Add LiveRangeShrink pass to shrink live range within BB.
Dehao Chen via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri May 19 16:00:19 PDT 2017
danielcdh updated this revision to Diff 99641.
danielcdh added a comment.
Updated the implementation and tests:
1. Do not hoist instructions if its def MO does not share the same register class with the use MO.
2. Include both instruction order and MI in the use map. Using instruction order alone is not good enough because when instruction get hoisted, its order will be the same as the next instruction. In this case, we need to ensure the insertion point is after the last barrier, i.e. last instruction MO (implicitly defined by MI) has been used.
PTAL, Thanks!
https://reviews.llvm.org/D32563
Files:
include/llvm/CodeGen/Passes.h
include/llvm/InitializePasses.h
lib/CodeGen/CMakeLists.txt
lib/CodeGen/CodeGen.cpp
lib/CodeGen/LiveRangeShrink.cpp
lib/Target/X86/X86TargetMachine.cpp
test/CodeGen/X86/2007-01-08-InstrSched.ll
test/CodeGen/X86/avg.ll
test/CodeGen/X86/avx.ll
test/CodeGen/X86/avx512-cmp-kor-sequence.ll
test/CodeGen/X86/avx512-gather-scatter-intrin.ll
test/CodeGen/X86/avx512-intrinsics-upgrade.ll
test/CodeGen/X86/avx512-intrinsics.ll
test/CodeGen/X86/avx512-mask-spills.ll
test/CodeGen/X86/avx512bw-intrinsics-upgrade.ll
test/CodeGen/X86/avx512bw-intrinsics.ll
test/CodeGen/X86/avx512bwvl-intrinsics-upgrade.ll
test/CodeGen/X86/avx512cdvl-intrinsics-upgrade.ll
test/CodeGen/X86/avx512cdvl-intrinsics.ll
test/CodeGen/X86/avx512dq-intrinsics-upgrade.ll
test/CodeGen/X86/avx512dq-intrinsics.ll
test/CodeGen/X86/avx512dqvl-intrinsics-upgrade.ll
test/CodeGen/X86/avx512dqvl-intrinsics.ll
test/CodeGen/X86/avx512ifma-intrinsics.ll
test/CodeGen/X86/avx512ifmavl-intrinsics.ll
test/CodeGen/X86/avx512vl-intrinsics-upgrade.ll
test/CodeGen/X86/avx512vl-intrinsics.ll
test/CodeGen/X86/bswap_tree2.ll
test/CodeGen/X86/fold-tied-op.ll
test/CodeGen/X86/fp128-i128.ll
test/CodeGen/X86/lrshrink.ll
test/CodeGen/X86/madd.ll
test/CodeGen/X86/misched-matrix.ll
test/CodeGen/X86/oddshuffles.ll
test/CodeGen/X86/pmul.ll
test/CodeGen/X86/rotate.ll
test/CodeGen/X86/sad.ll
test/CodeGen/X86/select.ll
test/CodeGen/X86/setcc-wide-types.ll
test/CodeGen/X86/shrink_vmul_sse.ll
test/CodeGen/X86/sse41.ll
test/CodeGen/X86/vector-bitreverse.ll
test/CodeGen/X86/vector-blend.ll
test/CodeGen/X86/x86-interleaved-access.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D32563.99641.patch
Type: text/x-patch
Size: 275791 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170519/30a2eb8d/attachment-0001.bin>
More information about the llvm-commits
mailing list