AMDGPU/SI: Add new target attribute InitialPSInputAddr
authorMarek Olsak <marek.olsak@amd.com>
Wed, 13 Jan 2016 11:45:36 +0000 (11:45 +0000)
committerMarek Olsak <marek.olsak@amd.com>
Wed, 13 Jan 2016 11:45:36 +0000 (11:45 +0000)
commitd2b0d84d0fd44db1eaaa30fcd6d7e5af4cb062a0
treee547056351aae95d17da4751aa0646d2a0eeb9da
parentbc61f352af830cd331cbd4d06527469f9d547923
AMDGPU/SI: Add new target attribute InitialPSInputAddr

Summary:
This allows Mesa to pass initial SPI_PS_INPUT_ADDR to LLVM.
The register assigns VGPR locations to PS inputs, while the ENA register
determines whether or not they are loaded.

Mesa needs to set some inputs as not-movable, so that a pixel shader prolog
binary appended at the beginning can assume where some inputs are.

v2: Make PSInputAddr private, because there is never enough silly getters
    and setters for people to read.

Reviewers: tstellarAMD, arsenm

Subscribers: arsenm

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@257591 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
lib/Target/AMDGPU/SIDefines.h
lib/Target/AMDGPU/SIISelLowering.cpp
lib/Target/AMDGPU/SIMachineFunctionInfo.cpp
lib/Target/AMDGPU/SIMachineFunctionInfo.h
lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h