Fork of llvm with experimental commits and workarounds for RPCS3
Go to file
Arthur Eubanks d8616d8c76 [CGSCC][NewPM] Fix adding mutually recursive new functions
When adding a new function via addNewFunctionIntoRefSCC(), it creates a
new node and immediately populates the edges. Since populateSlow() calls
G->get() on all referenced functions, it will create a node (but not
populate it) for functions that haven't yet been added. If we add two
mutually recursive functions, the assert that the node should never have
been created will fire when the second function is added. So here we
remove that assert since the node may have already been created (but not
yet populated).

createNode() is only called from addNewFunctionInto{,Ref}SCC().

https://bugs.llvm.org/show_bug.cgi?id=47502

Reviewed By: jdoerfert

Differential Revision: https://reviews.llvm.org/D87623
2020-09-15 16:44:08 -07:00
benchmarks
bindings [OCaml] Remove add_constant_propagation 2020-08-27 09:30:21 -07:00
cmake [MinGW] Use lib prefix for libraries 2020-09-12 22:01:29 +03:00
docs [doc] Fix broken link 2020-09-15 09:58:08 +02:00
examples Re-apply "[ORC] Make MaterializationResponsibility immovable..." with fixes. 2020-09-11 14:09:05 -07:00
include [BFI] Make BFI information available through loop passes inside LoopStandardAnalysisResults 2020-09-15 16:16:24 -07:00
lib [CGSCC][NewPM] Fix adding mutually recursive new functions 2020-09-15 16:44:08 -07:00
projects
resources
runtimes [runtimes] Remove TOOLCHAIN_TOOLS specialization 2020-08-24 13:48:29 -07:00
test [BFI] Make BFI information available through loop passes inside LoopStandardAnalysisResults 2020-09-15 16:16:24 -07:00
tools [Bugpoint][NewPM] Pin bugpoint to legacy PM 2020-09-15 11:29:10 -07:00
unittests [CGSCC][NewPM] Fix adding mutually recursive new functions 2020-09-15 16:44:08 -07:00
utils [TableGen] Fix invalid comparison function SizeOrder in getMatchingSubClassWithSubRegs 2020-09-15 15:48:43 -04:00
.clang-format
.clang-tidy - Update .clang-tidy to ignore parameters of main like functions for naming violations in clang and llvm directory 2020-01-31 16:49:45 +00:00
.gitattributes
.gitignore [clangd] Store index in '.cache/clangd/index' instead of '.clangd/index' 2020-07-07 14:53:45 +02:00
CMakeLists.txt [llvm][cmake] Change LLVM_INTEGRATED_CRT_ALLOC to a path instead of a boolean 2020-09-15 19:18:52 -04:00
CODE_OWNERS.TXT Update PowerPC backend ownership in CODE_OWNERS.TXT 2020-09-14 15:45:57 -05:00
configure
CREDITS.TXT Update my email address. 2020-08-21 10:15:26 -07:00
LICENSE.TXT
llvm.spec.in
LLVMBuild.txt
README.txt Test commit. 2020-03-14 18:08:26 -07:00
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.