1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-25 14:02:52 +02:00
llvm-mirror/lib
Jingyue Wu a5bed5dde5 [NVPTX] run LSR before straight-line optimizations
Summary:
Straight-line optimizations can simplify the loop body and make LSR's
cost analysis more precise. This significantly improves several Eigen3
CUDA benchmarks.

With this change, EigenContractionKernel runs up to 40% faster
(753ceee5f2/unsupported/Eigen/CXX11/src/Tensor/TensorContractionCuda.h (cl-502)).
EigenConvolutionKernel2D runs up to 10% faster
(753ceee5f2/unsupported/Eigen/CXX11/src/Tensor/TensorConvolution.h (cl-605)).

I have some difficulties writing small tests that benefit from this
reordering due to a seemingly issue with LSR (being discussed at
http://lists.cs.uiuc.edu/pipermail/llvmdev/2015-July/088244.html).

See the review thread for the compilation time impact of GVN. 

Reviewers: eliben, jholewinski

Subscribers: llvm-commits, jholewinski

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

llvm-svn: 242982
2015-07-23 04:59:07 +00:00
..
Analysis [GMR] Further improve the FunctionInfo API inside of GlobalsModRef, NFC. 2015-07-23 00:12:32 +00:00
AsmParser AsmParser: Add a function to parse a standalone constant value. 2015-07-17 22:07:03 +00:00
Bitcode Add argmemonly attribute. 2015-07-11 10:30:36 +00:00
CodeGen [PeepholeOptimizer] Refactor optimizeUncoalescable logic 2015-07-22 21:30:16 +00:00
DebugInfo
ExecutionEngine Fix -Wextra-semi warnings. 2015-07-22 20:46:11 +00:00
Fuzzer [Fuzzer] Rely on $PATH expansion instead of hardcoding paths in tests. NFC. 2015-07-21 22:51:55 +00:00
IR Fix -Wextra-semi warnings. 2015-07-22 20:46:11 +00:00
IRReader
LibDriver Add support for producing thin archives in llvm-lib. 2015-07-17 16:01:11 +00:00
LineEditor
Linker
LTO
MC Fix a -Winconsistent-missing-override failure in the .intel_syntax 2015-07-22 11:22:29 +00:00
Object Fix fetching the symbol table of a thin archive. 2015-07-22 19:34:26 +00:00
Option
Passes
ProfileData
Support Rename RunCallBacksToRun to llvm::sys::RunSignalHandlers 2015-07-22 21:11:17 +00:00
TableGen
Target [NVPTX] run LSR before straight-line optimizations 2015-07-23 04:59:07 +00:00
Transforms [PM/AA] Extract the ModRef enums from the AliasAnalysis class in 2015-07-22 23:15:57 +00:00
CMakeLists.txt
LLVMBuild.txt
Makefile