llvm/lib
Hiroshi Inoue 16d661a030 [PowerPC] fix potential verification error on __tls_get_addr
This patch fixes a verification error with -verify-machineinstrs while expanding __tls_get_addr by not creating ADJCALLSTACKUP and ADJCALLSTACKDOWN if there is another ADJCALLSTACKUP in this basic block since nesting ADJCALLSTACKUP/ADJCALLSTACKDOWN is not allowed.

Here, ADJCALLSTACKUP and ADJCALLSTACKDOWN are created as a fence for instruction scheduling to avoid _tls_get_addr is scheduled before mflr in the prologue (https://bugs.llvm.org//show_bug.cgi?id=25839). So if another ADJCALLSTACKUP exists before _tls_get_addr, we do not need to create a new ADJCALLSTACKUP.

Differential Revision: https://reviews.llvm.org/D34347



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@306678 91177308-0d34-0410-b5e6-96231b3b80d8
2017-06-29 14:13:38 +00:00
..
Analysis [TBAA] Remove metadata keyword from IR examples in comments (NFC). 2017-06-29 13:55:23 +00:00
AsmParser Add dependency from AsmParser to BinaryFormat. 2017-06-07 04:24:33 +00:00
BinaryFormat [BinaryFormat] Identify AArch64 COFF files 2017-06-29 06:30:56 +00:00
Bitcode Add missing library dependency. 2017-06-28 00:05:27 +00:00
CodeGen Revert "r306529 - [X86] Correct dwarf unwind information in function epilogue" 2017-06-29 13:58:24 +00:00
DebugInfo [DWARF] - Fix message reporting about broken relocation. 2017-06-29 14:05:18 +00:00
Demangle [ItaniumDemangle] Fix a exponential string copying bug 2017-05-28 23:24:52 +00:00
ExecutionEngine [ORC] Re-apply r306166 and r306168 with fix for regression test. 2017-06-23 23:25:28 +00:00
Fuzzer [libFuzzer] change the default max_len from 64 to 4096. This will affect cases where libFuzzer is run w/o initial corpus or with a corpus of very small items. 2017-06-15 22:43:40 +00:00
IR [Constants] Fix copy-pasto in llvm_unreachable message. NFC 2017-06-27 19:57:51 +00:00
IRReader
LineEditor
Linker Support for taking the max of module flags when linking, use for PIE/PIC 2017-05-23 00:08:00 +00:00
LTO [ThinLTO] Remove unnecessary include of Linker.h (NFC) 2017-06-22 16:18:48 +00:00
MC [WebAssembly] Add data size and alignement to linking section 2017-06-27 20:27:59 +00:00
Object Revert "Replace trivial use of external rc.exe by writing our own .res file." 2017-06-29 00:17:26 +00:00
ObjectYAML [WebAssembly] Add data size and alignement to linking section 2017-06-27 20:27:59 +00:00
Option [GSoC] Flag value completion for clang 2017-06-20 16:31:31 +00:00
Passes Create inliner params based on size and opt levels. 2017-06-28 13:33:49 +00:00
ProfileData llvm-profdata: Indirect infrequently used fields to reduce memory usage 2017-06-29 02:51:58 +00:00
Support Recommit "[Support] Add RetryAfterSignal helper function" 2017-06-29 13:15:31 +00:00
TableGen [BinaryFormat, Option, TableGen] Fix some Clang-tidy modernize-use-using and Include What You Use warnings; other minor fixes (NFC). 2017-06-16 00:43:26 +00:00
Target [PowerPC] fix potential verification error on __tls_get_addr 2017-06-29 14:13:38 +00:00
Testing Mark LLVMTestingSupport as not installed in LLVMBuild. 2017-06-19 22:01:50 +00:00
ToolDrivers [GSoC] Flag value completion for clang 2017-06-20 16:31:31 +00:00
Transforms [SLPVectorizer] Introducing getTreeEntry() helper function [NFC] 2017-06-29 08:46:18 +00:00
XRay Sort the remaining #include lines in include/... and lib/.... 2017-06-06 11:49:48 +00:00
CMakeLists.txt [gtest] Create a shared include directory for gtest utilities. 2017-06-14 16:41:50 +00:00
LLVMBuild.txt [gtest] Create a shared include directory for gtest utilities. 2017-06-14 16:41:50 +00:00