[PATCH] D41293: [DAG] Improve multi-chain merging in ISel
Nirav Dave via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Dec 15 08:34:30 PST 2017
niravd created this revision.
niravd added reviewers: craig.topper, bogner.
Herald added a subscriber: hiraditya.
Simplify cycle and generalize validity checks in ISel (HandleMergeInputChains,
findNonImmUse) enabling some instruction matches. Also, we now catch loops going
through indirect chain dependencies earlier in ISel matching.
These two checks should be now use the DAG predecessor framework and should be
mergable into a single cheaper check.
As part of this propogate the NodeId-based cutoffs to narrow
hasPreprocessorHelper searches.
https://reviews.llvm.org/D41293
Files:
llvm/include/llvm/CodeGen/SelectionDAGNodes.h
llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
llvm/test/CodeGen/X86/2012-01-16-mfence-nosse-flags.ll
llvm/test/CodeGen/X86/avx-vbroadcast.ll
llvm/test/CodeGen/X86/avx-vbroadcastf128.ll
llvm/test/CodeGen/X86/avx2-vbroadcast.ll
llvm/test/CodeGen/X86/avx2-vbroadcasti128.ll
llvm/test/CodeGen/X86/avx512-vbroadcasti128.ll
llvm/test/CodeGen/X86/i256-add.ll
llvm/test/CodeGen/X86/masked_memop.ll
llvm/test/CodeGen/X86/merge-consecutive-stores.ll
llvm/test/CodeGen/X86/nontemporal.ll
llvm/test/CodeGen/X86/store_op_load_fold2.ll
llvm/test/CodeGen/X86/subvector-broadcast.ll
llvm/test/CodeGen/X86/var-permute-256.ll
llvm/test/CodeGen/X86/vector-shuffle-variable-256.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D41293.127139.patch
Type: text/x-patch
Size: 66505 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20171215/8e1a3047/attachment-0001.bin>
More information about the llvm-commits
mailing list