diff options
author | Duncan Sands <baldrick@free.fr> | 2008-02-26 11:21:42 +0000 |
---|---|---|
committer | Duncan Sands <baldrick@free.fr> | 2008-02-26 11:21:42 +0000 |
commit | 212a11c417e272cc8fd12e66cfe5110c47559e17 (patch) | |
tree | 0238620a3d383a2c44cf96f4913892958190294f /test/lib | |
parent | 85db3a96b49e4fdb130b55f27e1d5596e771795a (diff) |
Fix a nasty bug in LegalizeTypes (spotted in
CodeGen/PowerPC/illegal-element-type.ll): suppose
a node X is processed, and processing maps it to
a node Y. Then X continues to exist in the DAG,
but with no users. While processing some other
node, a new node may be created that happens to
be equal to X, and thus X will be reused rather
than a truly new node. This can cause X to
"magically reappear", and since it is in the
Processed state in will not be reprocessed, so
at the end of type legalization the illegal node
X can still be present. The solution is to replace
X with Y whenever X gets resurrected like this.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47601 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/lib')
0 files changed, 0 insertions, 0 deletions