llvm-project/llvm/lib
Jessica Paquette 1cb18ec4ec [MachineOutliner] Outline both register save calls + no LR save calls together
Instead of treating the outlined functions for these as distinct frames, they
should be combined into one case. Neither allows for stack fixups, and both
generate the same frame. Thus, they ought to be considered one case.

This makes the code far easier to understand, for one thing. It also offers
some small code size improvements. It's fairly rare to see a class of outlined
functions that doesn't fall entirely into one variant (on CTMark anyway). It
does happen from time to time though.

This mostly offers some serious simplification.

Also update the test to show the added functionality.

llvm-svn: 348036
2018-11-30 21:14:58 +00:00
..
Analysis Fix parenthesis warning in IVDescriptors 2018-11-30 13:54:36 +00:00
AsmParser [DebugInfo] IR/Bitcode changes for DISubprogram flags. 2018-11-28 21:14:32 +00:00
BinaryFormat Revert r347490 as it breaks address sanitizer builds 2018-11-23 17:13:06 +00:00
Bitcode [DebugInfo] IR/Bitcode changes for DISubprogram flags. 2018-11-28 21:14:32 +00:00
CodeGen [SelectionDAG] fold FP binops with 2 undef operands to undef 2018-11-30 18:38:52 +00:00
DebugInfo Add missing error checking code intended for r347687 2018-11-27 19:14:11 +00:00
Demangle [Demangle] remove itaniumFindTypesInMangledName 2018-11-27 16:11:24 +00:00
ExecutionEngine [ExecutionEngine][Interpreter] Fix out-of-bounds array access. 2018-11-20 01:01:26 +00:00
FuzzMutate [New PM] Introducing PassInstrumentation framework 2018-09-20 17:08:45 +00:00
Fuzzer
IR [DWARFv5] Verify all-or-nothing constraint on DIFile source 2018-11-30 19:13:38 +00:00
IRReader
LTO [ThinLTO] Import local variables from the same module as caller 2018-11-29 17:02:42 +00:00
LineEditor
Linker [ThinLTO] Internalize readonly globals 2018-11-16 07:08:00 +00:00
MC Revert "[BTF] Add BTF DebugInfo" 2018-11-30 16:54:43 +00:00
Object Use llvm::copy. NFC 2018-11-17 01:44:25 +00:00
ObjectYAML [Hexagon] Add missing flags to ELF YAMLIO 2018-11-28 16:25:47 +00:00
OptRemarks Reland: [OptRemarks] Add library for parsing optimization remarks 2018-10-10 18:43:42 +00:00
Option [opt] Change the parameter of OptTable::PrintHelp from Name to Usage and don't append "[options] <inputs>" 2018-10-10 00:15:31 +00:00
Passes [stack-safety] Empty local passes for Stack Safety Global Analysis 2018-11-26 23:05:48 +00:00
ProfileData Support for remapping profile data when symbols change, for sample-based 2018-10-10 21:31:01 +00:00
Support Add Hurd target to LLVMSupport (1/2) 2018-11-29 03:23:01 +00:00
TableGen [TableGen] Preprocessing support 2018-11-27 18:57:43 +00:00
Target [MachineOutliner] Outline both register save calls + no LR save calls together 2018-11-30 21:14:58 +00:00
Testing Fix error with SmallString implicit conversion. 2018-09-06 22:47:32 +00:00
ToolDrivers [opt] Change the parameter of OptTable::PrintHelp from Name to Usage and don't append "[options] <inputs>" 2018-10-10 00:15:31 +00:00
Transforms [Mem2Reg] Fix nondeterministic corner case 2018-11-30 19:20:02 +00:00
WindowsManifest Convert line endings of lib/WindowsManifest/CMakeLists.txt to unix. 2018-04-07 04:28:08 +00:00
XRay [XRay] Improve FDR trace handling and error messaging 2018-11-09 06:26:48 +00:00
CMakeLists.txt Revert r347823 "[TextAPI] Switch back to a custom Platform enum." 2018-11-29 15:47:24 +00:00
LLVMBuild.txt Revert r347823 "[TextAPI] Switch back to a custom Platform enum." 2018-11-29 15:47:24 +00:00