[PATCH] D30416: [BitfieldShrinking] Shrink Bitfields load/store when the bitfields are legal to access independently

Wei Mi via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Apr 3 16:44:07 PDT 2017


wmi updated this revision to Diff 93973.
wmi added a comment.
Herald added a reviewer: javed.absar.

- Address Chandler's comments.
- Fix unittest errors.
- Add unittest for load shrinking part. Add the original motivation case as a unittest.
- Add cost evaluation for the case when there is multiple use node inside the shrinking pattern.


Repository:
  rL LLVM

https://reviews.llvm.org/D30416

Files:
  include/llvm/CodeGen/Passes.h
  include/llvm/IR/PatternMatch.h
  include/llvm/InitializePasses.h
  include/llvm/LinkAllPasses.h
  include/llvm/Target/TargetLowering.h
  lib/CodeGen/CMakeLists.txt
  lib/CodeGen/CodeGen.cpp
  lib/CodeGen/MemAccessShrinking.cpp
  lib/CodeGen/TargetPassConfig.cpp
  lib/Target/AArch64/AArch64ISelLowering.cpp
  lib/Target/AArch64/AArch64ISelLowering.h
  lib/Target/ARM/ARMISelLowering.cpp
  lib/Target/ARM/ARMISelLowering.h
  lib/Target/X86/X86ISelLowering.cpp
  lib/Target/X86/X86ISelLowering.h
  test/CodeGen/AArch64/arm64-fast-isel-conversion.ll
  test/CodeGen/AArch64/arm64-fast-isel-gv.ll
  test/CodeGen/ARM/illegal-bitfield-loadstore.ll
  test/CodeGen/ARM/load-shrink.ll
  test/CodeGen/ARM/store-shrink.ll
  test/CodeGen/X86/2008-09-11-CoalescerBug2.ll
  test/CodeGen/X86/constant-combines.ll
  test/CodeGen/X86/i16lshr8pat.ll
  test/CodeGen/X86/illegal-bitfield-loadstore.ll
  test/CodeGen/X86/load-shrink.ll
  test/CodeGen/X86/load-slice.ll
  test/CodeGen/X86/lsr-loop-exit-cond.ll
  test/CodeGen/X86/mem-access-shrink.ll
  test/CodeGen/X86/store-shrink.ll
  tools/opt/opt.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D30416.93973.patch
Type: text/x-patch
Size: 110327 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170403/ba4a58d3/attachment-0001.bin>


More information about the llvm-commits mailing list