diff options
author | Stefan Pintilie <stefanp@ca.ibm.com> | 2020-09-22 05:50:48 -0500 |
---|---|---|
committer | Stefan Pintilie <stefanp@ca.ibm.com> | 2020-09-22 08:28:06 -0500 |
commit | 7e78d89052b15f32ea56f018698194c7c9627152 (patch) | |
tree | d2bd07441a0250a0427c18e52ed4657f1f72cf47 /llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp | |
parent | 0c3bfbe4bc212c8e6b54ffd6d9f59ae513e31247 (diff) | |
download | llvm-7e78d89052b15f32ea56f018698194c7c9627152.zip llvm-7e78d89052b15f32ea56f018698194c7c9627152.tar.gz llvm-7e78d89052b15f32ea56f018698194c7c9627152.tar.bz2 |
[PowerPC] Fix for compiler side issue in PCRelative Local Exec
Stop combining loads and stores with PPCISD::ADD_TLS before we can merge the
node with with TLS_LOCAL_EXEC_MAT_ADDR. The issue is that
TLS_LOCAL_EXEC_MAT_ADDR cannot be selected by itself and requires the previous
ADD_TLS node that goes with it. However, we sometimes try to combine ADD_TLS
with loads and stores that come after it. If this happens then the ADD_TLS is
removed and TLS_LOCAL_EXEC_MAT_ADDR cannot be selected.
While this bug fix will address the issue it my not be ideal from a performance
perspective as we may be able to add patterns to combine TLS_LOCAL_EXEC_MAT_ADDR
with ADD_TLS with the load and store that comes after it all in one. However,
this is beyond the scope of this patch.
Reviewed By: NeHuang
Differential Revision: https://reviews.llvm.org/D88030
Diffstat (limited to 'llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp')
0 files changed, 0 insertions, 0 deletions