[all-commits] [llvm/llvm-project] 1dc2f2: [SelectionDAG] ComputeKnownBits - assert we're com...

Simon Pilgrim via All-commits all-commits at lists.llvm.org
Fri Jan 17 06:17:56 PST 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 1dc2f257903d3fcb323425eefb5d9b57a0cbdd96
      https://github.com/llvm/llvm-project/commit/1dc2f257903d3fcb323425eefb5d9b57a0cbdd96
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2020-01-17 (Fri, 17 Jan 2020)

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

  Log Message:
  -----------
  [SelectionDAG] ComputeKnownBits - assert we're computing the 0'th (difference) result for the SUB/SUBC cases

Matches what we already do for the ADD/ADDC/ADDE case.


  Commit: 8eb4d25a0943bce6e8a4859825dce4f67a4f6384
      https://github.com/llvm/llvm-project/commit/8eb4d25a0943bce6e8a4859825dce4f67a4f6384
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2020-01-17 (Fri, 17 Jan 2020)

  Changed paths:
    M llvm/lib/Target/X86/X86InstrAVX512.td
    M llvm/lib/Target/X86/X86InstrSSE.td
    M llvm/lib/Target/X86/X86SchedBroadwell.td
    M llvm/lib/Target/X86/X86SchedHaswell.td
    M llvm/lib/Target/X86/X86SchedSandyBridge.td
    M llvm/lib/Target/X86/X86SchedSkylakeClient.td
    M llvm/lib/Target/X86/X86SchedSkylakeServer.td
    M llvm/lib/Target/X86/X86Schedule.td
    M llvm/lib/Target/X86/X86ScheduleAtom.td
    M llvm/lib/Target/X86/X86ScheduleBdVer2.td
    M llvm/lib/Target/X86/X86ScheduleBtVer2.td
    M llvm/lib/Target/X86/X86ScheduleSLM.td
    M llvm/lib/Target/X86/X86ScheduleZnver1.td
    M llvm/lib/Target/X86/X86ScheduleZnver2.td

  Log Message:
  -----------
  [X86] Split X87/SSE compare classes into WriteFCom + WriteFComX

Most X87 compare instructions write to the X87 status word, while the SSE (U)COMI compares write to rFLAGS. These are often handled very differently on CPUs (e.g. rFLAGS outputs typically involve a fpu2gpr transfer), and we shouldn't be grouping all these instructions behind a single class - so this patch splits off the SSE compares into a new WriteFComX class (and currently keeps the same behaviours). If there's a need to distinguish between X87 instructions more closely we can investigate that in the future, but as we don't handle any of the X87 side effects at the moment its unlikely to have any notable effect.


Compare: https://github.com/llvm/llvm-project/compare/73db4f6f11f0...8eb4d25a0943


More information about the All-commits mailing list