[all-commits] [llvm/llvm-project] b172cd: [Statepoint] Factor out logic for non-stack non-vr...

Philip Reames via All-commits all-commits at lists.llvm.org
Tue Jul 7 13:34:52 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: b172cd7812405beaa9db817d85ac1458f7e31547
      https://github.com/llvm/llvm-project/commit/b172cd7812405beaa9db817d85ac1458f7e31547
  Author: Philip Reames <listmail at philipreames.com>
  Date:   2020-07-07 (Tue, 07 Jul 2020)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/StatepointLowering.cpp
    M llvm/test/CodeGen/X86/statepoint-vector.ll

  Log Message:
  -----------
  [Statepoint] Factor out logic for non-stack non-vreg lowering [almost NFC]

This is inspired by D81648.  The basic idea is to have the set of SDValues which are lowered as either constants or direct frame references explicit in one place, and to separate them clearly from the spilling logic.

This is not NFC in that the handling of constants larger than > 64 bit has changed.  The old lowering would crash on values which could not be encoded as a sign extended 64 bit value.  The new lowering just spills all constants > 64 bits.  We could be consistent about doing the sext(Con64) optimization, but I happen to know that this code path is utterly unexercised in practice, so simple is better for now.




More information about the All-commits mailing list