llvm-project/llvm/test
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
..
Analysis [SCEV] Introduce add operation inlining limit 2017-01-26 13:33:17 +00:00
Assembler [NVPTX] Auto-upgrade some NVPTX intrinsics to LLVM target-generic code. 2017-01-21 01:00:32 +00:00
Bindings [cmake] Canonicalize CMake booleans to 0/1 for lit interop 2017-01-06 21:33:48 +00:00
Bitcode [ThinLTO] Subsume all importing checks into a single flag 2017-01-05 14:32:16 +00:00
BugPoint
CodeGen GlobalISel: support debug intrinsics. 2017-01-26 23:39:14 +00:00
DebugInfo [pdb] Fix failing test 2017-01-25 21:21:02 +00:00
Examples
ExecutionEngine RuntimeDyldELF: add LDST128_ABS_LO12_NC reloc 2017-01-23 13:52:08 +00:00
Feature Add intrinsics for constrained floating point operations 2017-01-26 23:27:59 +00:00
FileCheck Commit a test for match-full-lines. 2017-01-09 23:11:25 +00:00
Instrumentation [sanitizer-coverage] emit __sanitizer_cov_trace_pc_guard w/o a preceding 'if' by default. Update the docs, also add deprecation notes around other parts of sanitizer coverage 2017-01-24 00:57:31 +00:00
Integer
JitListener [cmake] Canonicalize CMake booleans to 0/1 for lit interop 2017-01-06 21:33:48 +00:00
LTO IPO, LTO: Plumb the summary from the LTO API into the pass manager. 2017-01-20 22:18:52 +00:00
LibDriver LibDriver: Allow resource files to be archive members. 2016-12-15 19:37:46 +00:00
Linker Renumber testcase metadata nodes after r290153. 2016-12-22 00:45:21 +00:00
MC Revert "[mips] N64 static relocation model support" 2017-01-26 10:46:07 +00:00
Object [obj2yaml] Produce correct output for invalid relocations. 2017-01-26 23:12:53 +00:00
ObjectYAML Attempt to fix the testcase in r292824 2017-01-23 20:42:17 +00:00
Other [PM] Flesh out almost all of the late loop passes. 2017-01-27 00:50:21 +00:00
SymbolRewriter
TableGen [tablegen] Delete duplicates from a vector without skipping elements 2016-12-01 19:38:50 +00:00
ThinLTO/X86 [LTO] Add test to show up we don't support ThinLTO yet. 2017-01-24 00:59:00 +00:00
Transforms [NVPTX] Upgrade NVVM intrinsics in InstCombineCalls. 2017-01-27 00:58:58 +00:00
Unit
Verifier Add intrinsics for constrained floating point operations 2017-01-26 23:27:59 +00:00
YAMLParser
tools gold-plugin: Fix test case. 2017-01-26 02:15:08 +00:00
.clang-format
CMakeLists.txt [llvm-config] Print --system-libs only when static linking 2017-01-06 21:33:54 +00:00
TestRunner.sh
lit.cfg [llvm-config] Print --system-libs only when static linking 2017-01-06 21:33:54 +00:00
lit.site.cfg.in [llvm-config] Print --system-libs only when static linking 2017-01-06 21:33:54 +00:00