Go to file
Justin Lebar 698c31b8db [NVPTX] Upgrade NVVM intrinsics in InstCombineCalls.
Summary:
There are many NVVM intrinsics that we can't entirely get rid of, but
that nonetheless often correspond to target-generic LLVM intrinsics.

For example, if flush denormals to zero (ftz) is enabled, we can convert
@llvm.nvvm.ceil.ftz.f to @llvm.ceil.f32.  On the other hand, if ftz is
disabled, we can't do this, because @llvm.ceil.f32 will be lowered to a
non-ftz PTX instruction.  In this case, we can, however, simplify the
non-ftz nvvm ceil intrinsic, @llvm.nvvm.ceil.f, to @llvm.ceil.f32.

These transformations are particularly useful because they let us
constant fold instructions that appear in libdevice, the bitcode library
that ships with CUDA and essentially functions as its libm.

Reviewers: tra

Subscribers: hfinkel, majnemer, llvm-commits

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

llvm-svn: 293244
2017-01-27 00:58:58 +00:00
clang Re-apply r292662, "IRGen: Start using the WriteThinLTOBitcode pass." 2017-01-26 23:51:50 +00:00
clang-tools-extra [Clang-tidy documentation] Consistency (fix-it); 80 characters per line. 2017-01-26 23:58:21 +00:00
compiler-rt [sanitizer] Remove -fno-function-sections from SANITIZER_COMMON_CFLAGS 2017-01-26 22:50:22 +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: Add logb builtin 2017-01-18 03:14:10 +00:00
libcxx Disable thread safety analysis for some functions in __thread_support 2017-01-26 18:37:18 +00:00
libcxxabi Fix chromium build (libcxxabi) 2017-01-26 10:38:03 +00:00
libunwind DWARF: fix -Asserts builds 2017-01-25 02:27:45 +00:00
lld Fix -r when the input has a relocation with no symbol. 2017-01-26 14:09:18 +00:00
lldb Removed an unneccesary #if now that debugserver-mini links Foundation. 2017-01-26 08:51:32 +00:00
llgo [llgo] Remove support for LLVM attributes 2016-12-06 19:22:04 +00:00
llvm [NVPTX] Upgrade NVVM intrinsics in InstCombineCalls. 2017-01-27 00:58:58 +00:00
openmp [OpenMP] Initial implementation of OpenMP offloading library - libomptarget. 2017-01-25 21:27:24 +00:00
parallel-libs [Axccel] Remove -Wno-missing-braces in build 2016-12-19 21:34:07 +00:00
polly [ScopDetectionDiagnostic] Add meaningfull enduser message for regions with entry block 2017-01-26 10:41:37 +00:00