[all-commits] [llvm/llvm-project] f92000: [LegalizeDAG] When expanding vector SRA/SRL/SHL ad...

topperc via All-commits all-commits at lists.llvm.org
Mon Dec 2 23:08:03 PST 2019


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: f92000187e149a51900c05056ed644f43603fb66
      https://github.com/llvm/llvm-project/commit/f92000187e149a51900c05056ed644f43603fb66
  Author: Craig Topper <craig.topper at gmail.com>
  Date:   2019-12-02 (Mon, 02 Dec 2019)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp

  Log Message:
  -----------
  [LegalizeDAG] When expanding vector SRA/SRL/SHL add the new BUILD_VECTOR to the Results vector instead of just calling ReplaceNode

The code that processes the Results vector also calls ReplaceNode
and makes ExpandNode return true.

If we don't add it to the Results node, we end up returning false
from ExpandNode. This causes ConvertNodeToLibcall to be called next.
But ConvertNodeToLibcall doesn't do anything for shifts so they
just pass through unmodified. Except for printing a debug message.

Ultimately, I'd like to add more checks to ExpandNode and
ConvertNodeToLibcall to make sure we don't have nodes marked as
Expand that don't have any Expand or libcall handling.




More information about the All-commits mailing list