[PATCH] D92657: [WIP] Fix interaction between clang and some inline builtins from glibc under _FORTIFY_SOURCE
    serge via Phabricator via llvm-commits 
    llvm-commits at lists.llvm.org
       
    Fri Dec  4 07:18:31 PST 2020
    
    
  
serge-sans-paille created this revision.
serge-sans-paille added a reviewer: george.burgess.iv.
Herald added subscribers: haicheng, hiraditya, eraman.
serge-sans-paille requested review of this revision.
Herald added a project: LLVM.
Herald added a subscriber: llvm-commits.
Clang considers trivially recursive a function that may call itself, not a function that always call itself. This leads to some inline definition of fortified libc builtins no being emitted, and thus ignored.
Work around the situation by being slightly smarter on the recursion computation, even though this is still very naive.
https://reviews.llvm.org/D92657
Files:
  clang/lib/CodeGen/CodeGenModule.cpp
  clang/test/CodeGen/memmove-always-inline-definition-used.c
  llvm/include/llvm/Analysis/InlineCost.h
  llvm/lib/Analysis/InlineCost.cpp
  llvm/lib/Transforms/IPO/AlwaysInliner.cpp
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D92657.309533.patch
Type: text/x-patch
Size: 4444 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20201204/d9a4d0ec/attachment.bin>
    
    
More information about the llvm-commits
mailing list