Add TwoAddressInstructionPass to handle instructions that have two or
authorAlkis Evlogimenos <alkis@evlogimenos.com>
Thu, 18 Dec 2003 13:06:04 +0000 (13:06 +0000)
committerAlkis Evlogimenos <alkis@evlogimenos.com>
Thu, 18 Dec 2003 13:06:04 +0000 (13:06 +0000)
commit71499ded4d76233f3b605638b539548bea8bb2f1
tree04520306a552034b6b22a36d10a52c55c9d70f46
parent485ec3c21efcb6388911f654a187c49ad04e86e6
Add TwoAddressInstructionPass to handle instructions that have two or
more operands and the two first operands are constrained to be the
same. The pass takes an instruction of the form:

        a = b op c

and transforms it into:

        a = b
        a = a op c

and also preserves live variables.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10512 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/CodeGen/LiveVariables.h
include/llvm/CodeGen/TwoAddressInstructionPass.h [new file with mode: 0644]
lib/CodeGen/TwoAddressInstructionPass.cpp [new file with mode: 0644]