Go to file
Craig Topper 242374e219 [X86] Don't remove sign extend of gather/scatter indices during SelectionDAGBuilder.
The sign extend might be from an i16 or i8 type and was inserted by InstCombine to match the pointer width. X86 gather legalization isn't currently detecting this to reinsert a sign extend to make things legal.

It's a bit weird for the SelectionDAGBuilder to do this kind of optimization in the first place. With this removed we can at least lean on InstCombine somewhat to ensure the index is i32 or i64.

I'll work on trying to recover some of the test cases by removing sign extends in the backend when its safe to do so with an understanding of the current legalizer capabilities.

This should fix PR30690.

llvm-svn: 318466
2017-11-16 23:08:57 +00:00
clang Issue -Wempty-body warnings for else blocks 2017-11-16 21:26:18 +00:00
clang-tools-extra [clangd] Use in-memory preambles in clangd. 2017-11-16 16:25:18 +00:00
compiler-rt [libFuzzer] Make merge-sigusr.test work on Mac. 2017-11-16 23:06:17 +00:00
debuginfo-tests Resubmit "Refactor debuginfo-tests" 2017-11-16 18:26:20 +00:00
libclc math: Implement minmag 2017-11-15 04:10:39 +00:00
libcxx Mark free functions size/empty/data conditionally noexcept. 2017-11-16 17:55:41 +00:00
libcxxabi Remove excess whitespace from syslog message; NFC 2017-11-13 15:40:31 +00:00
libunwind Remove a FIXME about truncated section names 2017-11-16 19:36:48 +00:00
lld [ELF] Fix broken LTO cache test NFC 2017-11-16 17:25:12 +00:00
lldb Fixed up to use a class for the commands, renamed the commands and added a way to just dump the compile unit full paths and optionally their support files with the new "dump-files"command. 2017-11-16 17:14:48 +00:00
llgo irgen: Create functions instead of global variables for builtin hash and equal algorithms. 2017-06-04 22:11:28 +00:00
llvm [X86] Don't remove sign extend of gather/scatter indices during SelectionDAGBuilder. 2017-11-16 23:08:57 +00:00
openmp Exclude untied tasks from checking of task scheduling constraint (TSC). 2017-11-16 10:45:07 +00:00
parallel-libs [Axccel] Remove -Wno-missing-braces in build 2016-12-19 21:34:07 +00:00
polly [SI] Fix a potential use-after-free 2017-11-16 16:35:19 +00:00
README.md Add an svn project to contain the files that appear at the root of the 2017-10-19 21:09:49 +00:00

README.md

Low Level Virtual Machine (LLVM)

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