[PATCH] D14227: Add a new attribute: norecurse

James Molloy via llvm-commits llvm-commits at lists.llvm.org
Mon Nov 2 05:03:27 PST 2015


jmolloy created this revision.
jmolloy added reviewers: manmanren, dexonsmith, joker.eph.
jmolloy added a subscriber: llvm-commits.
jmolloy set the repository for this revision to rL LLVM.

This attribute allows the compiler to assume that the function never recurses into itself, either directly or indirectly (transitively). This can be used among other things to demote global variables to locals.

The norecurse attribute indicates that the function does not call itself either directly or indirectly down any possible call path.

Repository:
  rL LLVM

http://reviews.llvm.org/D14227

Files:
  docs/LangRef.rst
  include/llvm/Bitcode/LLVMBitCodes.h
  include/llvm/IR/Attributes.h
  include/llvm/IR/Function.h
  lib/AsmParser/LLLexer.cpp
  lib/AsmParser/LLParser.cpp
  lib/AsmParser/LLToken.h
  lib/Bitcode/Reader/BitcodeReader.cpp
  lib/Bitcode/Writer/BitcodeWriter.cpp
  lib/IR/Attributes.cpp
  lib/IR/Verifier.cpp
  test/Bindings/llvm-c/invalid-bitcode.test
  test/Bitcode/attributes.ll
  test/Bitcode/compatibility.ll
  test/Bitcode/invalid.ll
  test/LTO/X86/invalid.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D14227.38892.patch
Type: text/x-patch
Size: 10462 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20151102/2e9a5803/attachment-0001.bin>


More information about the llvm-commits mailing list