[mips] Account for constant-zero operands in ADDE nodes.
authorVasileios Kalintiris <Vasileios.Kalintiris@imgtec.com>
Fri, 27 Feb 2015 09:01:39 +0000 (09:01 +0000)
committerVasileios Kalintiris <Vasileios.Kalintiris@imgtec.com>
Fri, 27 Feb 2015 09:01:39 +0000 (09:01 +0000)
commit18581f16b45896c04ba6dfa44559ccc0cc5226e7
treeb81bb6ffe9f205ba5934fe50819b3e10d82dce27
parent308062bd0dae3f25463a36d4208267422cc083da
[mips] Account for constant-zero operands in ADDE nodes.

Summary:
We identify the cases where the operand to an ADDE node is a constant
zero. In such cases, we can avoid generating an extra ADDu instruction
disguised as an identity move alias (ie. addu $r, $r, 0 --> move $r, $r).

Reviewers: dsanders

Subscribers: llvm-commits

Differential Revision: http://reviews.llvm.org/D7906

llvm-svn: 230742
llvm/lib/Target/Mips/MipsSEISelDAGToDAG.cpp
llvm/test/CodeGen/Mips/check-adde-redundant-moves.ll [new file with mode: 0644]