[PATCH] D39267: [GISel]: Change Legalization from top down to bottom up + DCE

Aditya Nandakumar via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Oct 24 17:30:52 PDT 2017


aditya_nandakumar created this revision.
Herald added subscribers: igorb, javed.absar.

This patch changes the legalization order from top down to bottom up.
Also, this deletes trivially dead instructions while legalizing.
Additionally, the LegalizationCombiner tries to clean up artifacts before legalizeInstrStep. This lets the combiner clean up redundant extends/truncs before letting the target deal with them. This simplifies the legalization loop a little - where we don't need to have a separate list to track new legalization artifacts for  combines - as we can try to clean up every artifact (vs just new ones).

I have updated AArch backend with this patch.


Repository:
  rL LLVM

https://reviews.llvm.org/D39267

Files:
  include/llvm/CodeGen/GlobalISel/LegalizerCombiner.h
  lib/CodeGen/GlobalISel/Legalizer.cpp
  test/CodeGen/AArch64/GlobalISel/arm64-fallback.ll
  test/CodeGen/AArch64/GlobalISel/legalize-add.mir
  test/CodeGen/AArch64/GlobalISel/legalize-and.mir
  test/CodeGen/AArch64/GlobalISel/legalize-cmp.mir
  test/CodeGen/AArch64/GlobalISel/legalize-combines.mir
  test/CodeGen/AArch64/GlobalISel/legalize-constant.mir
  test/CodeGen/AArch64/GlobalISel/legalize-div.mir
  test/CodeGen/AArch64/GlobalISel/legalize-ext.mir
  test/CodeGen/AArch64/GlobalISel/legalize-extracts.mir
  test/CodeGen/AArch64/GlobalISel/legalize-fcmp.mir
  test/CodeGen/AArch64/GlobalISel/legalize-fptoi.mir
  test/CodeGen/AArch64/GlobalISel/legalize-inserts.mir
  test/CodeGen/AArch64/GlobalISel/legalize-itofp.mir
  test/CodeGen/AArch64/GlobalISel/legalize-load-store.mir
  test/CodeGen/AArch64/GlobalISel/legalize-mul.mir
  test/CodeGen/AArch64/GlobalISel/legalize-nonpowerof2eltsvec.mir
  test/CodeGen/AArch64/GlobalISel/legalize-or.mir
  test/CodeGen/AArch64/GlobalISel/legalize-phi.mir
  test/CodeGen/AArch64/GlobalISel/legalize-pow.mir
  test/CodeGen/AArch64/GlobalISel/legalize-rem.mir
  test/CodeGen/AArch64/GlobalISel/legalize-shift.mir
  test/CodeGen/AArch64/GlobalISel/legalize-simple.mir
  test/CodeGen/AArch64/GlobalISel/legalize-sub.mir
  test/CodeGen/AArch64/GlobalISel/legalize-undef.mir
  test/CodeGen/AArch64/GlobalISel/legalize-xor.mir

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D39267.120156.patch
Type: text/x-patch
Size: 86456 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20171025/b621a826/attachment.bin>


More information about the llvm-commits mailing list