1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-21 12:02:58 +02:00
llvm-mirror/lib
Charlie Turner e780735f3d [ARM] Don't pessimize i32 vselect.
The underlying issues surrounding codegen for 32-bit vselects have been resolved. The pessimistic costs for 64-bit vselects remain due to the bad
scalarization that is still happening there.

I tested this on A57 in T32, A32 and A64 modes. I saw no regressions, and some improvements.

From my benchmarks, I saw these improvements in A57 (T32)
spec.cpu2000.ref.177_mesa 5.95%
lnt.SingleSource/Benchmarks/Shootout/strcat 12.93%
lnt.MultiSource/Benchmarks/MiBench/telecomm-CRC32/telecomm-CRC32 11.89%

I also measured A57 A32, A53 T32 and A9 T32 and found no performance regressions. I see much bigger wins in third-party benchmarks with this change

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

llvm-svn: 253349
2015-11-17 17:25:15 +00:00
..
Analysis [AliasAnalysis] CatchPad and CatchRet can modify escaped memory 2015-11-17 08:15:14 +00:00
AsmParser [IR] Add support for empty tokens 2015-11-11 21:57:16 +00:00
Bitcode Use a different block id for block of metadata kind records 2015-11-15 02:00:09 +00:00
CodeGen Lower statepoints with multi-def targets. 2015-11-17 16:04:21 +00:00
DebugInfo Fix indentation 2015-11-17 00:41:02 +00:00
ExecutionEngine [RuntimeDyld] Fix indentation and whitespace; NFC 2015-11-14 00:16:15 +00:00
Fuzzer [libFuzzer] make libFuzzer build even with a compiler that does not have sanitizer headers 2015-11-13 01:54:40 +00:00
IR Drop prelink support. 2015-11-17 00:51:23 +00:00
IRReader
LibDriver [Option] Use an ArrayRef to store the Option Infos in OptTable. NFC 2015-10-21 16:30:42 +00:00
LineEditor
Linker Fix mapping of unmaterialized global values during metadata linking 2015-11-15 14:50:14 +00:00
LTO Add a libLTO diagnostic handler that supports lto_get_error_message API 2015-11-11 19:59:08 +00:00
MC [Assembler] Make fatal assembler errors non-fatal 2015-11-17 10:00:43 +00:00
Object ELFYAML: Add support for parsing AMDGPU section attribute flags 2015-11-13 17:06:29 +00:00
Option [Option] Use an ArrayRef to store the Option Infos in OptTable. NFC 2015-10-21 16:30:42 +00:00
Passes [PM] Port StripDeadPrototypes to the new pass manager 2015-10-30 23:28:12 +00:00
ProfileData Fix unaligned memory read issue exposed by ubsan 2015-11-17 03:47:21 +00:00
Support [Support] Tweak path::system_temp_directory() on Windows. 2015-11-17 16:54:32 +00:00
TableGen [TblGen] ArrayRefize TGParser. No functional change intended. 2015-10-24 12:46:45 +00:00
Target [ARM] Don't pessimize i32 vselect. 2015-11-17 17:25:15 +00:00
Transforms function names start with a lower case letter; NFC 2015-11-17 17:24:08 +00:00
CMakeLists.txt
LLVMBuild.txt
Makefile