diff options
author | Matthias Braun <matze@braunis.de> | 2018-01-11 21:57:03 +0000 |
---|---|---|
committer | Matthias Braun <matze@braunis.de> | 2018-01-11 21:57:03 +0000 |
commit | 08abcac9dc0fada5af47e7001732ddd9e4de7f9c (patch) | |
tree | 8bdf80e7eab0792818b2c1a4dd9acd68e08460da /lldb/packages/Python/lldbsuite/test/sample_test/TestSampleInlineTest.py | |
parent | 5223b5d9d656e6e3e5d851d8c4209e0a7f94dadf (diff) | |
download | bcm5719-llvm-08abcac9dc0fada5af47e7001732ddd9e4de7f9c.tar.gz bcm5719-llvm-08abcac9dc0fada5af47e7001732ddd9e4de7f9c.zip |
PeepholeOptimizer: Do not form PHI with subreg arguments
When replacing a PHI the PeepholeOptimizer currently takes the register
class of the register at the first operand. This however is not correct
if this argument has a subregister index.
As there is currently no API to query the register class resulting from
applying a subregister index to all registers in a class, we can only
abort in these cases and not perform the transformation.
This changes findNextSource() to require the end of all copy chains to
not use a subregister if there is any PHI in the chain. I had to rewrite
the overly complicated inner loop there to have a good place to insert
the new check.
This fixes https://llvm.org/PR33071 (aka rdar://32262041)
Differential Revision: https://reviews.llvm.org/D40758
llvm-svn: 322313
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test/sample_test/TestSampleInlineTest.py')
0 files changed, 0 insertions, 0 deletions