diff options
| author | Sean Fertile <sfertile@ca.ibm.com> | 2018-09-20 00:26:44 +0000 |
|---|---|---|
| committer | Sean Fertile <sfertile@ca.ibm.com> | 2018-09-20 00:26:44 +0000 |
| commit | 7f3f05e0b78f00ad8df0f0222b4b1589dea85610 (patch) | |
| tree | 49d59dc6bb5bc64fb0caf2fb3ef7498426643bf7 /lldb/packages/Python/lldbsuite/test/functionalities | |
| parent | 04d38c5f527d06e43aad5bba55d2eb2f8131e0f5 (diff) | |
| download | bcm5719-llvm-7f3f05e0b78f00ad8df0f0222b4b1589dea85610.tar.gz bcm5719-llvm-7f3f05e0b78f00ad8df0f0222b4b1589dea85610.zip | |
[PPC64] Optimize redundant instructions in global access sequences.
The access sequence for global variables in the medium and large code models use
2 instructions to add an offset to the toc-pointer. If the offset fits whithin
16-bits then the instruction that sets the high 16 bits is redundant.
This patch adds the --toc-optimize option, (on by default) and enables rewriting
of 2 instruction global variable accesses into 1 when the offset from the
TOC-pointer to the variable (or .got entry) fits in 16 signed bits. eg
addis %r3, %r2, 0 --> nop
addi %r3, %r3, -0x8000 --> addi %r3, %r2, -0x8000
This rewriting can be disabled with the --no-toc-optimize flag
Differential Revision: https://reviews.llvm.org/D49237
llvm-svn: 342602
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test/functionalities')
0 files changed, 0 insertions, 0 deletions

