[PATCH] D17555: [Feedback requested] Implement cold spliting
Amaury SECHET via llvm-commits
llvm-commits at lists.llvm.org
Tue Feb 23 16:37:21 PST 2016
deadalnix created this revision.
deadalnix added reviewers: MatzeB, majnemer, joker.eph, danielcdh, davidxl.
deadalnix added a subscriber: llvm-commits.
This is an attempt at splitting cold code from regular code in a function. All landing pads are considered cold (in fact, they almost always are, especially if performance is a concern, and assuming this allow for simplification in the LSDA).
2 LSDA header and call sites are emited, the cold one nested within the regular one. They both share the same action table and type table.
A symbol is amited for the cold function, using the name of the function suffixed by $cold . Emiting a symbol is required when using .subsections_via_symbols .
Debug informations aren't supported at this stage.
http://reviews.llvm.org/D17555
Files:
include/llvm/CodeGen/AsmPrinter.h
include/llvm/MC/MCObjectFileInfo.h
include/llvm/MC/MCStreamer.h
include/llvm/MC/MCTargetOptions.h
include/llvm/MC/MCTargetOptionsCommandFlags.h
include/llvm/MC/SectionKind.h
lib/CodeGen/AsmPrinter/AsmPrinter.cpp
lib/CodeGen/AsmPrinter/AsmPrinterHandler.h
lib/CodeGen/AsmPrinter/DwarfCFIException.cpp
lib/CodeGen/AsmPrinter/DwarfException.h
lib/CodeGen/AsmPrinter/EHStreamer.cpp
lib/CodeGen/AsmPrinter/EHStreamer.h
lib/MC/MCObjectFileInfo.cpp
lib/MC/MCStreamer.cpp
lib/MC/MCTargetOptions.cpp
test/CodeGen/X86/coldsplit.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D17555.48857.patch
Type: text/x-patch
Size: 37672 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160224/164237b5/attachment.bin>
More information about the llvm-commits
mailing list