Go to file
Roman Lebedev 9c17dad8f2 [AMDGPU] Recognize x & ((1 << y) - 1) pattern.
Summary:
As a followup for D48007.

Since we already handle `x << (bitwidth - y) >> (bitwidth - y)` pattern,
which does not have ub for both the edge cases (`y == 0`, `y == bitwidth`),
i think also handling a pattern that is ub for `y == bitwidth` should be fine.

Reviewers: nhaehnle, bogner, tstellar, arsenm

Reviewed By: arsenm

Subscribers: arsenm, kzhuravl, wdng, yaxunl, dstuttard, tpr, t-tye, llvm-commits

Tags: #amdgpu

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

llvm-svn: 334816
2018-06-15 09:56:39 +00:00
clang [ASTImporter] Corrected diagnostic client handling in tests. 2018-06-15 06:45:39 +00:00
clang-tools-extra [clangd] Fix buildbot error. 2018-06-15 09:32:36 +00:00
compiler-rt [compiler-rt] [builtins] Don't build __atomic_* by default. 2018-06-14 23:22:53 +00:00
debuginfo-tests [debuginfo-tests] Always use the system python to invoke llgdb.py. 2018-06-10 19:38:26 +00:00
libclc r600/fmin: Flush denormals before calling builtin. 2018-06-07 20:27:58 +00:00
libcxx [libcxx] [test] Strip trailing whitespace. NFC. 2018-06-14 00:12:20 +00:00
libcxxabi private_typeinfo: limit is_dst_type_derived_from_static_type optimization 2018-05-18 20:51:38 +00:00
libunwind [OR1K] Add the EPCR special-purpose register to register state. 2018-05-16 19:09:48 +00:00
lld Fix wasm responsefile lld test on Windows 2018-06-14 19:59:22 +00:00
lldb Add support for PLATFORM_*SIMULATOR 2018-06-15 02:50:45 +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 [AMDGPU] Recognize x & ((1 << y) - 1) pattern. 2018-06-15 09:56:39 +00:00
openmp [OpenMP] Fix formatting issues in kmp_stats.h 2018-06-08 22:27:53 +00:00
parallel-libs [Axccel] Remove -Wno-missing-braces in build 2016-12-19 21:34:07 +00:00
polly Simplify the implementation of getCUDALibDeviceFunction. NFC. 2018-06-14 08:54:55 +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.