llvm-project/llvm/lib
Derek Schuff 1aaf87e91d Factor PrologEpilogInserter around spilling, frame finalization, and scavenging
PrologEpilogInserter has these 3 phases, which are related, but not
all of them are needed by all targets. This patch reorganizes PEI's
varous functions around those phases for more clear separation. It also
introduces a new TargetMachine hook, usesPhysRegsForPEI, which is true
for non-virtual targets. When it is true, all the phases operate as
before, and PEI requires the AllVRegsAllocated property on
MachineFunctions. Otherwise, CSR spilling and scavenging are skipped and
only prolog/epilog insertion/frame finalization is done.

Differential Revision: http://reviews.llvm.org/D18366

llvm-svn: 269750
2016-05-17 08:49:59 +00:00
..
Analysis [BasicAA] Update comments based on feedback from hfinkel. NFCI. 2016-05-16 18:51:54 +00:00
AsmParser Refactor duplicated code. NFC. 2016-05-12 12:37:52 +00:00
Bitcode Avoid temporary vector for sorting in BitcodeWriter 2016-05-16 22:47:15 +00:00
CodeGen Factor PrologEpilogInserter around spilling, frame finalization, and scavenging 2016-05-17 08:49:59 +00:00
DebugInfo Move helper classes into anonymous namespaces. NFC. 2016-05-15 15:18:11 +00:00
ExecutionEngine [RuntimeDyld] Support R_390_PC64 relocation type 2016-05-13 17:23:48 +00:00
Fuzzer [libFuzzer] do the merge faster and a bit less precise 2016-05-13 22:11:23 +00:00
IR [llc] New diagnostic handler 2016-05-16 14:28:02 +00:00
IRReader Remove autoconf support 2016-01-26 21:29:08 +00:00
LTO ThinLTO: sort inputs and schedule by decreasing size 2016-05-16 19:33:07 +00:00
LibDriver LibDriver: Silently do nothing when provided no inputs. 2016-04-13 19:36:04 +00:00
LineEditor Fix Clang-tidy modernize-deprecated-headers warnings in some files; other minor fixes. 2016-03-28 17:40:08 +00:00
Linker Return a StringRef from getSection. 2016-05-11 18:21:59 +00:00
MC [mips] Correct the ordering of HI/LO pairs in the relocation table. 2016-05-06 13:49:25 +00:00
Object Return a StringRef from getSection. 2016-05-11 18:21:59 +00:00
ObjectYAML [obj2yaml] [yaml2obj] Basic support for MachO::load_command 2016-05-13 17:41:41 +00:00
Option Option parser: class for consuming a joined arg in addition to all remaining args 2016-04-15 00:23:30 +00:00
Passes [PM] Port indirect call promotion pass to new pass manager 2016-05-16 16:31:07 +00:00
ProfileData Revert "Retry^2 "[ProfileData] (llvm) Use Error in InstrProf and Coverage, NFC"" 2016-05-16 21:03:38 +00:00
Support Revert "Revert "Revert 220932.": "Removing the static initializer in ManagedStatic.cpp by using llvm_call_once to initialize the ManagedStatic mutex"" 2016-05-14 23:44:21 +00:00
TableGen [NFC] Header cleanup 2016-04-18 09:17:29 +00:00
Target Factor PrologEpilogInserter around spilling, frame finalization, and scavenging 2016-05-17 08:49:59 +00:00
Transforms try to avoid unused variable warning in release build; NFCI 2016-05-17 01:12:31 +00:00
CMakeLists.txt Move ObjectYAML code to a new library. 2016-03-01 19:15:06 +00:00
LLVMBuild.txt Add LLVMBuild for ObjectYAML. 2016-03-01 21:29:33 +00:00