[mips] Fix inefficient code generation.
authorAkira Hatanaka <ahatanaka@mips.com>
Fri, 1 Mar 2013 21:52:08 +0000 (21:52 +0000)
committerAkira Hatanaka <ahatanaka@mips.com>
Fri, 1 Mar 2013 21:52:08 +0000 (21:52 +0000)
commitece459bb661f4324f478b6a5b9335be497484735
tree632f69cdba7d8bafe2f1f660c04e95de5f72cb59
parentb33185019401071cebf3c58546fe6bc1b19c6271
[mips] Fix inefficient code generation.

This patch eliminates the need to emit a constant move instruction when this
pattern is matched:

(select (setgt a, Constant), T, F)

The pattern above effectively turns into this:

(conditional-move (setlt a, Constant + 1), F, T)

llvm-svn: 176384
llvm/lib/Target/Mips/MipsCondMov.td
llvm/lib/Target/Mips/MipsISelDAGToDAG.cpp
llvm/lib/Target/Mips/MipsInstrInfo.td
llvm/test/CodeGen/Mips/cmov.ll
llvm/test/CodeGen/Mips/mips64-f128.ll