hanchenye-llvm-project/llvm
Rafael Espindola 128c5ea902 Revert "Add r159136 back now that pr13124 has been fixed."
This reverts commit r189886.

I found a corner case where this optimization is not valid:

Say we have a "linkonce_odr unnamed_addr" in two translation units:
* In TU 1 this optimization kicks in and makes it hidden.
* In TU 2 it gets const merged with a constant that is *not* unnamed_addr,
  resulting in a non unnamed_addr constant with default visibility.
* The static linker rules for combining visibility them produce a hidden
  symbol, which is incorrect from the point of view of the non unnamed_addr
  constant.

The one place we can do this is when we know that the symbol is not used from
another TU in the same shared object, i.e., during LTO. I will move it there.

llvm-svn: 189954
2013-09-04 16:09:01 +00:00
..
autoconf [conf] Add config variable to disable crash related overrides. 2013-08-30 20:39:21 +00:00
bindings
cmake [CMake] Add -O1 in debug builds with LLVM_USE_SANITIZER 2013-09-02 09:15:01 +00:00
docs TableGen: Enumerate Schedule Model too. 2013-09-03 19:43:28 +00:00
examples ExceptionDemo.cpp: Tweak a @param. [-Wdocumentation] 2013-07-29 11:03:50 +00:00
include Revert "Add r159136 back now that pr13124 has been fixed." 2013-09-04 16:09:01 +00:00
lib Revert "Add r159136 back now that pr13124 has been fixed." 2013-09-04 16:09:01 +00:00
projects Port the detection of zlib from the main autoconf system to the sample 2013-08-18 01:55:15 +00:00
runtime Use @rpath for libraries rather than @executable_path on OSX. 2013-08-02 01:51:52 +00:00
test Revert "Add r159136 back now that pr13124 has been fixed." 2013-09-04 16:09:01 +00:00
tools Print string value for DT_RPATH and DT_RUNPATH. 2013-09-03 17:13:53 +00:00
unittests Move generic isPrint and columnWidth implementations to a separate header/source to allow using both generic and system-dependent versions on win32. 2013-09-04 16:00:12 +00:00
utils [lit] Allow config files to pass arbitrary values to child configs. 2013-09-03 23:32:55 +00:00
.arcconfig
.clang-format Add a clang-format file so that the tool can automatically detect the 2013-09-02 07:19:04 +00:00
.gitignore
CMakeLists.txt [conf] Add config variable to disable crash related overrides. 2013-08-30 20:39:21 +00:00
CODE_OWNERS.TXT
CREDITS.TXT Test commit. 2013-08-16 18:09:06 +00:00
LICENSE.TXT
LLVMBuild.txt
Makefile Fix regular expression used by 'make update' to only look for 'I' and '?' at the start of svn info results and to check for spaces after 'I' instead of just after '?'. 2013-07-03 14:48:37 +00:00
Makefile.common
Makefile.config.in
Makefile.rules Makefile.rules: Avoid -fomit-frame-pointer also on cygwin due to PR14646. 2013-08-18 03:38:40 +00:00
README.txt
configure [conf] Add config variable to disable crash related overrides. 2013-08-30 20:39:21 +00:00
llvm.spec.in

README.txt

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

This directory and its subdirectories contain source code for the Low Level
Virtual Machine, 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're writing a package for LLVM, see docs/Packaging.rst for our
suggestions.