[all-commits] [llvm/llvm-project] 6e20d7: [LegalizeDAG] Convert strict fp nodes to libcalls ...

topperc via All-commits all-commits at lists.llvm.org
Mon Nov 18 11:28:06 PST 2019


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 6e20d70a695028099b1705cfcfd1373d9d62e747
      https://github.com/llvm/llvm-project/commit/6e20d70a695028099b1705cfcfd1373d9d62e747
  Author: Craig Topper <craig.topper at intel.com>
  Date:   2019-11-18 (Mon, 18 Nov 2019)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
    M llvm/test/CodeGen/SystemZ/vector-constrained-fp-intrinsics.ll
    M llvm/test/CodeGen/X86/fp-intrinsics-fma.ll
    M llvm/test/CodeGen/X86/fp-intrinsics.ll
    M llvm/test/CodeGen/X86/vector-constrained-fp-intrinsics.ll

  Log Message:
  -----------
  [LegalizeDAG] Convert strict fp nodes to libcalls without losing the chain.

Previously we mutated the node and then converted it to a libcall. But this loses the chain information.

This patch keeps the chain, but unfortunately breaks tail call optimization as the functions involved in deciding if a node is in tail call position can't handle the chain. But correct ordering seems more important to be right.

Somehow the SystemZ tests improved. I looked at one of them and it seemed that we're handling the split vector elements in a different order and that made the copies work better.

Differential Revision: https://reviews.llvm.org/D70334




More information about the All-commits mailing list