Go to file
Simon Pilgrim c2d9cfd925 [X86] Disable shouldFoldConstantShiftPairToMask for scalar shifts on AMD targets (PR40758)
D61068 handled vector shifts, this patch does the same for scalars where there are similar number of pipes for shifts as bit ops - this is true almost entirely for AMD targets where the scalar ALUs are well balanced.

This combine avoids AND immediate mask which usually means we reduce encoding size.

Some tests show use of (slow, scaled) LEA instead of SHL in some cases, but thats due to particular shift immediates - shift+mask generate these just as easily.

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

llvm-svn: 360684
2019-05-14 15:21:28 +00:00
clang [Sema] CodeSynthesisContext - add missing variable initialization to constructor. NFCI. 2019-05-14 14:58:47 +00:00
clang-tools-extra [clang-tidy] readability-redundant-declaration: fix false positive with C "extern inline" 2019-05-13 19:21:57 +00:00
compiler-rt [compiler-rt] Fix crtbegin.c compilation 2019-05-11 02:33:33 +00:00
debuginfo-tests Set config.lit_tools_dir, which is needed by lit.llvm.initialize. 2018-11-06 21:54:27 +00:00
libclc travis: Add LLVM-8 build 2019-03-27 21:28:31 +00:00
libcxx [libc++] [test] Use std::nextafter() instead of std::nexttoward() 2019-05-14 13:56:20 +00:00
libcxxabi minor cmake formatting style fix 2019-05-07 13:14:14 +00:00
libunwind Add a new LIBUNWIND_WEAK_PTHREAD Cmake option to force 2019-05-13 18:45:03 +00:00
lld [ELF] --gdb-index: fix SIGSEGV when a DWARFAddressRange has invalid SectionIndex 2019-05-14 14:41:20 +00:00
lldb DWARF/NFC: Centralize DIERef conversions 2019-05-14 12:44:40 +00:00
llgo IR: Support parsing numeric block ids, and emit them in textual output. 2019-03-22 18:27:13 +00:00
llvm [X86] Disable shouldFoldConstantShiftPairToMask for scalar shifts on AMD targets (PR40758) 2019-05-14 15:21:28 +00:00
openmp fixed typo made by commit r360595 2019-05-13 17:04:32 +00:00
parallel-libs Fix typos throughout the license files that somehow I and my reviewers 2019-01-21 09:52:34 +00:00
polly [ZoneAlgo] Fix PHI inconsistency in invalid contexts. 2019-05-10 18:38:13 +00:00
pstl [pstl] Make the default backend be the serial backend and always provide parallel policies 2019-04-24 20:12:36 +00:00
.arcconfig Update monorepo .arcconfig with new project callsign. 2019-01-31 14:34:59 +00:00
.clang-format Add .clang-tidy and .clang-format files to the toplevel of the 2019-01-29 16:43:16 +00:00
.clang-tidy Disable tidy checks with too many hits 2019-02-01 11:20:13 +00:00
.gitignore Add a reduced copy of the llvm .gitignore 2019-04-09 00:52:49 +00:00
README.md

README.md

The LLVM Compiler Infrastructure

This directory and its subdirectories contain source code for LLVM, a toolkit for the construction of highly optimized compilers, optimizers, and runtime environments.