[all-commits] [llvm/llvm-project] e1cbfe: [X86] Add flag result VT to a MOV32r0 created in X...

topperc via All-commits all-commits at lists.llvm.org
Sun Feb 9 13:33:38 PST 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: e1cbfecdb866211a8f4f51064e96c200b278232b
      https://github.com/llvm/llvm-project/commit/e1cbfecdb866211a8f4f51064e96c200b278232b
  Author: Craig Topper <craig.topper at gmail.com>
  Date:   2020-02-09 (Sun, 09 Feb 2020)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelDAGToDAG.cpp

  Log Message:
  -----------
  [X86] Add flag result VT to a MOV32r0 created in X86DAGToDAGISel::Select

The flag isn't used, but I believe this matches the MOV32r0 that
would be created by the table emitter. This should allow this node
to be CSEed with any others created by the table.


  Commit: 656d66f5fc51ce6003b1ef114d6806168fb1f159
      https://github.com/llvm/llvm-project/commit/656d66f5fc51ce6003b1ef114d6806168fb1f159
  Author: Craig Topper <craig.topper at gmail.com>
  Date:   2020-02-09 (Sun, 09 Feb 2020)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelDAGToDAG.cpp
    M llvm/lib/Target/X86/X86InstrCompiler.td
    M llvm/test/CodeGen/X86/shl-crash-on-legalize.ll

  Log Message:
  -----------
  [X86] Use custom isel for (X86sbb_flag 0, 0) so we can use 32-bit SBB for i8/i16.

We were using MOV32r0 and an extract_subreg as an input. By using
custom isel we can move the extract_subreg to after the SBB instead
of on the input.


Compare: https://github.com/llvm/llvm-project/compare/e82e17d4d4ca...656d66f5fc51


More information about the All-commits mailing list