OSDN Git Service

[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)
commitee767fe2d2d742630d2fd40f91f3c54e35cc0668
tree0407bf7c3b6a31ce8b0bb7da15799b74fd46a323
parentc2171eb3ffb0aaa845de15437cadf2a298f1ea61
[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)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@176384 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/Mips/MipsCondMov.td
lib/Target/Mips/MipsISelDAGToDAG.cpp
lib/Target/Mips/MipsInstrInfo.td
test/CodeGen/Mips/cmov.ll
test/CodeGen/Mips/mips64-f128.ll