[PATCH] D12923: Add support for function attribute "notail"

Philip Reames via llvm-commits llvm-commits at lists.llvm.org
Thu Sep 17 09:47:31 PDT 2015


+llvm-dev

Can you give a bit of background on what you're trying to address here?  
After reading through the discussion and seeing that this is a best 
effort flag, I'm not sure that a function attribute is the best way to 
describe this.  I'm open to being convinced it is, but I'd like to hear 
a bit more about the use case and get broader visibility on the proposal 
first.

Philip

On 09/16/2015 07:27 PM, Akira Hatanaka via llvm-commits wrote:
> ahatanak created this revision.
> ahatanak added a subscriber: llvm-commits.
>
> This patch adds support for a new IR function attribute "notail". The attribute is used to disable tail call optimization on calls to functions marked with the attribute.
>
> This attribute is different from the existing attribute "disable-tail-calls", which disables tail call optimizations on all call sites within the marked function.
>
> The patch to add support for the corresponding source-level function attribute is here:
> http://reviews.llvm.org/D12922
>
> http://reviews.llvm.org/D12923
>
> Files:
>    docs/LangRef.rst
>    include/llvm/Bitcode/LLVMBitCodes.h
>    include/llvm/IR/Attributes.h
>    include/llvm/IR/Instructions.h
>    lib/AsmParser/LLLexer.cpp
>    lib/AsmParser/LLParser.cpp
>    lib/AsmParser/LLToken.h
>    lib/Bitcode/Reader/BitcodeReader.cpp
>    lib/Bitcode/Writer/BitcodeWriter.cpp
>    lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
>    lib/IR/Attributes.cpp
>    lib/IR/Verifier.cpp
>    lib/Transforms/Scalar/TailRecursionElimination.cpp
>    test/Bindings/llvm-c/Inputs/invalid.ll.bc
>    test/Bindings/llvm-c/invalid-bitcode.test
>    test/Bitcode/attributes.ll
>    test/Bitcode/invalid.ll
>    test/Bitcode/invalid.ll.bc
>    test/CodeGen/X86/attr-notail.ll
>    test/Transforms/TailCallElim/notail.ll
>
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20150917/a08f549e/attachment.html>


More information about the llvm-commits mailing list