Old fork of llvm-mirror, used on older RPCS3 builds
Go to file
Hideto Ueno 48db51b0f2 [Attributor] Implement "norecurse" function attribute deduction
Summary:
This patch introduces `norecurse` function attribute deduction.

`norecurse` will be deduced if the following conditions hold:
* The size of SCC in which the function belongs equals to 1.
* The function doesn't have self-recursion.
* We have `norecurse` for all call site.

To avoid a large change, SCC is calculated using scc_iterator in InfoCache initialization for now.

Reviewers: jdoerfert, sstefan1

Reviewed By: jdoerfert

Subscribers: hiraditya, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D67751

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@372475 91177308-0d34-0410-b5e6-96231b3b80d8
2019-09-21 15:13:19 +00:00
benchmarks
bindings Remove the obsolete BlockByRefStruct flag from LLVM IR 2019-09-18 22:38:56 +00:00
cmake [cmake] Changes to get Windows self-host working with PGO 2019-09-18 09:43:13 +00:00
docs [Docs] Bug fix for document not included in toctree 2019-09-21 14:29:19 +00:00
examples [Orc] Roll back ThreadPool to std::function 2019-09-13 11:59:51 +00:00
include [Attributor] Implement "norecurse" function attribute deduction 2019-09-21 15:13:19 +00:00
lib [Attributor] Implement "norecurse" function attribute deduction 2019-09-21 15:13:19 +00:00
projects [libc++] Take 2: Integrate the PSTL into libc++ 2019-08-05 18:29:14 +00:00
resources
runtimes Revert "Adding support for overriding LLVM_ENABLE_RUNTIMES for runtimes builds." 2019-09-11 00:43:35 +00:00
test [Attributor] Implement "norecurse" function attribute deduction 2019-09-21 15:13:19 +00:00
tools [Support] Add a DataExtractor constructor that takes ArrayRef<uint8_t> 2019-09-21 15:05:03 +00:00
unittests [TextAPI] Arch&Platform to Target 2019-09-20 14:32:34 +00:00
utils gn build: Merge r372445 2019-09-21 01:27:09 +00:00
.arcconfig
.clang-format
.clang-tidy
.gitattributes Fix the "git modified" issue on the preserve-comments-crlf.s. 2019-09-10 12:17:49 +00:00
.gitignore
CMakeLists.txt [cmake] Changes to get Windows self-host working with PGO 2019-09-18 09:43:13 +00:00
CODE_OWNERS.TXT Update email address in CODE_OWNERS 2019-07-01 16:01:15 +00:00
configure
CREDITS.TXT Update email address. 2019-07-17 07:02:02 +00:00
LICENSE.TXT
llvm.spec.in
LLVMBuild.txt
README.txt
RELEASE_TESTERS.TXT

The LLVM Compiler Infrastructure
================================

This directory and its subdirectories contain source code for LLVM,
a toolkit for the construction of highly optimized compilers,
optimizers, and runtime environments.

LLVM is open source software. You may freely distribute it under the terms of
the license agreement found in LICENSE.txt.

Please see the documentation provided in docs/ for further
assistance with LLVM, and in particular docs/GettingStarted.rst for getting
started with LLVM and docs/README.txt for an overview of LLVM's
documentation setup.

If you are writing a package for LLVM, see docs/Packaging.rst for our
suggestions.