[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