Commits

Michael Gottesman committed d8d13936111
Implement SILInstruction::isIdenticalTo for all literal types in preparation for CSE. The code here is a simple checklist. It performs the following checks in order: 1. Quick check to see if the kind/number of operands/number of types match up. 2. Comparison all of the types/operands. 3. Finally use a switch to perform specialized per instruction comparisons on state not represented in the instructions types/operands (i.e. vardecls, structdecls, etc.). Additionally the switch is setup so that instructions which have not been fully implemented in the switch will cause an unreachable to be hit. Once all instructions have isIdenticalTo implementations (implying the switch is covered), I will remove the unreachable. *NOTE* The primary use case for this now is CSE. In CSE we can control which instructions we process so during the review process I am only going to process literals for the sake of simplicity (and thus this patch contains only code for checking literals). Swift SVN r10743