[all-commits] [llvm/llvm-project] 15e283: [X86] Explicitly pass Pointer, MachinePointerInfo ...

topperc via All-commits all-commits at lists.llvm.org
Wed Feb 26 16:28:14 PST 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 15e2831fcd7e58db12d110f1624085d1e683e4a6
      https://github.com/llvm/llvm-project/commit/15e2831fcd7e58db12d110f1624085d1e683e4a6
  Author: Craig Topper <craig.topper at intel.com>
  Date:   2020-02-26 (Wed, 26 Feb 2020)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/lib/Target/X86/X86ISelLowering.h

  Log Message:
  -----------
  [X86] Explicitly pass Pointer, MachinePointerInfo and Alignment to BuildFILD.

Previously this code was called into two ways, either a FrameIndexSDNode
was passed in StackSlot. Or a load node was passed in the argument
called StackSlot. This was determined by a dyn_cast to FrameIndexSDNode.

In the case of a load, we had to go find the real pointer from
operand 0 and cast the node to MemSDNode to find the pointer info.

For the stack slot case, the code assumed that the stack slot
was perfectly aligned despite not being the creator of the slot.

This commit modifies the interface to make the caller responsible
for passing all of the required information to avoid all the
guess work and reverse engineering.

I'm not aware of any issues with the original code after an
earlier commit to fix the alignment of one of the stack objects.
This is just clean up to make the code less surprising.


  Commit: 870363a22d398fa2aee5b3d3ddf14b99b26923c5
      https://github.com/llvm/llvm-project/commit/870363a22d398fa2aee5b3d3ddf14b99b26923c5
  Author: Craig Topper <craig.topper at intel.com>
  Date:   2020-02-26 (Wed, 26 Feb 2020)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/lib/Target/X86/X86ISelLowering.h

  Log Message:
  -----------
  [X86] Explicitly pass Destination VT and debug location to BuildFILD. NFC

We'd already passed most everything else. Might was well pass
these two things and stop passing Op.


Compare: https://github.com/llvm/llvm-project/compare/12339efd7096...870363a22d39


More information about the All-commits mailing list