llvm/test
Duncan P. N. Exon Smith f5d17528ee Module: Don't rename in getOrInsertFunction()
During LTO, user-supplied definitions of C library functions often
exist.  -instcombine uses Module::getOrInsertFunction() to get a handle
on library functions (e.g., @puts, when optimizing @printf).

Previously, Module::getOrInsertFunction() would rename any matching
functions with local linkage, and create a new declaration.  In LTO,
this is the opposite of desired behaviour, as it skips by the
user-supplied version of the library function and creates a new
undefined reference which the linker often cannot resolve.

After some discussing with Rafael on the list, it looks like it's
undesired behaviour.  If a consumer actually *needs* this behaviour, we
should add new API with a more explicit name.

I added two testcases: one specifically for the -instcombine behaviour
and one for the LTO flow.

<rdar://problem/16165191>

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@203513 91177308-0d34-0410-b5e6-96231b3b80d8
2014-03-10 23:42:28 +00:00
..
Analysis When analyzing vectors of element type that require legalization, 2014-03-10 22:59:13 +00:00
Assembler IR: Change inalloca's grammar a bit 2014-03-09 06:41:58 +00:00
Bindings Don't try to set a dummy DataLayout. It is parsed now. 2014-02-25 20:41:28 +00:00
Bitcode Ensure bitcode encoding of instructions and their operands stays stable. 2014-03-02 15:26:36 +00:00
BugPoint [bugpoint] Add testcase for r203343. 2014-03-10 16:58:54 +00:00
CodeGen Followup to r203483 - add test. 2014-03-10 20:36:04 +00:00
DebugInfo DebugInfo: Use DW_FORM_data4 for DW_AT_high_pc in DW_TAG_lexical_blocks 2014-03-08 00:58:20 +00:00
ExecutionEngine Ignore old JIT tests in AARch64 - CMake style 2014-02-25 09:31:00 +00:00
Feature Change math intrinsic attributes from readonly to readnone. These 2014-03-06 00:18:15 +00:00
FileCheck
Instrumentation [msan] Handle X86 SIMD bitshift intrinsics. 2014-03-03 13:47:42 +00:00
Integer
JitListener
Linker Add test for LinkModules warning on triple, modified by r203009. Datalayout is already tested. 2014-03-10 15:54:49 +00:00
LTO Module: Don't rename in getOrInsertFunction() 2014-03-10 23:42:28 +00:00
MC [mips] Implement NaCl sandboxing of loads, stores and SP changes: 2014-03-10 20:34:23 +00:00
Object Now that it is possible, use the mangler in IRObjectFile. 2014-02-28 02:17:23 +00:00
Other
TableGen
tools Fix the printing of n_type. 2014-03-06 20:13:41 +00:00
Transforms Use discriminator information in sample profiles. 2014-03-10 22:41:28 +00:00
Unit With rpaths being set correctly, SHLIBPATH_VAR is not needed anymore. 2014-02-28 16:16:51 +00:00
Verifier IR: Change inalloca's grammar a bit 2014-03-09 06:41:58 +00:00
YAMLParser
.clang-format
CMakeLists.txt [CMake] check-llvm: Include "bugpoint" in dependent list. 2014-03-04 16:13:30 +00:00
lit.cfg PGO: llvm-profdata: tool for merging profiles 2014-02-17 23:22:49 +00:00
lit.site.cfg.in
Makefile With rpaths being set correctly, SHLIBPATH_VAR is not needed anymore. 2014-02-28 16:16:51 +00:00
Makefile.tests
TestRunner.sh