llvm-project/llvm/lib
Craig Topper 49687104d6 [PartialInlineLibCalls] Teach PartialInlineLibCalls to honor nobuiltin, properly check the function signature, and check TLI::has
Summary:
We shouldn't do this transformation if the function is marked nobuitlin.

We were only checking that the return type is floating point, we really should be checking the argument types and argument count as well. This can be accomplished by using the other version of getLibFunc that takes the Function and not just the name.

We should also be checking TLI::has since sqrtf is a macro on Windows.

Fixes PR32559.

Reviewers: hfinkel, spatel, davide, efriedma

Reviewed By: davide, efriedma

Subscribers: efriedma, llvm-commits, eraman

Differential Revision: https://reviews.llvm.org/D39381

llvm-svn: 316819
2017-10-28 00:36:58 +00:00
..
Analysis Improve clamp recognition in ValueTracking. 2017-10-27 20:53:41 +00:00
AsmParser Represent runtime preemption in the IR. 2017-10-26 15:00:26 +00:00
BinaryFormat Simplify. 2017-10-19 01:32:18 +00:00
Bitcode Represent runtime preemption in the IR. 2017-10-26 15:00:26 +00:00
CodeGen Add a few missing headers for modularization/IWYU/etc 2017-10-27 22:12:46 +00:00
DebugInfo Fix BB after r316756 "[llvm-dwarfdump] - Teach verifier to report broken DWARF expressions." 2017-10-27 10:58:04 +00:00
Demangle [ItaniumDemangle] Fix a exponential string copying bug 2017-05-28 23:24:52 +00:00
ExecutionEngine ExecutionEngine: make COFF Thumb2 assertions non-tautological 2017-10-22 20:51:25 +00:00
FuzzMutate FuzzMutate: Fix arch parsing in FuzzerCLI 2017-10-17 02:39:40 +00:00
Fuzzer [libFuzzer] Delete llvm/lib/Fuzzer 2017-10-16 20:48:19 +00:00
IR [LLVM-C] Publicly expose getters of MetadataType, TokenType 2017-10-27 11:51:40 +00:00
IRReader Move the stripping of invalid debug info from the Verifier to AutoUpgrade. 2017-10-02 18:31:29 +00:00
LTO [raw_fd_ostream] report actual error in error messages 2017-10-24 01:26:22 +00:00
LineEditor
Linker Linker: Create a function declaration when moving a non-prevailing alias of function type. 2017-08-10 01:07:44 +00:00
MC [WebAssembly] MC: Don't allow zero sized data segments 2017-10-27 00:08:55 +00:00
Object Revert "Add support for writing 64-bit symbol tables for archives when offsets become too large for 32-bit" 2017-10-27 23:39:31 +00:00
ObjectYAML llvm-readobj: Add support for reading relocations in the Android packed format. 2017-10-25 03:37:12 +00:00
Option Reverting r315590; it did not include changes for llvm-tblgen, which is causing link errors for several people. 2017-10-15 14:32:27 +00:00
Passes Add CalledValuePropagation pass 2017-10-25 13:40:08 +00:00
ProfileData [Coverage] Provide a stable order for getInstantiationGroups 2017-10-24 22:35:29 +00:00
Support [support] remove tautological comparison in Support/Windows/Path.inc 2017-10-27 23:41:17 +00:00
TableGen Reverting r315590; it did not include changes for llvm-tblgen, which is causing link errors for several people. 2017-10-15 14:32:27 +00:00
Target AMDGPU/GlobalISel: Mark 32-bit G_FADD as legal 2017-10-27 23:57:41 +00:00
Testing Force #define GTEST_LANG_CXX11. 2017-10-27 21:12:28 +00:00
ToolDrivers [COFF] Improve the check for functions that should get an extra underscore 2017-10-23 09:08:13 +00:00
Transforms [PartialInlineLibCalls] Teach PartialInlineLibCalls to honor nobuiltin, properly check the function signature, and check TLI::has 2017-10-28 00:36:58 +00:00
WindowsManifest Fix bug 34608 by moving private header out of public header. 2017-09-14 23:01:13 +00:00
XRay [XRay][tools] Support arg1 logging entries in the basic logging mode 2017-10-05 05:18:17 +00:00
CMakeLists.txt Moving libFuzzer from LLVM to compiler-rt. 2017-08-21 23:25:12 +00:00
LLVMBuild.txt Re-apply "Introduce FuzzMutate library" 2017-08-21 22:57:06 +00:00