History log of /external/llvm/lib/Target/R600/R600RegisterInfo.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
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/R600RegisterInfo.cpp
76fc2d077f955174c14e658bf179620ef49dd792 17-May-2013 Vincent Lejeune <vljn@ovi.com> R600: Use bottom up scheduling algorithm

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@182129 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/R600/R600RegisterInfo.cpp
2b4b68d9365e7003fb7404aca2540b5372d7791b 19-Feb-2013 Tom Stellard <thomas.stellard@amd.com> R600: Mark all members of the TRegMem register class as reserved

This stops the Machine Verifier from complaining about uses of undefined
physical registers.

NOTE: This is a candidate for the Mesa stable branch.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175518 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/R600/R600RegisterInfo.cpp
07b59ba69713f9aabb7597193f0df4b02c29d8f9 07-Feb-2013 Tom Stellard <thomas.stellard@amd.com> R600: Consolidate sub register indices.

Use sub0-15 everywhere.

Patch by: Michel Dänzerr

Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174610 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/R600/R600RegisterInfo.cpp
c0b0c677a1138f0a5ce1435fc1e70cef38fd95c8 06-Feb-2013 Tom Stellard <thomas.stellard@amd.com> R600: Support for indirect addressing v4

Only implemented for R600 so far. SI is missing implementations of a
few callbacks used by the Indirect Addressing pass and needs code to
handle frame indices.

At the moment R600 only supports array sizes of 16 dwords or less.
Register packing of vector types is currently disabled, which means that a
vec4 is stored in T0_X, T1_X, T2_X, T3_X, rather than T0_XYZW. In order
to correctly pack registers in all cases, we will need to implement an
analysis pass for R600 that determines the correct vector width for each
array.

v2:
- Add support for i8 zext load from stack.
- Coding style fixes

v3:
- Don't reserve registers for indirect addressing when it isn't
being used.
- Fix bug caused by LLVM limiting the number of SubRegIndex
declarations.

v4:
- Fix 64-bit defines

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174525 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/R600/R600RegisterInfo.cpp
29b15a378045762ce09642ab9dd741ece41f59a3 05-Feb-2013 Tom Stellard <thomas.stellard@amd.com> R600: improve inputs/interpolation handling

Use one intrinsic for all sorts of interpolation.
Use two separate unexpanded instructions to represent INTERP_XY and _ZW -
this will allow to eliminate one part if it's not used.
Track liveness of special interpolation regs instead of reserving them -
this will allow to reuse those regs, lowering reg pressure.

Patch By: Vadim Girlin

v2[Vincent Lejeune]: Rebased against current llvm master

Signed-off-by: Vadim Girlin <vadimgirlin@gmail.com>
Reviewed-by: Tom Stellard <thomas.stellard@amd.com>

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174394 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/R600/R600RegisterInfo.cpp
9f7818d9bdfce2e9c7a2cbe31490a135aa6d1211 23-Jan-2013 Tom Stellard <thomas.stellard@amd.com> R600: rework handling of the constants

Remove Cxxx registers, add new special register - "ALU_CONST" and new
operand for each alu src - "sel". ALU_CONST is used to designate that the
new operand contains the value to override src.sel, src.kc_bank, src.chan
for constants in the driver.

Patch by: Vadim Girlin

Vincent Lejeune:
- Use pointers for constants
- Fold CONST_ADDRESS when possible

Tom Stellard:
- Give CONSTANT_BUFFER_0 its own address space
- Use integer types for constant loads

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173222 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/R600/R600RegisterInfo.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/R600RegisterInfo.cpp