[all-commits] [llvm/llvm-project] 6c32a1: [SystemZ] Enable MachineCombiner for FP reassociat...

Jonas Paulsson via All-commits all-commits at lists.llvm.org
Tue Apr 30 08:10:16 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 6c32a1fdf712e58a324fc0f6e3dfc83ed7d56b1e
      https://github.com/llvm/llvm-project/commit/6c32a1fdf712e58a324fc0f6e3dfc83ed7d56b1e
  Author: Jonas Paulsson <paulson1 at linux.ibm.com>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

  Changed paths:
    M llvm/lib/Target/SystemZ/SystemZISelDAGToDAG.cpp
    M llvm/lib/Target/SystemZ/SystemZInstrFP.td
    M llvm/lib/Target/SystemZ/SystemZInstrInfo.cpp
    M llvm/lib/Target/SystemZ/SystemZInstrInfo.h
    M llvm/lib/Target/SystemZ/SystemZInstrVector.td
    M llvm/lib/Target/SystemZ/SystemZOperators.td
    M llvm/lib/Target/SystemZ/SystemZTargetMachine.cpp
    M llvm/test/CodeGen/SystemZ/anyregcc.ll
    A llvm/test/CodeGen/SystemZ/foldmem-peep.mir
    M llvm/test/CodeGen/SystemZ/fp-add-01.ll
    M llvm/test/CodeGen/SystemZ/fp-add-02.ll
    M llvm/test/CodeGen/SystemZ/fp-mul-01.ll
    M llvm/test/CodeGen/SystemZ/fp-mul-03.ll
    M llvm/test/CodeGen/SystemZ/fp-sub-01.ll
    M llvm/test/CodeGen/SystemZ/fp-sub-02.ll
    A llvm/test/CodeGen/SystemZ/machine-combiner-reassoc-fp.ll
    M llvm/test/CodeGen/SystemZ/stackmap.ll

  Log Message:
  -----------
  [SystemZ] Enable MachineCombiner for FP reassociation (#83546)

Enable MachineCombining for FP add, sub and mul.

In order for this to work, the default instruction selection of reg/mem opcodes is disabled for ISD nodes that carry the flags that allow reassociation. The reg/mem folding is instead done after MachineCombiner by PeepholeOptimizer. SystemZInstrInfo optimizeLoadInstr() and foldMemoryOperandImpl() ("LoadMI version") have been implemented for this purpose also by this patch.



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list