hanchenye-llvm-project/llvm/lib
Stefan Pintilie 55bfdd040a [PowerPC] Manually schedule the prologue and epilogue
This patch makes the following changes to the schedule of instructions in the
prologue and epilogue.

The stack pointer update is moved down in the prologue so that the callee saves
do not have to wait for the update to happen.
Saving the lr is moved down in the prologue to hide the latency of the mflr.
The stack pointer is moved up in the epilogue so that restoring of the lr can
happen sooner.
The mtlr is moved up in the epilogue so that it is away form the blr at the end
of the epilogue. The latency of the mtlr can now be hidden by the loads of the
callee saved registers.

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

llvm-svn: 322036
2018-01-08 22:23:10 +00:00
..
Analysis [ValueTracking] remove overzealous assert 2018-01-08 18:31:13 +00:00
AsmParser Hardware-assisted AddressSanitizer (llvm part). 2017-12-09 00:21:41 +00:00
BinaryFormat Simplify. 2017-10-19 01:32:18 +00:00
Bitcode Add hasProfileData() to check if a function has profile data. NFC. 2017-12-22 01:33:52 +00:00
CodeGen [LiveDebugValues] Change condition for block termination recognition 2018-01-08 18:21:15 +00:00
DebugInfo dwarfdump: Match the --uuid output with that of Darwin dwarfdump. 2018-01-05 21:44:17 +00:00
Demangle Silence a bunch of implicit fallthrough warnings 2017-12-19 22:05:25 +00:00
ExecutionEngine [ORC] Remove AsynchronousSymbolQuery while I debug an issue on one of the 2018-01-06 20:14:22 +00:00
FuzzMutate [FuzzMutate] Don't crash when mutator is unable to find operation 2017-12-19 08:52:51 +00:00
Fuzzer [libFuzzer] Delete llvm/lib/Fuzzer 2017-10-16 20:48:19 +00:00
IR Limit size of non-GlobalValue name 2018-01-05 19:41:19 +00:00
IRReader Remove redundant includes from various places. 2017-12-13 21:31:03 +00:00
LTO [LTO] Simplify code. No functionality change intended. 2017-12-28 18:31:19 +00:00
LineEditor
Linker
MC Revert "Emit Function IDs table for Control Flow Guard" 2018-01-08 17:12:01 +00:00
Object Do not look up symbol names when n_strx == 0 2018-01-03 23:28:32 +00:00
ObjectYAML Fix uninitialized read error reported by MSAN. 2018-01-08 21:38:50 +00:00
Option [Option] Add 'findNearest' method to catch typos 2018-01-05 17:10:39 +00:00
Passes [PM] pass -debug-pass-manager flag into FunctionToLoopPassAdaptor's canonicalization PM 2017-12-29 08:16:06 +00:00
ProfileData Remove superfluous copies in sample profiling. 2017-12-28 18:10:41 +00:00
Support Added support for reading configuration files 2017-12-30 15:37:46 +00:00
TableGen Avoid int to string conversion in Twine or raw_ostream contexts. 2017-12-28 16:58:54 +00:00
Target [PowerPC] Manually schedule the prologue and epilogue 2018-01-08 22:23:10 +00:00
Testing Force #define GTEST_LANG_CXX11. 2017-10-27 21:12:28 +00:00
ToolDrivers Remove redundant includes from various places. 2017-12-13 21:31:03 +00:00
Transforms AlwaysInliner: Alow setting InsertLifetime in the new-style pass 2018-01-08 22:07:42 +00:00
WindowsManifest
XRay [XRay] Use optimistic logging model for FDR mode 2017-11-21 07:16:57 +00:00
CMakeLists.txt
LLVMBuild.txt