summaryrefslogtreecommitdiffstats
path: root/lldb/packages/Python/lldbsuite/test/python_api/symbol-context
diff options
context:
space:
mode:
authorEvgeniy Stepanov <eugeni.stepanov@gmail.com>2019-08-30 17:23:02 +0000
committerEvgeniy Stepanov <eugeni.stepanov@gmail.com>2019-08-30 17:23:02 +0000
commit04647f5e222b21b9ff178abf77fbdcb4577a7979 (patch)
treef199e6c0904b4448761b201eb8a9868fb18fe82c /lldb/packages/Python/lldbsuite/test/python_api/symbol-context
parentab8cb1a3c5257351f4875b14aebffb608e533f87 (diff)
downloadbcm5719-llvm-04647f5e222b21b9ff178abf77fbdcb4577a7979.tar.gz
bcm5719-llvm-04647f5e222b21b9ff178abf77fbdcb4577a7979.zip
MemTag: unchecked load/store optimization.
Summary: MTE allows memory access to bypass tag check iff the address argument is [SP, #imm]. This change takes advantage of this to demote uses of tagged addresses to regular FrameIndex operands, reducing register pressure in large functions. MO_TAGGED target flag is used to signal that the FrameIndex operand refers to memory that might be tagged, and needs to be handled with care. Such operand must be lowered to [SP, #imm] directly, without a scratch register. The transformation pass attempts to predict when the offset will be out of range and disable the optimization. AArch64RegisterInfo::eliminateFrameIndex has an escape hatch in case this prediction has been wrong, but it is quite inefficient and should be avoided. Reviewers: pcc, vitalybuka, ostannard Subscribers: mgorny, javed.absar, kristof.beyls, hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D66457 llvm-svn: 370490
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test/python_api/symbol-context')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud