llvm/test
Nicolai Haehnle 2ac1fa00c9 AMDGPU: Add amdgpu-ps-wqm-outputs function attributes
Summary:
The presence of this attribute indicates that VGPR outputs should be computed
in whole quad mode. This will be used by Mesa for prolog pixel shaders, so
that derivatives can be taken of shader inputs computed by the prolog, fixing
a bug.

The generated code could certainly be improved: if a prolog pixel shader is
used (which isn't common in modern OpenGL - they're used for gl_Color, polygon
stipples, and forcing per-sample interpolation), Mesa will use this attribute
unconditionally, because it has to be conservative. So WQM may be used in the
prolog when it isn't really needed, and furthermore a silly back-and-forth
switch is likely to happen at the boundary between prolog and main shader
parts.

Fixing this is a bit involved: we'd first have to add a mechanism by which
LLVM writes the WQM-related input requirements to the main shader part binary,
and then Mesa specializes the prolog part accordingly. At that point, we may
as well just compile a monolithic shader...

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=95130

Reviewers: arsenm, tstellarAMD, mareko

Subscribers: arsenm, llvm-commits, kzhuravl

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@272063 91177308-0d34-0410-b5e6-96231b3b80d8
2016-06-07 21:37:17 +00:00
..
Analysis [CFLAA] Add AttrEscaped, remove bit twiddling functions. 2016-06-07 18:35:37 +00:00
Assembler IR: Allow multiple global metadata attachments with the same type. 2016-06-01 01:17:57 +00:00
Bindings [OCaml] Update core test and re-enable testing 2016-05-10 11:19:20 +00:00
Bitcode [BitCode] Make sure atomicrmw's argument is an actual PointerType 2016-06-05 18:43:40 +00:00
BugPoint
CodeGen AMDGPU: Add amdgpu-ps-wqm-outputs function attributes 2016-06-07 21:37:17 +00:00
DebugInfo Re-land "[codeview] Emit information about global variables" 2016-06-07 00:02:03 +00:00
Examples
ExecutionEngine [MIPS][LLVM-MC] Fix Disassemble of Negative Offset 2016-05-24 09:57:10 +00:00
Feature Update the stack coloring pass to remove lifetime intrinsics in the optnone/opt-bisect skip case. 2016-05-27 22:56:49 +00:00
FileCheck Fix windows build bot failure 2016-05-28 00:03:35 +00:00
Instrumentation [esan|wset] Optionally assume intra-cache-line accesses 2016-06-03 22:29:52 +00:00
Integer Make "@name =" mandatory for globals in .ll files. 2016-05-10 18:22:45 +00:00
JitListener
LibDriver
Linker ValueMapper: fix assertion when null-mapping a constant for linking metadata 2016-05-28 17:26:03 +00:00
LTO Allow the LTO code generator to strip invalid debug info from the input. 2016-05-09 19:57:15 +00:00
MC [ARM] Accept conditional versions of BXNS and BLXNS 2016-06-07 14:58:48 +00:00
Object [mips] Remove CPU-only triples from llvm-objdump commands. 2016-06-03 10:22:22 +00:00
ObjectYAML [yaml2obj] Sort MachO LinkEdit write operations based on offset 2016-06-03 16:58:05 +00:00
Other [PM] Schedule InstSimplify after late LICM run, to clean up LCSSA nodes. 2016-06-02 22:14:26 +00:00
SymbolRewriter
TableGen
ThinLTO/X86 [ThinLTO] Resolve LinkOnceAny 2016-05-26 14:16:52 +00:00
tools [llvm-readobj] - Teach llvm-readobj to dump .gnu.version_r sections 2016-06-07 11:04:49 +00:00
Transforms Quick fix for the test from rL272014 "[LAA] Improve non-wrapping pointer 2016-06-07 15:52:35 +00:00
Unit
Verifier [IR] Disallow loading and storing unsized types 2016-06-01 16:13:10 +00:00
YAMLParser
.clang-format
CMakeLists.txt [cmake] Fix builds with LLVM_ENABLE_PIC=0 2016-06-02 16:29:07 +00:00
lit.cfg test: Be consistent with clang's sanitizer lit config 2016-05-23 23:02:11 +00:00
lit.site.cfg.in Add the printing the Mach-O (__LLVM,__bundle) xar archive file section "verbosely" 2016-05-23 21:34:12 +00:00
TestRunner.sh