summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
diff options
context:
space:
mode:
authorRafael Espindola <rafael.espindola@gmail.com>2014-11-28 16:41:24 +0000
committerRafael Espindola <rafael.espindola@gmail.com>2014-11-28 16:41:24 +0000
commita96f235c157c40b58e12e813faf97d8bc1004aa2 (patch)
tree3f6f81dacefc83afc477ae8bc1b8c8da8964c71d /llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
parent3d0974105a8583fdb16e6b7c911f864a8848f962 (diff)
downloadbcm5719-llvm-a96f235c157c40b58e12e813faf97d8bc1004aa2.tar.gz
bcm5719-llvm-a96f235c157c40b58e12e813faf97d8bc1004aa2.zip
Add back r222727 with a fix.
The original patch would fail when: * A dst opaque type (%A) is matched with a src type (%A). * A src opaque (%E) type is then speculatively matched with %A and the speculation fails afterward. * When rolling back the speculation we would cancel the source %A to dest %A mapping. The fix is to keep an explicit list of which resolutions are speculative. Original message: Fix overly aggressive type merging. If we find out that two types are *not* isomorphic, we learn nothing about opaque sub types in both the source and destination. llvm-svn: 222923
Diffstat (limited to 'llvm/lib/Transforms/Vectorize/LoopVectorize.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud