History log of /external/llvm/lib/Target/R600/SILowerControlFlow.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
7740daa8ba053294b7448556c049cf6778711d66 10-Jul-2013 Michel Danzer <michel.daenzer@amd.com> R600/SI: Initial support for LDS/GDS instructions

Reviewed-by: Tom Stellard <thomas.stellard@amd.com>

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186009 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/R600/SILowerControlFlow.cpp
b5632b5b456db647b42239cbd4d8b58c82290c4e 07-Jun-2013 Bill Wendling <isanbard@gmail.com> Don't cache the instruction and register info from the TargetMachine, because
the internals of TargetMachine could change.

No functionality change intended.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183561 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/R600/SILowerControlFlow.cpp
03cd75eedb8d26847464e4fdb815e4ca2a556676 26-Mar-2013 Christian Konig <christian.koenig@amd.com> R600/SI: replace WQM intrinsic

Just enable WQM when we see an LDS interpolation instruction.

Signed-off-by: Christian König <christian.koenig@amd.com>

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178019 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/R600/SILowerControlFlow.cpp
e981802d9ba81173a300b2c4f79e6576d8f43b7a 26-Mar-2013 Christian Konig <christian.koenig@amd.com> R600/SI: fix ELSE pseudo op handling

Restore the EXEC mask early, otherwise a copy might end up not beeing executed.

Candidate for the mesa stable branch.

Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
Tested-by: Michel Dänzer <michel.daenzer@amd.com>

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178018 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/R600/SILowerControlFlow.cpp
b9e8678025891a3eb5431c652df541b632902fc6 18-Mar-2013 Christian Konig <christian.koenig@amd.com> R600/SI: implement indirect adressing for SI

Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Tom Stellard <thomas.stellard@amd.com>

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@177277 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/R600/SILowerControlFlow.cpp
e25e490793241e471036c3e2f969ce6a068e5ce1 16-Feb-2013 Christian Konig <christian.koenig@amd.com> R600/SI: cleanup literal handling v3

Seems to be allot simpler, and also paves the
way for further improvements.

v2: rebased on master, use 0 in BUFFER_LOAD_FORMAT_XYZW,
use VGPR0 in dummy EXP, avoid compiler warning, break
after encoding the first literal.
v3: correctly use V_ADD_F32_e64

This is a candidate for the stable branch.

Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Tom Stellard <thomas.stellard@amd.com>

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175354 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/R600/SILowerControlFlow.cpp
9262a64b307621a046ef5728d90bef4921b46108 21-Jan-2013 NAKAMURA Takumi <geek4civic@gmail.com> R600/SILowerControlFlow.cpp: Fix a warning. [-Wunused-variable]

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173040 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/R600/SILowerControlFlow.cpp
935a91540b7aa8f29ea48fe2df657db0ce5b7d5d 18-Jan-2013 Tom Stellard <thomas.stellard@amd.com> R600: Optimize and cleanup KILL on SI

We shouldn't insert KILL optimization if we don't have a
kill instruction at all.

Patch by: Christian König

Tested-by: Michel Dänzer <michel.daenzer@amd.com>
Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
Signed-off-by: Christian König <deathsimple@vodafone.de>

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172845 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/R600/SILowerControlFlow.cpp
b06c540f9f1c0933908adbea222b343a70c4ae29 21-Dec-2012 Tom Stellard <thomas.stellard@amd.com> R600: Coding style - remove empty spaces from the beginning of functions

No functionality change.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@170923 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/R600/SILowerControlFlow.cpp
d09d43ae53e1eba83dc5516a148748001b8ff812 19-Dec-2012 Tom Stellard <thomas.stellard@amd.com> R600: control flow optimization

Branch if we have enough instructions so that it makes sense.
Also remove branches if they don't make sense.

Patch by: Christian König

Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
Tested-by: Michel Dänzer <michel.daenzer@amd.com>
Signed-off-by: Christian König <deathsimple@vodafone.de>

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@170592 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/R600/SILowerControlFlow.cpp
6b7d99d47321ebb478b22afd2e317fe89d2149db 19-Dec-2012 Tom Stellard <thomas.stellard@amd.com> R600: New control flow for SI v2

This patch replaces the control flow handling with a new
pass which structurize the graph before transforming it to
machine instruction. This has a couple of different advantages
and currently fixes 20 piglit tests without a single regression.

It is now a general purpose transformation that could be not
only be used for SI/R6xx, but also for other hardware
implementations that use a form of structurized control flow.

v2: further cleanup, fixes and documentation

Patch by: Christian König

Signed-off-by: Christian König <deathsimple@vodafone.de>
Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
Tested-by: Michel Dänzer <michel.daenzer@amd.com>

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@170591 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/R600/SILowerControlFlow.cpp
f98f2ce29e6e2996fa58f38979143eceaa818335 11-Dec-2012 Tom Stellard <thomas.stellard@amd.com> Add R600 backend

A new backend supporting AMD GPUs: Radeon HD2XXX - HD7XXX

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169915 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/R600/SILowerControlFlow.cpp