summaryrefslogtreecommitdiffstats
path: root/lldb/packages/Python/lldbsuite/test/expression_command/call-function/main.cpp
diff options
context:
space:
mode:
authorSanjay Patel <spatel@rotateright.com>2018-01-19 16:37:25 +0000
committerSanjay Patel <spatel@rotateright.com>2018-01-19 16:37:25 +0000
commit74a1eef7c4f73bcb7d6fe923ca20f301e638edba (patch)
tree8ccde404d2664288f0f477a4b6f1727f9ffbd98d /lldb/packages/Python/lldbsuite/test/expression_command/call-function/main.cpp
parent412ed095f79b93cb63687150b292a1089a8c9854 (diff)
downloadbcm5719-llvm-74a1eef7c4f73bcb7d6fe923ca20f301e638edba.tar.gz
bcm5719-llvm-74a1eef7c4f73bcb7d6fe923ca20f301e638edba.zip
[x86] shrink 'and' immediate values by setting the high bits (PR35907)
Try to reverse the constant-shrinking that happens in SimplifyDemandedBits() for 'and' masks when it results in a smaller sign-extended immediate. We are also able to detect dead 'and' ops here (the mask is all ones). In that case, we replace and return without selecting the 'and'. Other targets might want to share some of this logic by enabling this under a target hook, but I didn't see diffs for simple cases with PowerPC or AArch64, so they may already have some specialized logic for this kind of thing or have different needs. This should solve PR35907: https://bugs.llvm.org/show_bug.cgi?id=35907 Differential Revision: https://reviews.llvm.org/D42088 llvm-svn: 322957
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test/expression_command/call-function/main.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud