llvm-project/llvm/lib/Transforms
Ahmed Bougacha 408d010a7c [SimplifyLibCalls] Ignore nobuiltin/unavailable fortified libcalls.
We used to do this before refactorings around r225640.
Some clang users checked for _chk libcall availability using:
  __has_builtin(__builtin___memcpy_chk)
When compiling with -fno-builtin, this is always true.
When passing -ffreestanding/-mkernel, which both imply -fno-builtin, we
end up with fortified libcalls, which isn't acceptable in a freestanding
environment which only provides their non-fortified counterparts.

Until we change clang and/or teach external users to check for availability
differently, disregard the "nobuiltin" attribute and TLI::has.

Workaround for PR23093.

llvm-svn: 233776
2015-04-01 00:45:09 +00:00
..
Hello [CMake] Add LLVM_LINK_COMPONENTS to loadable modules, LLVMHello and BugpointPasses, on Win32. 2014-07-13 13:36:48 +00:00
IPO [opaque pointer type] Change GetElementPtrInst::getIndexedType to take the pointee type 2015-03-30 21:41:43 +00:00
InstCombine [opaque pointer type] Change GetElementPtrInst::getIndexedType to take the pointee type 2015-03-30 21:41:43 +00:00
Instrumentation Transforms: Use the new DebugLoc API, NFC 2015-03-30 19:49:49 +00:00
ObjCARC Re-sort includes with sort-includes.py and insert raw_ostream.h where it's used. 2015-03-23 19:32:43 +00:00
Scalar Transforms: Use the new DebugLoc API, NFC 2015-03-30 19:49:49 +00:00
Utils [SimplifyLibCalls] Ignore nobuiltin/unavailable fortified libcalls. 2015-04-01 00:45:09 +00:00
Vectorize Transforms: Use the new DebugLoc API, NFC 2015-03-30 19:49:49 +00:00
CMakeLists.txt Extracted ObjCARC.cpp into its own library libLLVMObjCARCOpts in preparation for refactoring the ARC Optimizer. 2013-01-28 01:35:51 +00:00
LLVMBuild.txt Extracted ObjCARC.cpp into its own library libLLVMObjCARCOpts in preparation for refactoring the ARC Optimizer. 2013-01-28 01:35:51 +00:00
Makefile Extracted ObjCARC.cpp into its own library libLLVMObjCARCOpts in preparation for refactoring the ARC Optimizer. 2013-01-28 01:35:51 +00:00