[all-commits] [llvm/llvm-project] a3d489: [X86] Add a DAG combine for (i32 (sext (i8 (x86isd...

topperc via All-commits all-commits at lists.llvm.org
Tue Feb 4 22:42:53 PST 2020


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

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/lib/Target/X86/X86InstrCompiler.td
    M llvm/test/CodeGen/X86/copy-eflags.ll

  Log Message:
  -----------
  [X86] Add a DAG combine for (i32 (sext (i8 (x86isd::setcc_carry)))) -> (i32 (x86isd::setcc_carry)) and remove isel patterns.

Same for any_extend though we don't have coverage for that.

The test changes are because isel didn't check one use of the
setcc_carry. So in isel we would end up with two different
sized setcc_carry instructions. And since it clobbers
the flags we would need to recreate the flags for the second
instruction.

This code handles additional uses by truncating the new wide
setcc_carry back to the original size for those uses.




More information about the All-commits mailing list