[PATCH] D43178: [FunctionAttrs][ArgumentPromotion][GlobalOpt] Disable some optimisations passes for naked functions

Luke Cheeseman via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Feb 12 03:32:42 PST 2018


LukeCheeseman created this revision.
Herald added a subscriber: llvm-commits.

- Fix for bug 36078.
- Prevent the functionattrs, function-attrs, globalopt and argpromotion passes from changing naked functions.
- These passes can perform some alterations to the functions that should not be applied. An example is removing parameters that are seemingly not used because they are only referenced in the inline assembly. Another example is marking the function as fastcc.


Repository:
  rL LLVM

https://reviews.llvm.org/D43178

Files:
  lib/Transforms/IPO/ArgumentPromotion.cpp
  lib/Transforms/IPO/FunctionAttrs.cpp
  lib/Transforms/IPO/GlobalOpt.cpp
  test/Transforms/ArgumentPromotion/naked_functions.ll
  test/Transforms/FunctionAttrs/naked_functions.ll
  test/Transforms/GlobalOpt/naked_functions.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D43178.133823.patch
Type: text/x-patch
Size: 4836 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20180212/af8c16b9/attachment.bin>


More information about the llvm-commits mailing list