[PATCH] D65354: [X86] Let MachineCombiner reassociate adds for ILP
Philip Reames via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Jul 26 15:50:04 PDT 2019
reames created this revision.
reames added reviewers: craig.topper, spatel.
Herald added subscribers: bollu, mcrosier.
Herald added a project: LLVM.
It turns out that we don't even try to reassociate add chains into trees in MachineCombiner. Unless we've happened to convert them to ORs or have vectorized them that is. I can't find any principled reason for this omission. Is there something I'm missing?
(Tests needs cleaned up. This is just an auto-gen run to give a flavour of some of the changes which result. There's also a huge number of spurious changes which need removed due to tests not originally being auto-gened at all. I'll iterate on that if the direction is judged reasonable.)
Repository:
rL LLVM
https://reviews.llvm.org/D65354
Files:
lib/Target/X86/X86InstrInfo.cpp
test/CodeGen/X86/DynamicCalleeSavedRegisters.ll
test/CodeGen/X86/alias-static-alloca.ll
test/CodeGen/X86/avx512-intrinsics-x86_64.ll
test/CodeGen/X86/avx512-intrinsics.ll
test/CodeGen/X86/avx512-regcall-Mask.ll
test/CodeGen/X86/avx512-regcall-NoMask.ll
test/CodeGen/X86/avx512bw-intrinsics-upgrade.ll
test/CodeGen/X86/fold-tied-op.ll
test/CodeGen/X86/h-registers-1.ll
test/CodeGen/X86/hipe-cc.ll
test/CodeGen/X86/hipe-cc64.ll
test/CodeGen/X86/imul.ll
test/CodeGen/X86/lea-opt-cse4.ll
test/CodeGen/X86/lrshrink.ll
test/CodeGen/X86/machine-combiner-int.ll
test/CodeGen/X86/midpoint-int.ll
test/CodeGen/X86/misched-balance.ll
test/CodeGen/X86/misched-matrix.ll
test/CodeGen/X86/mul-constant-i16.ll
test/CodeGen/X86/mul-constant-i32.ll
test/CodeGen/X86/mul-constant-i64.ll
test/CodeGen/X86/mul-constant-i8.ll
test/CodeGen/X86/mul-i1024.ll
test/CodeGen/X86/mul-i256.ll
test/CodeGen/X86/mul-i512.ll
test/CodeGen/X86/mul128.ll
test/CodeGen/X86/mul64.ll
test/CodeGen/X86/popcnt.ll
test/CodeGen/X86/pr34080-2.ll
test/CodeGen/X86/pr36865.ll
test/CodeGen/X86/smul_fix.ll
test/CodeGen/X86/statepoint-live-in.ll
test/CodeGen/X86/swift-return.ll
test/CodeGen/X86/twoaddr-lea.ll
test/CodeGen/X86/umul_fix.ll
test/CodeGen/X86/vp2intersect_multiple_pairs.ll
test/CodeGen/X86/win-smallparams.ll
test/CodeGen/X86/x86-no_caller_saved_registers-preserve.ll
test/DebugInfo/X86/live-debug-variables.ll
More information about the llvm-commits
mailing list