Remove invalid assert in DAGTypeLegalizer::RemapValue
authorHal Finkel <hfinkel@anl.gov>
Mon, 15 Jul 2013 18:57:05 +0000 (18:57 +0000)
committerHal Finkel <hfinkel@anl.gov>
Mon, 15 Jul 2013 18:57:05 +0000 (18:57 +0000)
commitd1654a769c06d20595398565de055b5ab3ede1f9
treeb3756a3ba66376cd71d64592d91e96d0ee9b5aaa
parentf7b6f55e4cddc41c7dfbd952f5a48ed9b26c3a79
Remove invalid assert in DAGTypeLegalizer::RemapValue

There is a comment at the top of DAGTypeLegalizer::PerformExpensiveChecks
which, in part, says:

  // Note that these invariants may not hold momentarily when processing a node:
  // the node being processed may be put in a map before being marked Processed.

Unfortunately, this assert would be valid only if the above-mentioned invariant
held unconditionally. This was causing llc to assert when, in fact,
everything was fine.

Thanks to Richard Sandiford for investigating this issue!

Fixes PR16562.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186338 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/SelectionDAG/LegalizeTypes.cpp
test/CodeGen/PowerPC/remap-crash.ll [new file with mode: 0644]