Go to file
Silviu Baranga 46030585b3 [DAGCombine] Catch the case where extract_vector_elt can cause an any_ext while processing AND SDNodes
Summary:
extract_vector_elt can cause an implicit any_ext if the types don't
match. When processing the following pattern:

  (and (extract_vector_elt (load ([non_ext|any_ext|zero_ext] V))), c)

DAGCombine was ignoring the possible extend, and sometimes removing
the AND even though it was required to maintain some of the bits
in the result to 0, resulting in a miscompile.

This change fixes the issue by limiting the transformation only to
cases where the extract_vector_elt doesn't perform the implicit
extend.

Reviewers: t.p.northover, jmolloy

Subscribers: llvm-commits

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

llvm-svn: 263935
2016-03-21 11:43:46 +00:00
clang clang/test/CodeGenCXX/cxx1z-lambda-star-this.cpp: Satisfy -Asserts. 2016-03-21 11:40:15 +00:00
clang-tools-extra [clang-tidy] Update check for API change in r263895. 2016-03-20 14:24:49 +00:00
compiler-rt [tsan] Build TSan dylibs for iOS-style simulators 2016-03-20 17:35:45 +00:00
debuginfo-tests New round of fixes for "Always compile debuginfo-tests for the host triple" 2014-10-18 23:47:59 +00:00
libclc math: Fix ilogb(double) return type 2016-02-24 00:52:15 +00:00
libcxx Missing ATOMIC_*_LOCK_FREE tests 2016-03-18 17:48:58 +00:00
libcxxabi [libcxxabi] Disable cxa_thread_atexit_test if unavailable 2016-03-17 10:00:24 +00:00
libunwind [AArch64] Fix libunwind build when using GNU assembler 2016-02-11 21:22:57 +00:00
lld Eliminated trailing whitespaces from test. NFC. 2016-03-21 11:23:53 +00:00
lldb Attempt to fix MSVC build (no __attribute__ there) 2016-03-20 13:37:55 +00:00
llgo [llgo] Roll gofrontend forward 2016-03-15 05:36:43 +00:00
llvm [DAGCombine] Catch the case where extract_vector_elt can cause an any_ext while processing AND SDNodes 2016-03-21 11:43:46 +00:00
openmp Update www/index.html to reflect current status of OpenMP project 2016-03-18 14:50:01 +00:00
polly ScopInfo: Do not generate dependences for i1 values used in affine branches 2016-03-16 23:33:54 +00:00