llvm-project/llvm
Rafael Espindola 3b9843f0ff Allow dso_local on ifunc.
It was never fully disallowed. We were rejecting it in the asm parser,
but not in the verifier.

Currently TargetMachine::shouldAssumeDSOLocal returns true for hidden
ifuncs. I considered changing it and moving the check from the asm
parser to the verifier.

The reason for deciding to allow it instead is that all linkers handle
a direct reference just fine. They use the plt address as the address
of the function. In fact doing that means that clang doesn't have the
same bug as gcc: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83782.

This patch then removes the check from the asm parser and updates the
bitcode reader and writer.

llvm-svn: 322378
2018-01-12 17:03:43 +00:00
..
bindings [bindings/go] fix vet errors 2017-12-28 04:10:09 +00:00
cmake [CMake] Add LLVM_ENABLE_IDE option to better process sources for IDE's 2018-01-12 04:01:41 +00:00
docs [docs] Tweak update to Phabricator docs about setting repository for diffs uploaded via web 2018-01-12 15:44:35 +00:00
examples PR35705: Fix Chapter 9 example code for API changes to DIBuilder 2017-12-20 19:36:54 +00:00
include Allow dso_local on ifunc. 2018-01-12 17:03:43 +00:00
lib Allow dso_local on ifunc. 2018-01-12 17:03:43 +00:00
projects [cmake] Support moving debuginfo-tests to llvm/projects 2017-12-12 17:06:08 +00:00
resources
runtimes [CMake] Support for cross-compilation when build runtimes 2018-01-08 23:50:59 +00:00
test Allow dso_local on ifunc. 2018-01-12 17:03:43 +00:00
tools Instead of ELFFile<ELFT>::Type, use ELFT::Type. NFC. 2018-01-12 02:28:31 +00:00
unittests Use size_t to represent the size of a StringMapEntry length and alignment rather than unsigned. 2018-01-11 18:47:15 +00:00
utils [TableGen][AsmMatcherEmitter] Generate assembler checks for tied operands 2018-01-10 10:10:56 +00:00
.arcconfig [llvm] Set up .arcconfig to point to Diffusion L repository 2018-01-12 15:37:41 +00:00
.clang-format
.clang-tidy
.gitattributes
.gitignore
CMakeLists.txt The trunk version is now 7.0.0svn 2018-01-03 14:52:54 +00:00
CODE_OWNERS.TXT
CREDITS.TXT
LICENSE.TXT
LLVMBuild.txt
README.txt
RELEASE_TESTERS.TXT
configure
llvm.spec.in

README.txt

Low Level Virtual Machine (LLVM)
================================

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.