[PowerPC/QPX] Fix the load/splat peephole with overlapping reads
authorHal Finkel <hfinkel@anl.gov>
Sat, 30 Apr 2016 01:59:28 +0000 (01:59 +0000)
committerHal Finkel <hfinkel@anl.gov>
Sat, 30 Apr 2016 01:59:28 +0000 (01:59 +0000)
commit17e9754dd476f7f317f2a62f50c37da35fb0c5bd
tree7ead2cca1f7a93d7aa4c6862397d6abbfd72ead4
parentdc4531e552af6c880a69d226d3666756198fbdc8
[PowerPC/QPX] Fix the load/splat peephole with overlapping reads

If, in between the splat and the load (which does an implicit splat), there is
a read of the splat register, then that register must have another earlier
definition. In that case, we can't replace the load's destination register with
the splat's destination register.

Unfortunately, I don't have a small or non-fragile test case.

llvm-svn: 268152
llvm/lib/Target/PowerPC/PPCQPXLoadSplat.cpp