llvm-project/llvm
Ehud Katz 854e956219 [InlineCost] Fix infinite loop in indirect call evaluation
Currently every time we encounter an indirect call of a known function,
we try to evaluate the inline cost of that function. In case of a
recursion, that evaluation never stops.

The solution presented is to evaluate only the indirect call of the
function, while any further indirect calls (of a known function) will be
treated just as direct function calls, which, actually, never tries to
evaluate the call.

Fixes PR35469.

Differential Revision: https://reviews.llvm.org/D69349
2019-11-23 19:02:59 +02:00
..
benchmarks
bindings [Test] Fix freeze ocaml test failure 2019-11-22 22:34:37 +09:00
cmake [CMake] Fix LLVM build non-determinism on RHEL 2019-11-21 23:18:11 -06:00
docs [FileCheck] Make FILECHECK_OPTS useful for its test suite 2019-11-21 18:01:12 -05:00
examples [ORC] Add a utility to support dumping JIT'd objects to disk for debugging. 2019-11-14 21:27:19 -08:00
include Recommit "[DWARF] Support for loclist.dwo section in llvm and llvm-dwarfdump." 2019-11-23 20:10:23 +05:30
lib [InlineCost] Fix infinite loop in indirect call evaluation 2019-11-23 19:02:59 +02:00
projects
resources
runtimes
test [InlineCost] Fix infinite loop in indirect call evaluation 2019-11-23 19:02:59 +02:00
tools [llvm-lipo] Add support for -extract 2019-11-21 16:11:48 -08:00
unittests [CodeMoverUtils] Added an API to check if an instruction can be safely 2019-11-22 21:29:08 +00:00
utils gn build: Reland c52efdc5, "gn build: (manually) merge b5913e6d2f" 2019-11-22 18:13:58 -08:00
.arcconfig
.clang-format
.clang-tidy
.gitattributes
.gitignore
CMakeLists.txt [cmake] Emit an error for -DBUILD_SHARED_LIBS=ON on Windows 2019-11-14 10:19:02 -08:00
CODE_OWNERS.TXT
CREDITS.TXT
LICENSE.TXT
LLVMBuild.txt
README.txt
RELEASE_TESTERS.TXT
configure
llvm.spec.in

README.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.