llvm/lib
Peter Zotov 6a4952db2d [CodeGenPrepare] Avoid sinking soft-FP comparisons
Sinking comparisons in CGP can undo the job of hoisting them done
earlier by LICM, and soft-FP makes this an expensive mistake.

A common pattern that produces floating point comparisons uniform
over a loop is an explicit check for division by zero. If the divisor
is hoisted out of the loop, the comparison can also be, but hoisting
the function that unwinds is never legal, since it may cause side
effects in the loop body prior to the unwinding to not be executed.

Differential Revision: http://reviews.llvm.org/D18744

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@265264 91177308-0d34-0410-b5e6-96231b3b80d8
2016-04-03 16:36:17 +00:00
..
Analysis Mark some FP intrinsics as safe to speculatively execute 2016-04-03 12:30:46 +00:00
AsmParser Rename Context::discardValueNames() to shouldDiscardValueNames() (NFC) 2016-04-02 03:46:17 +00:00
Bitcode Rename FunctionIndex into GlobalValueIndex to reflect the recent changes (NFC) 2016-04-02 17:29:47 +00:00
CodeGen [CodeGenPrepare] Avoid sinking soft-FP comparisons 2016-04-03 16:36:17 +00:00
DebugInfo Make DIASession work if msdia*.dll isn't registered. 2016-04-01 22:21:51 +00:00
ExecutionEngine More more change need as part of r264187 where ErrorOr<> was added 2016-03-23 21:20:16 +00:00
Fuzzer [libfuzzer] adding license headers to cpp files 2016-04-01 18:38:58 +00:00
IR constify GlobalValue::getGUID() and GlobalValue::getGlobalIdentifier() (NFC) 2016-04-02 05:25:27 +00:00
IRReader
LibDriver
LineEditor Fix Clang-tidy modernize-deprecated-headers warnings in some files; other minor fixes. 2016-03-28 17:40:08 +00:00
Linker Linker: Split mapUnneededSubprograms into two; almost NFC 2016-04-02 17:54:01 +00:00
LTO Revert "ThinLTO: add module caching handling." 2016-04-02 05:08:18 +00:00
MC Handle section vs global name conflict. 2016-03-28 20:36:28 +00:00
Object Object: Correctly read thin archives containing absolute paths. 2016-03-31 22:08:31 +00:00
ObjectYAML [lanai] Add Lanai backend. 2016-03-28 13:09:54 +00:00
Option
Passes
ProfileData Fix buildbot lldb-amd64-ninja-netbsd7 failure 2016-04-01 20:15:04 +00:00
Support Add Cache Pruning support 2016-04-02 03:28:26 +00:00
TableGen
Target [X86] Tidied up X86ISD instruction nodes. NFCI. 2016-04-03 14:14:32 +00:00
Transforms [SimplifyLibCalls] Garbage collect dead code. 2016-04-03 01:46:52 +00:00
CMakeLists.txt
LLVMBuild.txt