summaryrefslogtreecommitdiffstats
path: root/lldb/packages/Python/lldbsuite/test/python_api/thread
diff options
context:
space:
mode:
authorDavid Majnemer <david.majnemer@gmail.com>2016-01-28 18:20:05 +0000
committerDavid Majnemer <david.majnemer@gmail.com>2016-01-28 18:20:05 +0000
commit4543ff09a2ebece3ef95f94182b9a8dc750998ae (patch)
tree997951bae2b55fea41c80273bdb9f2b46537a276 /lldb/packages/Python/lldbsuite/test/python_api/thread
parentb0dd911f16a7a9914a1fa2e2073095a1a17b336a (diff)
downloadbcm5719-llvm-4543ff09a2ebece3ef95f94182b9a8dc750998ae.tar.gz
bcm5719-llvm-4543ff09a2ebece3ef95f94182b9a8dc750998ae.zip
[X86] Don't transform X << 1 to X + X during type legalization
While legalizing a 64-bit shift left by 1, the following occurs: We split the shift operand in half: a high half and a low half. We then create an ADDC with the low half and a ADDE with the high half + the carry bit from the ADDC. This is problematic if X is any_ext'd because the high half computation is now undef + undef + carry bit and there is no way to ensure that the two undef values had the same bitwise representation. This results in the lowest bit in the high half turning into garbage. Instead, do not try to turn shifts into arithmetic during type legalization. This fixes PR26350. llvm-svn: 259065
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test/python_api/thread')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud