Revert r162101 and replace it with a solution that works for targets where the pointe...
authorOwen Anderson <resistor@mac.com>
Wed, 22 Jan 2014 22:34:17 +0000 (22:34 +0000)
committerOwen Anderson <resistor@mac.com>
Wed, 22 Jan 2014 22:34:17 +0000 (22:34 +0000)
commit9920bd341a7f6ddb887c397d41328848aba43a8d
tree2eb6edc9c2086715748f14d1f3b793288afd74b6
parent4c72b6da97b27f2849017c282699ea94c575602e
Revert r162101 and replace it with a solution that works for targets where the pointer type is illegal.
This is a horrible bit of code.  We're calling a simplification routine *in the middle* of type legalization.  We tell the
simplification routine that it's running after legalization, but some of the types it will encounter will be illegal!  The
fix is only to invoke the simplification if the types in question were legal, so that none of its invariants will be violated.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@199847 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
lib/CodeGen/SelectionDAG/TargetLowering.cpp
test/CodeGen/X86/2012-08-17-legalizer-crash.ll