llvm-project/llvm/lib
Stanislav Mekhanoshin d8c9374797 Fix invariant fdiv hoisting in LICM
FDiv is replaced with multiplication by reciprocal and invariant
reciprocal is hoisted out of the loop, while multiplication remains
even if invariant.

Switch checks for all invariant operands and only invariant
denominator to fix the issue.

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

llvm-svn: 335411
2018-06-23 04:01:28 +00:00
..
Analysis [MSSA] Remove incorrect comment + `auto`ify dyn_cast results; NFC 2018-06-22 22:34:07 +00:00
AsmParser [ThinLTO] Print module summary index to assembly 2018-05-26 02:34:13 +00:00
BinaryFormat [WebAssembly] Move toString helpers to BinaryFormat 2018-05-14 22:42:07 +00:00
Bitcode [ThinLTO] Rename index IsAnalysis flag to HaveGVs (NFC) 2018-06-06 22:22:01 +00:00
CodeGen Initialize LiveRegs once in BranchFolder::mergeCommonTails 2018-06-22 16:38:38 +00:00
DebugInfo [DWARF] Improved error reporting for range lists. 2018-06-20 22:56:37 +00:00
Demangle Move Compiler.h from Demangle back to Support 2018-06-04 22:53:38 +00:00
ExecutionEngine [ORC] Fix formatting and list pending queries in VSO::dump. 2018-06-23 02:22:10 +00:00
FuzzMutate [llvm-opt-fuzzer] Add irce to the fuzzing options 2018-03-20 11:32:13 +00:00
Fuzzer
IR [IR] Split Intrinsics.inc into enums and implementations 2018-06-23 02:02:38 +00:00
IRReader LLParser: add an argument for overriding data layout and do not check alloca addr space 2018-01-30 22:32:39 +00:00
LTO LTO: Keep file handles open for memory mapped files. 2018-06-13 18:03:14 +00:00
LineEditor
Linker IRMover: Account for matching types present across modules 2018-06-20 16:50:56 +00:00
MC [DWARFv5] Allow ".loc 0" to refer to the root file. 2018-06-22 14:16:11 +00:00
Object [MachO] Add out-of-bounds check to MachOObjectFile.cpp 2018-06-04 17:01:20 +00:00
ObjectYAML [MC] Add assembler support for .cg_profile. 2018-06-02 16:33:01 +00:00
Option Re-revert "[Option] Fix PR37006 prefix choice in findNearest" 2018-05-19 16:21:01 +00:00
Passes [PM/LoopUnswitch] When using the new SimpleLoopUnswitch pass, schedule 2018-05-30 02:46:45 +00:00
ProfileData [NFC] Change sample profile format enum name SPF_Raw_Binary to SPF_Binary. 2018-06-12 05:53:49 +00:00
Support Fix namespaces. No functionality change. 2018-06-16 13:37:52 +00:00
TableGen TableGen: Allow foreach in multiclass to depend on template args 2018-06-21 13:35:44 +00:00
Target [AMDGPU] Update includes for intrinsic changes :( 2018-06-23 03:05:39 +00:00
Testing [LLVMTestingSupport] Add explicit linkage to LLVMSupport 2018-04-08 06:49:17 +00:00
ToolDrivers [COFF] Improve correctness of def parsing for GNU features 2018-05-09 09:21:53 +00:00
Transforms Fix invariant fdiv hoisting in LICM 2018-06-23 04:01:28 +00:00
WindowsManifest Convert line endings of lib/WindowsManifest/CMakeLists.txt to unix. 2018-04-07 04:28:08 +00:00
XRay [XRay] clarify error messages when parsing broken traces 2018-01-30 13:41:34 +00:00
CMakeLists.txt
LLVMBuild.txt