aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp
diff options
context:
space:
mode:
authorStefan Pintilie <stefanp@ca.ibm.com>2020-09-22 05:50:48 -0500
committerStefan Pintilie <stefanp@ca.ibm.com>2020-09-22 08:28:06 -0500
commit7e78d89052b15f32ea56f018698194c7c9627152 (patch)
treed2bd07441a0250a0427c18e52ed4657f1f72cf47 /llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp
parent0c3bfbe4bc212c8e6b54ffd6d9f59ae513e31247 (diff)
downloadllvm-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