[PATCH] D57254: [Outliner] Set nounwind for outlined functions

Dave Green via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Jan 25 12:24:45 PST 2019


dmgreen created this revision.
dmgreen added reviewers: yroux, paquette, efriedma, t.p.northover, SjoerdMeijer.
Herald added subscribers: hiraditya, javed.absar.

This prevents the outlined functions from pulling in a lot of unnecessary code
in our downstream libraries/linker. Which stops outlining making codesize
worse in c++ code with no-exceptions.

It appears that we can outline from functions that throw, so I've made this
only apply if all the parent functions are nounwind.


https://reviews.llvm.org/D57254

Files:
  llvm/lib/CodeGen/MachineOutliner.cpp
  llvm/test/CodeGen/AArch64/machine-outliner-throw.ll
  llvm/test/CodeGen/AArch64/machine-outliner.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D57254.183593.patch
Type: text/x-patch
Size: 4677 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190125/49ceeb37/attachment.bin>


More information about the llvm-commits mailing list