llvm/lib
Rafael Espindola 670655471d Assert on duplicate registration. Don't depend on function pointer equality.
Before this patch we would assert when building llvm as multiple shared
libraries (cmake's BUILD_SHARED_LIBS). The problem was the line

if (T.AsmStreamerCtorFn == Target::createDefaultAsmStreamer)

which returns false because of -fvisibility-inlines-hidden. It is easy
to fix just this one case, but I decided to try to also make the
registration more strict. It looks like the old logic for ignoring
followup registration was just a temporary hack that outlived its
usefulness.

This patch converts the ifs to asserts, fixes the few cases that were
registering twice and makes sure all the asserts compare with null.

Thanks for Joerg for reporting the problem and reviewing the patch.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@192803 91177308-0d34-0410-b5e6-96231b3b80d8
2013-10-16 16:21:40 +00:00
..
Analysis Remove x86_sse42_crc32_64_8 intrinsic. It has no functional difference from x86_sse42_crc32_32_8 and was not mapped to a clang builtin. I'm not even sure why this form of the instruction is even called out explicitly in the docs. Also add AutoUpgrade support to convert it into the other intrinsic with appropriate trunc and zext. 2013-10-15 05:20:47 +00:00
AsmParser Add a GlobalAlias::isValidLinkage to reduce code duplication. 2013-10-09 16:07:32 +00:00
Bitcode Update comment list of GLOBALVAR modifiers in BitcodeWriter to include externally_initialized. 2013-10-14 22:36:51 +00:00
CodeGen DAGCombiner: Don't fold xor into not if getNOT would introduce an illegal constant. 2013-10-16 14:16:19 +00:00
DebugInfo [DebugInfo] Further simplify DWARFDebugAranges public interface 2013-10-02 07:12:47 +00:00
ExecutionEngine Really fix build warning/error that I think r192756 was trying to fix. 2013-10-16 06:50:36 +00:00
IR TypeFinder: prefer iterative algorithm to keep stack usage low. 2013-10-16 04:10:06 +00:00
IRReader Add 'const' qualifiers to static const char* variables. 2013-07-16 01:17:10 +00:00
Linker Add a 'deleteModule' method to the Linker class. 2013-10-16 08:59:57 +00:00
LTO Add a 'deleteModule' method to the Linker class. 2013-10-16 08:59:57 +00:00
MC Revert r192758 (and r192759), "MC: Better handling of tricky symbol and section names" 2013-10-16 08:22:49 +00:00
Object Path: Recognize Windows compiled resource file. 2013-10-15 22:45:38 +00:00
Option Fix another mistake in r190442. 2013-09-10 23:22:56 +00:00
Support Fix a bug in Windows resource file detection. 2013-10-16 03:29:49 +00:00
TableGen Add an error check for a typo I accidentally made in a td file that caused an assert to fire. 2013-08-20 04:22:09 +00:00
Target Assert on duplicate registration. Don't depend on function pointer equality. 2013-10-16 16:21:40 +00:00
Transforms SLPVectorizer: Don't vectorize volatile memory operations 2013-10-16 16:09:00 +00:00
CMakeLists.txt Move LTO support library to a component, allowing it to be tested 2013-09-24 23:52:22 +00:00
LLVMBuild.txt Move LTO support library to a component, allowing it to be tested 2013-09-24 23:52:22 +00:00
Makefile Move LTO support library to a component, allowing it to be tested 2013-09-24 23:52:22 +00:00