Go to file
Craig Topper 75afc0105c [X86] Sign extend the 8-bit immediate when commuting blend instructions to match isel.
Conversion from ConstantSDNode to MachineInstr sign extends immediates from their APInt representation to int64_t.

This commit makes sure we do the same for commuting. The tests changes show how this improves CSE. This issue was made worse by the MachineCSE using commuteInstruction to undo a commute. So we virtually guarantee the sign extend from isel would be lost.

The improved CSE also occurred with r354363, but that was reverted. I'm working to undo the revert, but wanted to get this fix in while it was easy to see the results.

llvm-svn: 354724
2019-02-23 08:34:10 +00:00
clang Remove OpenBSD case for old system libstdc++ header path as OpenBSD 2019-02-23 07:21:19 +00:00
clang-tools-extra [clangd] Don't attach FixIt to the source code in macro. 2019-02-22 09:43:56 +00:00
compiler-rt Remove overly broad assert from r354717. 2019-02-23 05:48:50 +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 Adjust documentation for git migration. 2019-01-29 16:37:27 +00:00
libcxx [NFC] Fix incorrect comment in std::function test 2019-02-21 00:53:26 +00:00
libcxxabi [libcxxabi][CMake] Drop unused HandleOutOfTreeLLVM include 2019-02-18 20:58:06 +00:00
libunwind [CMake] Don't cache LLVM_MAIN_SRC_DIR 2019-02-13 07:09:26 +00:00
lld [LLD][COFF] Add support for /FUNCTIONPADMIN command-line option 2019-02-23 01:46:18 +00:00
lldb Revert r354706 - lit touched my thigh 2019-02-23 01:08:17 +00:00
llgo Adjust documentation for git migration. 2019-01-29 16:37:27 +00:00
llvm [X86] Sign extend the 8-bit immediate when commuting blend instructions to match isel. 2019-02-23 08:34:10 +00:00
openmp [OpenMP] Fix check-openmp after r354553 2019-02-21 12:00:57 +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 [opaque pointer types] Update calls to CreateCall to pass the function 2019-02-08 19:30:46 +00:00
pstl [pstl] Remove some warnings when compiling with a recent Clang 2019-02-15 17:30:35 +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
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.