• Home
  • History
  • Annotate
  • only in /external/mesa3d/src/gallium/drivers/radeon/
History log of /external/mesa3d/src/gallium/drivers/radeon/
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
542f6feda9bf18267dbd337943a5e871400d425a 06-Sep-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Remove R600InstrInfo.td from TD_FILES

Fixes build bug introduced by
cebbdd4ac23725963207bf6f8fc7101150e6065f
(cherry picked from commit 2baaa5c7eb21517f0197bfd91154e9b4886fbb1b)
akefile.sources
71b5503164deee189df5ac4e2b8d2fcd09a8ec55 29-Aug-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Cleanup makefile

Hopefully, this will fix all the parallel make problems people have
been having.
(cherry picked from commit cebbdd4ac23725963207bf6f8fc7101150e6065f)
akefile
akefile.sources
2809ae3d445bc10a79f119946439431ba73bb069 29-Aug-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Fix encoding of FP immediates on SI
CTargetDesc/SIMCCodeEmitter.cpp
05113fd2662eeb0d17fd1074001b7405eeeca43c 29-Aug-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Create a register class for the M0 register

The Common Subexpression Elimination pass will not operate on
instructions with physical register defs, so we end up with
several redundant copies to M0 when using interpolation.

Adding a register class that only contains the M0 register allows
use to use a virtual register to represent M0, and makes it possible
for the Common Subexpression Elimination pass to remove the extra
copies.
IGenRegisterInfo.pl
IISelLowering.cpp
IISelLowering.h
IInstrInfo.td
IInstructions.td
733c28a0d95c1da87b14ef893f8a59b1f940322a 29-Aug-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Set the neverHasSideEffects bit on more instructions

This flag makes these instructions candidates for the dead code
elimination and common subexpression elimination.
IInstructions.td
cf4ac69928eb17685958e6b3b01b97544560d90e 29-Aug-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Declare the interpolation intrinsics as ReadOnly

This signals to the Dead Code Elimination pass that it is safe to
remove these instructions when they are dead.
IInstrInfo.td
IIntrinsics.td
73a2c4b9db638cad83e412097ed3433649aab47b 28-Aug-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Mark M0 as a def when lowering interpolation instructions
IISelLowering.cpp
70f9dbe298043f0e3914e6956ddcc0a098f7eca3 28-Aug-2012 Michel Dänzer <michel.daenzer@amd.com> radeon/llvm: Handle TGSI KIL opcode for SI.

Fixes piglit fp-kil and glBitmap() with radeonsi.

Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
IISelLowering.cpp
IISelLowering.h
IInstructions.td
16e42a5dd065c09f6d561537009639906b22ce45 28-Aug-2012 Michel Dänzer <michel.daenzer@amd.com> radeon/llvm: Basic support for SI EXEC register.

Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
MDGPUAsmPrinter.cpp
IGenRegisterInfo.pl
IInstructions.td
f402acdbe244e5de9b2b616e0a908f5d1416ce89 22-Aug-2012 Michel Dänzer <michel.daenzer@amd.com> radeonsi: Use FP16 shader export format when necessary / possible.

Fixes piglit fbo-blending-formats.

Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
IInstructions.td
IIntrinsics.td
167ecf5ba358f750aecb07439ef5110e72895f25 24-Aug-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Cleanup R600Instructions.td
600InstrInfo.cpp
600Instructions.td
1434a86f50e4ffc69316c7e948ebfe56a25d31da 23-Aug-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Set End of Program bit on RAT instructions

This code was accidently dropped during the MCCodeEmitter conversion.
CTargetDesc/R600MCCodeEmitter.cpp
600ISelLowering.cpp
600Instructions.td
1bd7b29a661a336dbc96c160197c739657991ef3 23-Aug-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Use correct instruction for moving immediates

This should fix an assertion failure that was happening in some compute
shaders.
600ISelLowering.cpp
2ad8608cb3e6a8d2f375ad2295504167b082711f 23-Aug-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Fix some coding style issues
MDGPUAsmPrinter.cpp
MDGPUAsmPrinter.h
MDGPUMCInstLower.cpp
MDGPUMCInstLower.h
MDGPUSubtarget.cpp
CTargetDesc/AMDGPUMCAsmInfo.cpp
CTargetDesc/AMDGPUMCTargetDesc.cpp
CTargetDesc/R600MCCodeEmitter.cpp
CTargetDesc/SIMCCodeEmitter.cpp
600ExpandSpecialInstrs.cpp
600ISelLowering.cpp
600InstrInfo.cpp
600InstrInfo.h
600KernelParameters.cpp
228a6641ccddaf24a993f827af1e97379785985a 23-Aug-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Pull changes from external version of the backend
MDGPUISelLowering.h
MDIL7XXDevice.cpp
MDIL7XXDevice.h
MDILDevice.h
MDILEvergreenDevice.cpp
MDILEvergreenDevice.h
MDILIntrinsicInfo.cpp
MDILIntrinsicInfo.h
CTargetDesc/AMDGPUAsmBackend.cpp
CTargetDesc/AMDGPUMCAsmInfo.cpp
CTargetDesc/AMDGPUMCAsmInfo.h
CTargetDesc/AMDGPUMCTargetDesc.cpp
CTargetDesc/AMDGPUMCTargetDesc.h
CTargetDesc/AMDILMCAsmInfo.cpp
CTargetDesc/AMDILMCAsmInfo.h
CTargetDesc/AMDILMCTargetDesc.cpp
CTargetDesc/AMDILMCTargetDesc.h
CTargetDesc/R600MCCodeEmitter.cpp
CTargetDesc/SIMCCodeEmitter.cpp
akefile.sources
600ISelLowering.cpp
600RegisterInfo.cpp
IAssignInterpRegs.cpp
IRegisterInfo.cpp
argetInfo/AMDGPUTargetInfo.cpp
argetInfo/AMDILTargetInfo.cpp
5a1edb8655aeab17bf0d90e202fb31a1adb53498 23-Aug-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Simplify the convert to ISA pass
MDGPUConvertToISA.cpp
MDGPUInstrInfo.cpp
MDGPUInstrInfo.h
cb5227b403a9c78a734e5e67657da6c485881cbb 23-Aug-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Make sure to use the Text section in the AsmPrinter
MDGPUAsmPrinter.cpp
90bd1d52bbf95947955a66ec67f5f6c7dc87119a 21-Aug-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Use the MCCodeEmitter for R600
MDGPU.h
MDGPUInstrInfo.h
MDGPUMCInstLower.cpp
MDGPUTargetMachine.cpp
MDGPUTargetMachine.h
CTargetDesc/AMDILMCTargetDesc.cpp
CTargetDesc/AMDILMCTargetDesc.h
CTargetDesc/R600MCCodeEmitter.cpp
CTargetDesc/SIMCCodeEmitter.cpp
akefile.sources
600CodeEmitter.cpp
600Defines.h
600ExpandSpecialInstrs.cpp
600ISelLowering.cpp
600InstrInfo.cpp
600InstrInfo.h
235318a578b3d7772a60590c7e76791ed6d1a78e 17-Aug-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Use the MCCodeEmitter for SI
MDGPUAsmPrinter.cpp
MDGPUAsmPrinter.h
MDGPUTargetMachine.cpp
CTargetDesc/AMDGPUAsmBackend.cpp
CTargetDesc/AMDGPUMCCodeEmitter.h
CTargetDesc/AMDILMCAsmInfo.cpp
CTargetDesc/AMDILMCTargetDesc.cpp
CTargetDesc/AMDILMCTargetDesc.h
CTargetDesc/SIMCCodeEmitter.cpp
akefile
akefile.sources
ICodeEmitter.cpp
IInstrInfo.cpp
IInstrInfo.h
adeon_llvm_emit.cpp
2de24024c1ca5366e76f449b115392a97808ef2d 17-Aug-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Set 64BitPtr feature bit for SI
rocessors.td
3f9b6aa0f467b8d918ce277697db2f42abe1cf4c 17-Aug-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Lower RETFLAG DAG Node to S_ENDPGM on SI
MDILInstrInfo.td
600Instructions.td
IInstructions.td
e30b4644b613a130318cdf240ad237b0afbc525a 17-Aug-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Add AsmPrinter
MDGPUAsmPrinter.cpp
MDGPUAsmPrinter.h
MDGPUMCInstLower.cpp
MDGPUMCInstLower.h
nstPrinter/AMDGPUInstPrinter.cpp
nstPrinter/AMDGPUInstPrinter.h
CTargetDesc/AMDILMCTargetDesc.cpp
akefile.sources
e61c54cb6b220dea243568919a001e5dc7c01303 16-Aug-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Mark JUMP as a pseudo instruction
600Instructions.td
ead72204f1864008430189421663a5d07a02293b 23-Aug-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Remove the last uses of MachineOperand flags
600InstrInfo.cpp
600InstrInfo.h
67a47a445b544ac638d10303dc697d70f25d12fb 22-Aug-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Add flag operand to some instructions

This new operand replaces the MachineOperand flags in LLVM, which
will be deprecated soon. Eventually all instructions should have a flag
operand, but for now this operand has only been added to instructions
that need it.
MDGPUInstrInfo.h
600CodeEmitter.cpp
600ExpandSpecialInstrs.cpp
600ISelLowering.cpp
600InstrInfo.cpp
600InstrInfo.h
600Instructions.td
3a7a56e7aa56bc6cb847c241ef6bd749713ae6e1 21-Aug-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Encapsulate setting of MachineOperand flags

MachineOperand flags will be removed soon, so it is convienent to
have only one function that modifies them.
600ExpandSpecialInstrs.cpp
600ISelLowering.cpp
600InstrInfo.cpp
600InstrInfo.h
1cb07bd3b8abd5e52e9dbd80bb1666058545387e 21-Aug-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: ExpandSpecialInstrs - Add support for cube instructions
600CodeEmitter.cpp
600ExpandSpecialInstrs.cpp
600InstrInfo.cpp
600Instructions.td
6c99f2101fbd3edb7d5899c44ca9d984a3c0f8b6 21-Aug-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: ExpandSpecialInstrs - Add support for vector instructions
600CodeEmitter.cpp
600ExpandSpecialInstrs.cpp
82a5d0c64142990236b40567561b6e99b7158216 20-Aug-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Add R600ExpandSpecialInstrs pass

This pass expends reduction instructions into a MachineInstrBundle that
contains 4 instruction, one for each instruction slot.
MDGPU.h
MDGPUInstrInfo.h
MDGPUTargetMachine.cpp
akefile.sources
600CodeEmitter.cpp
600ExpandSpecialInstrs.cpp
05882985757e655f5298af483c881008d45e6249 20-Aug-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Add helper function for getting sub reg indices
600InstrInfo.cpp
600RegisterInfo.cpp
600RegisterInfo.h
926a4a922f9a5ec397cb3d316dd915b00b39c54d 18-Aug-2012 Mathias Fröhlich <Mathias.Froehlich@gmx.net> radeon-llvm: Start multithreaded before using llvm.

This is required to make some of llvm's api calls
thread save. In particular the PassRegistry, which is
implicitly accessed while compiling shader programs.
The PassRegistry uses a mutex that is only active if
the llvm_is_multithreaded() returns true.
Calling llvm_start_multithreading() makes this happen
and by calling this function we try to make sure that
we can savely compile shaders in paralell.
Since there is also a call llvm_stop_multithreading()
in the llvm api, we cannot guarantee that this does
not get switched off while we are relying on this being
set, but for the easier use cases this fixes a race with
the radeon llvm compiler we have as of today.

Signed-off-by: Mathias Froehlich <Mathias.Froehlich@web.de>
Signed-off-by: Tom Stellard <thomas.stellard@amd.com>
adeon_llvm_emit.cpp
5f82d1924831da7467bfe8025ca18e98b9548ca4 16-Aug-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Lower implicit parameters before ISel
600ISelLowering.cpp
600ISelLowering.h
600Instructions.td
565a4e2a8625c79bde0eacf674a4f633151eeb0e 01-Aug-2012 Vincent Lejeune <vljn@ovi.com> radeon/llvm: Enable if-cvt

Signed-off-by: Tom Stellard <thomas.stellard@amd.com>
MDGPUTargetMachine.cpp
a614979286f8d329af318c1e9fb067e17cab4315 01-Aug-2012 Vincent Lejeune <vljn@ovi.com> radeon/llvm: Add callbacks needed by if-cvt

Signed-off-by: Tom Stellard <thomas.stellard@amd.com>
600InstrInfo.cpp
600InstrInfo.h
0eca5fd919b0a31ea926b5f5072e5e56f7a55269 01-Aug-2012 Vincent Lejeune <vljn@ovi.com> radeon/llvm: Lower branch/branch_cond into predicated jump

Signed-off-by: Tom Stellard <thomas.stellard@amd.com>
MDGPUInstrInfo.cpp
MDGPUInstrInfo.h
MDILCFGStructurizer.cpp
MDILInstrInfo.td
600ISelLowering.cpp
600InstrInfo.cpp
600InstrInfo.h
6db2e9fdb0a35e27e6fc86a1485918b78717a425 01-Aug-2012 Vincent Lejeune <vljn@ovi.com> radeon/llvm: Add a predicated JUMP instruction

Signed-off-by: Tom Stellard <thomas.stellard@amd.com>
600Instructions.td
8263408a91b6b3beb5af5de6bdc7e5d13197a268 01-Aug-2012 Vincent Lejeune <vljn@ovi.com> radeon/llvm: Support for predicate bit

Tom Stellard:
- A few changes to predicate register defs

Signed-off-by: Tom Stellard <thomas.stellard@amd.com>
MDGPUInstrInfo.h
600CodeEmitter.cpp
600GenRegisterInfo.pl
600ISelLowering.cpp
600InstrInfo.cpp
600InstrInfo.h
600Instructions.td
600RegisterInfo.cpp
4444b9d1ecddb09468d2878ffb1463a66ea0ffd3 12-Aug-2012 Christian König <deathsimple@vodafone.de> radeon/llvm: add support to fetch temps as vectors

Necessary for texture fetches with temp regs as source on SI.

Signed-off-by: Christian König <deathsimple@vodafone.de>
Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
adeon_setup_tgsi_llvm.c
b6051bc7859829588b2361da96f8e828a7fe1326 26-Jul-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Remove AMDGPUUtil.cpp
MDGPUISelLowering.cpp
MDGPUUtil.cpp
MDGPUUtil.h
akefile.sources
600ISelLowering.cpp
IAssignInterpRegs.cpp
ICodeEmitter.cpp
IRegisterInfo.cpp
040c2e04568e2fe9ec07167f5300a3dcdfebb04e 26-Jul-2012 Apostolos Bartziokas <barz621@gmail.com> radeon/llvm: Cleanup AMDGPUUtil.cpp
MDGPUInstrInfo.h
MDGPUUtil.cpp
MDGPUUtil.h
600CodeEmitter.cpp
600InstrInfo.cpp
600InstrInfo.h
3aaa209293a281e103ef71e3578fad042972e092 26-Jul-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Lower loads from USE_SGPR adddress space during DAG lowering
MDGPUISelLowering.cpp
MDGPUISelLowering.h
IISelLowering.cpp
IISelLowering.h
IInstructions.td
40c41fe890e53d99afb4e2c3fbf10043081edd9e 25-Jul-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Add live-in registers during DAG lowering

Psuedo instructions emulating live-in registers have been removed
and their corresponding intrinsics are now being lowered during DAG
lowering.
MDGPUISelLowering.cpp
MDGPUISelLowering.h
MDGPUUtil.cpp
600ISelLowering.cpp
600Instructions.td
IISelLowering.cpp
IInstructions.td
IIntrinsics.td
f3480f92349c90f55e2e80d9a4536ab048fb5652 26-Jul-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Lower store_output intrinsic during DAG lowering
MDGPUIntrinsics.td
600ISelLowering.cpp
600Instructions.td
a76a0f74225802f4d3f11028ab54afe98b26302b 15-Aug-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Force VTX_READ instructions to use same reg for src and dst

I was seeing some GPU hangs that seemed to be cause by ALU instructions
writing to the same register used as the source for VTX_READ. Adding
this constraint to the VTX_READ instructions avoids this situation.
600Instructions.td
b49771970bb8d06a179da69a7eb6b0af1b379d2d 01-Aug-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Inline immediate offset when lowering implicit parameters
600ISelLowering.cpp
2fae8227ad906a6d6290134368b62f5dd3a1858e 13-Aug-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Use correct opcocde for BREAK_LOGICALNZ_i32
600CodeEmitter.cpp
f6ad8b45c2731075d91f43e92862847f2c26e95a 02-Aug-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Add $(LLVM_LDFLAGS) to the loader linker flags
akefile
4a89a207179d8cf25f259aba8e6c867de42bae54 02-Aug-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Add support for more f32 CMP instructions on SI
IInstructions.td
a35eea786823f0130b925cb25486d7d162f2d68c 02-Aug-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Add support for fneg on SI
IISelLowering.cpp
IInstructions.td
4104bae063a3a06ddc00371a576ad0a55f520473 02-Aug-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Add support for fp_to_sint on SI
IInstructions.td
f7fcaa07df7b3aab124576dec346ae4fa7c6715b 02-Aug-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Remove CMOVLOG DAG node
MDGPUISelLowering.cpp
MDGPUISelLowering.h
MDILISelLowering.cpp
MDILInstrInfo.td
600ISelLowering.cpp
600Instructions.td
93b4f1f97ea961f09218c9cf7d928e499f267f58 02-Aug-2012 Michel Dänzer <michel.daenzer@amd.com> radeonsi: Handle TGSI DIV opcode.

Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
IInstructions.td
a3c6607be19af895ed6857c0a82b9b0821893dc6 01-Aug-2012 Christian König <deathsimple@vodafone.de> radeon/llvm: fix fp immediates on SI

I don't know if this is a good idea, but it
fixes the problem at hand.

Signed-off-by: Christian König <deathsimple@vodafone.de>
Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
ICodeEmitter.cpp
6574fe3c4a9e36791cde88dfd73429ba4faf3215 31-Jul-2012 Christian König <deathsimple@vodafone.de> radeon/llvm: fix calculation of max register number

Signed-off-by: Christian König <deathsimple@vodafone.de>
Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
ICodeEmitter.cpp
a488fdd3d97a6e9fa1ff8b8d22193551391170d3 31-Jul-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Add pseudo-support for 64-bit immediate types on SI

SI does not support 64-bit immediates natively, but llvm will generate
i64 immediates when indexing loads and stores (since SI has 64-bit
pointers). The i64 indices will always be small enough to fit into
32-bits (i.e. the high 32 bits will always be all zeros), so we can
treat these index values as 32-bits.
IInstrInfo.td
IInstructions.td
be468742811364f55a81d7f49164a60291bdd5ff 31-Jul-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Fix incorrect return value in SelectADDRReg()

We need to return true when we match the pattern.
MDILISelDAGToDAG.cpp
056b77ca22a3e7a2e24a32941daf65313f604042 31-Jul-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Move SMRD IMM pattern before SMRD SGPR pattern

In tablegen, if two patterns match, the one that comes first in the file
is given preference. We want the SMRD IMM pattern to be given
preference, because it encodes the pointer offset in its immediate
field, which saves us an add instruction.
IInstrInfo.td
cd0949eb2869ec37b135fdff2110090008bbcff6 30-Jul-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Cleanup AMDIL.h
MDIL.h
MDILCFGStructurizer.cpp
MDILISelDAGToDAG.cpp
MDILPeepholeOptimizer.cpp
2f921101c0826dc52a2c69f85c3da0f7f6e8212a 30-Jul-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Rename all AMDIL* classes to AMDGPU*
MDGPUSubtarget.cpp
MDGPUSubtarget.h
MDGPUTargetMachine.cpp
MDGPUTargetMachine.h
MDIL.h
MDIL7XXDevice.cpp
MDIL7XXDevice.h
MDILBase.td
MDILCFGStructurizer.cpp
MDILDevice.cpp
MDILDevice.h
MDILDeviceInfo.cpp
MDILDeviceInfo.h
MDILEvergreenDevice.cpp
MDILEvergreenDevice.h
MDILFrameLowering.cpp
MDILFrameLowering.h
MDILISelDAGToDAG.cpp
MDILISelLowering.cpp
MDILInstrInfo.td
MDILIntrinsicInfo.cpp
MDILIntrinsicInfo.h
MDILNIDevice.cpp
MDILNIDevice.h
MDILPeepholeOptimizer.cpp
MDILSIDevice.cpp
MDILSIDevice.h
600Instructions.td
600KernelParameters.cpp
IInstructions.td
b72ab79d73b29ec087d90cf2c698adbab4db5def 30-Jul-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Merge AMDILSubtarget into AMDGPUSubtarget
MDGPUSubtarget.cpp
MDGPUSubtarget.h
MDGPUTargetMachine.cpp
MDIL7XXDevice.cpp
MDIL7XXDevice.h
MDILDevice.cpp
MDILDevice.h
MDILDeviceInfo.cpp
MDILDeviceInfo.h
MDILEvergreenDevice.cpp
MDILEvergreenDevice.h
MDILISelDAGToDAG.cpp
MDILISelLowering.cpp
MDILIntrinsicInfo.cpp
MDILNIDevice.cpp
MDILNIDevice.h
MDILPeepholeOptimizer.cpp
MDILSIDevice.cpp
MDILSIDevice.h
MDILSubtarget.cpp
MDILSubtarget.h
akefile.sources
600CodeEmitter.cpp
600InstrInfo.cpp
ICodeEmitter.cpp
27ae41c83dafcec09e870b3cf08b060064dbb122 30-Jul-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Merge AMDILTargetLowering class into AMDGPUTargetLowering
MDGPUISelLowering.cpp
MDGPUISelLowering.h
MDGPUInstrInfo.cpp
MDILISelLowering.cpp
MDILISelLowering.h
MDILInstrInfo.td
600ISelLowering.cpp
600InstrInfo.cpp
ICodeEmitter.cpp
IISelLowering.cpp
IInstrInfo.cpp
c96490e3b5ea0e369837dbb8067cf3d6b0d6b767 30-Jul-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Remove IL_cmp DAG node
MDIL.h
MDILISelLowering.cpp
MDILISelLowering.h
MDILInstrInfo.td
aece7970eb171ec6c28c412d22f42362b4f52bac 27-Jul-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Cleanup and reorganize AMDIL .td files
MDGPU.td
MDILBase.td
MDILEnumeratedTypes.td
MDILFormats.td
MDILInstrInfo.td
MDILInstructions.td
MDILIntrinsics.td
MDILMultiClass.td
MDILNodes.td
MDILOperands.td
MDILPatterns.td
MDILProfiles.td
MDILTokenDesc.td
0ce6e506016222b264163ee718202371f19064db 27-Jul-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Remove lowering code for unsupported features

e.g. function calls, load/store from stack
MDGPUISelLowering.cpp
MDGPUISelLowering.h
MDGPUInstrInfo.cpp
MDILBase.td
MDILCallingConv.td
MDILISelLowering.cpp
MDILISelLowering.h
MDILInstructions.td
caeaf43dad367a9a39d2f42d91731148f6dfdf32 27-Jul-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Remove AMDILVersion.td
MDGPU.td
MDILVersion.td
c3111eb639f3ff1f4e320325c325cc21efe58ca3 27-Jul-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Remove AMDILAlgorithms.tpp
MDILAlgorithms.tpp
MDILPeepholeOptimizer.cpp
ac669c32c6e80841e3ee63d65b58c0031b22e7b8 27-Jul-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Merge AMDILInstrInfo.cpp into AMDGPUInstrInfo.cpp
MDGPUInstrInfo.cpp
MDGPUInstrInfo.h
MDGPUUtil.cpp
MDIL.h
MDILCFGStructurizer.cpp
MDILISelDAGToDAG.cpp
MDILInstrInfo.cpp
MDILInstrInfo.h
MDILPeepholeOptimizer.cpp
akefile.sources
600CodeEmitter.cpp
600InstrInfo.h
3a0187b1b53eca3143286a5ae7917cd71117b902 27-Jul-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Merge AMDILRegisterInfo into AMDGPURegisterInfo
MDGPURegisterInfo.cpp
MDGPURegisterInfo.h
MDIL.h
MDILCFGStructurizer.cpp
MDILISelDAGToDAG.cpp
MDILISelLowering.cpp
MDILInstrInfo.cpp
MDILInstrInfo.h
MDILRegisterInfo.cpp
MDILRegisterInfo.h
akefile.sources
600RegisterInfo.h
9c42fb6f26bb7db1bc793f5fcc922bbae6700d74 27-Jul-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Change the tablegen target from AMDIL to AMDGPU
MDGPUCodeEmitter.h
MDGPUSubtarget.cpp
MDGPUSubtarget.h
MDILBase.td
MDILCodeEmitter.h
MDILInstrInfo.cpp
MDILInstrInfo.h
MDILRegisterInfo.cpp
MDILRegisterInfo.h
MDILSubtarget.cpp
MDILSubtarget.h
CTargetDesc/AMDILMCTargetDesc.cpp
akefile.sources
600CodeEmitter.cpp
ICodeEmitter.cpp
c9ef27276f83b021221fb7e2c7397719e143709c 25-Jul-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Add instruction defs for branches on SI
MDILCFGStructurizer.cpp
IInstrInfo.td
IInstructions.td
ee0f0f03c6c174a160e5fb3882ec5c03cdfcd163 26-Jul-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Fix VOPC and V_CNDMASK encoding
IISelLowering.cpp
IInstrFormats.td
IInstrInfo.td
IInstructions.td
d4bdd09d4714ae51b9f5675f7f5c678d431061e8 25-Jul-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Assert if we try to copy SCC reg
IInstrInfo.cpp
fd1f19a191c648e7c6fdaac3167e900e4fed4a6d 25-Jul-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Add SI DAG optimizations for setcc, select_cc

These are needed for correctly lowering branch instructions in some
cases.
IISelLowering.cpp
IISelLowering.h
cd5d4c50738b15c4885105ef4dcc89a1ea9e02fb 25-Jul-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Add support for encoding SI branch instructions
ICodeEmitter.cpp
50ff2dc0a4f553eb8d634d6f081fe5e4e25f6f48 25-Jul-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Add special nodes for SALU operations on VCC

The VCC register is tricky because the SALU views it as 64-bit, but the
VALU views it as 1-bit. In order to deal with this we've added some
special bitcast and binary operations to help convert from the 64-bit
SALU view to the 1-bit VALU view and vice versa.
MDGPUISelLowering.h
IISelLowering.cpp
IISelLowering.h
IInstrFormats.td
IInstrInfo.td
IInstructions.td
c424975572af2edd46863e5bb9fe3c51c96b4f9b 25-Jul-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Add i1 registers for SI.
IISelLowering.cpp
bdda1cb914a291f42cb2221b42e922f22dccb777 25-Jul-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Fix CCReg definitions on SI
IGenRegisterInfo.pl
IInstrFormats.td
ad95bcb31fcf49015446f5158dfaf97fefac75cd 19-Jul-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Add bitconvert patterns for SI
IInstructions.td
4cab682184640242d1e6f034f2b6bd7c4378c162 19-Jul-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Add custom lowering for SELECT_CC nodes on SI
IISelLowering.cpp
IISelLowering.h
ba76684292e568c164cb7cbe7537181af4b452b8 19-Jul-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Move conditional pattern leafs to common tablegen file
MDGPUInstructions.td
600Instructions.td
d36455ba2c3febe5da6fc6f53e4acd98f771532a 25-Jul-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Implement getSetCCResultType for SI
IISelLowering.cpp
IISelLowering.h
e8825ce6e12a8ec6fbe1ef76fb5e8ef8eb1b1218 18-Jul-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Custom lower BR_CC for SI
IISelLowering.cpp
IISelLowering.h
87272e9e2560a88352cf54d164507569ac43e502 18-Jul-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Move lowering of BR_CC node to R600ISelLowering

SI will handle BR_CC different from R600, so we need to move it
out of the shared instruction selector.
MDILISelLowering.cpp
MDILISelLowering.h
600ISelLowering.cpp
600ISelLowering.h
92823fb72abf1539bdb545fedc5525e9fc0b04cc 18-Jul-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Move lowering of SETCC node to R600ISelLowering

SI will handle SETCC different from R600, so we need to move it
out of the shared instruction selector.
MDILISelLowering.cpp
MDILISelLowering.h
600ISelLowering.cpp
600ISelLowering.h
46d12c99a24cebe01cd00575b39961231dec47c8 18-Jul-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Use correct node type when lowering SETCC
MDILISelLowering.cpp
47d1b0a80990dda4e14073f667f0c2b939dfb925 18-Jul-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Move LowerSELECT_CC into R600ISelLowering

SI will handle SELECT_CC different from R600, so we need to move it out
of the shared instruction selector.
MDGPUISelLowering.cpp
MDGPUISelLowering.h
600ISelLowering.cpp
600ISelLowering.h
bc4b4c605cc04138e5209782fa5939bfd71930bd 14-Jul-2012 Vincent Lejeune <vljn@ovi.com> radeon/llvm: Fix a bug with IF LOGICALNZ with int operand

Signed-off-by: Tom Stellard <thomas.stellard@amd.com>
MDILISelLowering.cpp
600CodeEmitter.cpp
e3ff4d4c10e038b7be6dffe6c12b015ef36b5e7c 13-Jul-2012 Andreas Boll <andreas.boll.dev@gmail.com> radeon/llvm: Fix CR/LF in AMDILSIDevice.h
MDILSIDevice.h
cc3907856ed7ec24359eea11fc2231dab680e2c4 13-Jul-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Clean up AMDILIntrinsicInfo.cpp
MDILIntrinsicInfo.cpp
MDILIntrinsicInfo.h
f323c6260d54357d2408f1993a21e08f091b1e27 13-Jul-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Coding style fixes
600CodeEmitter.cpp
600KernelParameters.cpp
f92873be2c7fcb07154282bd0e418a4c88b6507e 12-Jul-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Don't use lp_build_swizzle_aos() for swizzles

This function assumes that lp_build_context::type is a vector type,
which is not true for r600 or radeonsi.

This fixes an assertion failure using glamor 2D accel.
adeon_setup_tgsi_llvm.c
49ae102ee346d4be6a61ebdaba6e5d5ad8469407 10-Jul-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Use multiclasses for floating point loads

The original strategy for handling floating point loads, which was to
lower (f32 load) to (f32 bitcast (i32 load)) wasn't really working. The
main problem was that the DAG legalizer couldn't handle replacing a node
with two results (load) with a node with only one result (bitcast).
MDGPUISelLowering.cpp
MDGPUISelLowering.h
600CodeEmitter.cpp
600ISelLowering.cpp
600Instructions.td
IInstrInfo.td
IInstructions.td
bbdf3af8577ca61fc54c4a1615e80940c904636e 10-Jul-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Don't set the IMM bit in SMRD instruction definitions.

The IMM bit is already being set in SICodeEmitter.
IInstrInfo.td
76b44034b9b234d3db4012342f0fae677d4f10f6 08-Jul-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Rename namespace from AMDIL to AMDGPU
MDGPUInstructions.td
MDGPURegisterInfo.td
MDGPUUtil.cpp
MDGPUUtil.h
MDILCFGStructurizer.cpp
MDILFormats.td
MDILISelDAGToDAG.cpp
MDILISelLowering.cpp
MDILInstrInfo.cpp
MDILRegisterInfo.cpp
MDILRegisterInfo.h
MDILRegisterInfo.td
MDILUtilityFunctions.h
600CodeEmitter.cpp
600GenRegisterInfo.pl
600ISelLowering.cpp
600InstrInfo.cpp
600Instructions.td
600RegisterInfo.cpp
IAssignInterpRegs.cpp
ICodeEmitter.cpp
IGenRegisterInfo.pl
IISelLowering.cpp
IInstrInfo.cpp
IRegisterInfo.cpp
a31b2f71076b9d3fe9bc5f2bae3228f1e7b99ee2 28-Jun-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Enable vec4 loads on R600
MDGPUISelLowering.cpp
600CodeEmitter.cpp
600Instructions.td
e17c586d08aee5bbaad6ac5efd2d30fe1d179406 28-Jun-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Enable floating point stores on R600
600Instructions.td
b66ef1f48c946fdb0762e0092fa13a6f53e53e90 27-Jun-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Handle floating point loads on R600
MDGPUISelLowering.cpp
MDGPUISelLowering.h
c01199dfc0d30ad4c20cc4a2ebe3cdcbc74debb6 27-Jun-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Expand UDIV and UREM nodes
MDGPUISelLowering.cpp
2c485cda2062ca2b9af89ea62618515d960c7904 29-Jun-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Emit raw ISA for vertex fetch instructions
600CodeEmitter.cpp
600Instructions.td
563a764110ac9a2e93e2a01e362d8dc756232634 20-Jun-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Turn on the BitExtract peephole optimization

Thie BitExtract optimization folds a mask and shift operation together
into a single instruction (BFE_UINT).
MDILPeepholeOptimizer.cpp
600Instructions.td
c53c8d05551083437eb991e79002c0a272541a79 20-Jun-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Lower ROTL to BIT_ALIGN
MDGPUISelLowering.h
MDGPUInstrInfo.td
MDILISelLowering.cpp
600ISelLowering.cpp
600ISelLowering.h
600Instructions.td
cd287301ec598d2811f3f85c03d23bae01be2359 20-Jun-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Use the VLIW Scheduler for R600->NI

It's not optimal, but it's better than the register pressure scheduler
that was previously being used. The VLIW scheduler currently ignores
all the complicated instruction groups restrictions and just tries to
fill the instruction groups with as many instructions as possible.
Though, it does know enough not to put two trans only instructions in
the same group.

We are able to ignore the instruction group restrictions in the LLVM
backend, because the finalizer in r600_asm.c will fix any illegal
instruction groups the backend generates.

Enabling the VLIW scheduler improved the run time for a sha1 compute
shader by about 50%. I'm not sure what the impact will be for graphics
shaders. I tested Lightsmark with the VLIW scheduler enabled and the
framerate was about the same, but it might help apps that use really
big shaders.
MDGPUInstructions.td
MDGPUSubtarget.h
MDGPUTargetMachine.cpp
MDGPUTargetMachine.h
MDILBase.td
MDILFormats.td
akefile
akefile.sources
600ISelLowering.cpp
600InstrInfo.cpp
600InstrInfo.h
600Schedule.td
988ad7831c041154828f32cee96a4f01d2573f21 19-Jun-2012 Török Edwin <edwin+mesa@etorok.net> radeon/llvm: Fix CR/LF in Processors.td

Signed-off-by: Tom Stellard <thomas.stellard@amd.com>
rocessors.td
7c005d5687eeca5b3115f69a681d21e61741c5dc 18-Jun-2012 Török Edwin <edwin+mesa@etorok.net> radeon/llvm: Fix sin/cos codegen on R700

Based on https://bugs.freedesktop.org/show_bug.cgi?id=50317#c4

Fixes:
https://bugs.freedesktop.org/show_bug.cgi?id=50316
https://bugs.freedesktop.org/show_bug.cgi?id=50317

Signed-off-by: Tom Stellard <thomas.stellard@amd.com>
600Instructions.td
7fab4b648b0b35d65b5d33482f9703c248a46c17 19-Jun-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Update comment in AMDGPU.td
MDGPU.td
984ad0788c54386801b185740b973c446e55d3b9 07-Jun-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Remove unused AMDIL TableGen definitons
MDGPUISelLowering.h
MDGPUUtil.cpp
MDILCallingConv.td
MDILFormats.td
MDILISelDAGToDAG.cpp
MDILISelLowering.cpp
MDILISelLowering.h
MDILInstrInfo.cpp
MDILInstructions.td
MDILMultiClass.td
MDILNodes.td
MDILOperands.td
MDILRegisterInfo.td
MDILUtilityFunctions.h
MDILVersion.td
600RegisterInfo.cpp
IGenRegisterInfo.pl
IRegisterInfo.cpp
34ff22b75f8e3616109c3deacea2ec27f12f3398 15-Jun-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Eliminate getRegClassFromType() function

We can use TargetLowering::getRegClassFor() instead.
MDILISelLowering.cpp
440ab9ea02690008b4d8da11494fd1e9cd86e57e 15-Jun-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Remove deadcode from AMDILISelLowering.cpp
MDILISelLowering.cpp
MDILISelLowering.h
600ISelLowering.cpp
IISelLowering.cpp
4c418cf1a37f824676bcc0454fcc4cf6916e0fdd 07-Jun-2012 Thomas Stellard <tom.stellard@amd.com> radeonsi: Handle SUB_f32.

Signed-off-by: Thomas Stellard <tom.stellard@amd.com>
Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
MDILInstructions.td
IInstructions.td
4c4ef9c29acf4f1f40aa3c5d268322efd26c1786 07-Jun-2012 Michel Dänzer <michel.daenzer@amd.com> radeonsi: Only dump shaders with environment variable RADEON_DUMP_SHADERS=1.
ICodeEmitter.cpp
743e505315b6be851618caed61981d7c1617bf45 15-May-2012 Eric Anholt <eric@anholt.net> automake: Globally add stub automake targets to the old Makefiles.

I tried to update all the old Makefiles that included the default
config to be sure they had a default target if they didn't previously
have one, since this new all target will always point at it. Almost
everything had one.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
akefile
5f3f63b76d36b752d7d98c04ab044b5a961b5593 06-Jun-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Emulate RECIP_UINT instruction on Cayman
600CodeEmitter.cpp
600Instructions.td
0c9f5f22d5cf3cad01ee3685116011ff7ff67140 06-Jun-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Remove some duplicate code in the R600 CodeEmitter
600CodeEmitter.cpp
9c46cb23685d0b28d5b9124f6dd26f27d028ed30 06-Jun-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Fix MULLO* instructions on Cayman

On Cayman, the MULLO* instructions must fill all slots in an
instruction group.
600CodeEmitter.cpp
600InstrInfo.cpp
600InstrInfo.h
600Instructions.td
0c4b19ac63efa41242c515824301e6161aceeea5 05-Jun-2012 Tom Stellard <thomas.stellard@amd.com> r600g: Compute support for Cayman
600Instructions.td
d4942eb9fa1247053619be2b1e5a1b79f35c535d 06-Jun-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Remove obselete hooks for the ConvertToISA pass

We can't remove this pass yet, because we need it to convert AMDIL
registers in BRANCH* instructions, but we don't need it for
instruction conversion any more.
MDGPUInstrInfo.cpp
MDGPUInstrInfo.h
600InstrInfo.cpp
600InstrInfo.h
IInstrInfo.cpp
IInstrInfo.h
edceed1b9a46c4a92a6113e8b1c5d2433568143d 06-Jun-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Remove AMDIL MOVE* instructions
MDILISelDAGToDAG.cpp
MDILISelLowering.cpp
MDILInstrInfo.cpp
MDILInstrInfo.h
MDILInstructions.td
f81e4663a766e71e907886640327abea4a0d78e2 02-Jun-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Add isMov() to AMDILInstrInfo

This enables the CFGStructurizer to work without the AMDIL::MOV*
instructions.
MDILCFGStructurizer.cpp
MDILInstrInfo.h
600InstrInfo.cpp
600InstrInfo.h
IInstrInfo.cpp
IInstrInfo.h
1777c99bff40f160b09dd3c9708b0963c772610a 02-Jun-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Remove deadcode from the AMDILISelLowering class
MDILISelLowering.cpp
MDILISelLowering.h
8cc9b463deae8f6116963e1fea0c62930066b563 02-Jun-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Don't lower RETURN to S_ENDPGM on SI

Instead create an S_ENDPGM instruction in the CodeEmitter and emit
it after all the other instructions.
ICodeEmitter.cpp
IInstrInfo.cpp
de7366701d21842787d65320c12e6b4ecaea3807 02-Jun-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Remove AMDIL VCREATE* instructions

This obsoletes the AMDGPULowerInstruction pass.
MDGPU.h
MDGPUInstructions.td
MDGPULowerInstructions.cpp
MDGPUTargetMachine.cpp
MDILInstructions.td
akefile.sources
600Instructions.td
IInstructions.td
8d53ddb375d2a82860b398bc463294373c5a62b0 02-Jun-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Remove AMDIL LOADCONST* instructions

This obsoletes the R600LowerInstruction and SIPropagateImmReads passes.
MDGPU.h
MDGPUTargetMachine.cpp
MDILISelLowering.cpp
MDILInstrInfo.td
MDILInstrPatterns.td
MDILInstructions.td
MDILRegisterInfo.cpp
akefile.sources
600Instructions.td
600LowerInstructions.cpp
IInstrInfo.cpp
IInstructions.td
IPropagateImmReads.cpp
0ebf2318b3d5e60adfc43e477b19acdc3cd4cc07 01-Jun-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Fix VTX_READ patterns

The VTX_READ instructions were using the ADDRParam ComplexPattern which
allows a load instruction's offset to be a register, but VTX_READ
instructions can only handle an immediate offset.

Also, the load_param pattern fragment had an erroneous return true;
statement that was causing it to match the wrong load instructions.
MDILISelDAGToDAG.cpp
600CodeEmitter.cpp
600Instructions.td
c108831d4451f624167d2c433282c6ac63541a79 01-Jun-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Emit 2 bytes for vertex fetch offsets
600CodeEmitter.cpp
85a68814ee98d649e92223a42bab9db7392649ba 01-Jun-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Only use indirect (vertex fetch) parameters for kernels

Kernel parameters can only be retrieved via vertex fetchs. Direct
parameters (i.e parameters stored in the constant buffer) are not
supported yet.
600KernelParameters.cpp
d6c2d3722d795381d3cdf11fe00f63780ad0725a 01-Jun-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Eliminate CFGStructurizer dependency on AMDIL instructions

Add some hooks to the R600,SI InstrInfo and RegisterInfo classes, so
that the CFGStructurizer pass can run without any relying on AMDIL
instructions.
MDILCFGStructurizer.cpp
MDILInstrInfo.h
MDILRegisterInfo.h
600InstrInfo.cpp
600InstrInfo.h
600RegisterInfo.cpp
600RegisterInfo.h
IInstrInfo.cpp
IInstrInfo.h
IRegisterInfo.cpp
IRegisterInfo.h
65917004d99ccb79f709e621f8f6cf66715ffdca 31-May-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Change prefix on tablegen files to AMDGPU
MDGPU.td
MDIL.h
MDIL.td
MDILISelDAGToDAG.cpp
MDILISelLowering.cpp
MDILInstrInfo.cpp
MDILInstrInfo.h
MDILIntrinsicInfo.cpp
MDILIntrinsicInfo.h
MDILRegisterInfo.cpp
MDILRegisterInfo.h
MDILSubtarget.cpp
MDILSubtarget.h
CTargetDesc/AMDILMCTargetDesc.cpp
CTargetDesc/AMDILMCTargetDesc.h
akefile
akefile.sources
600CodeEmitter.cpp
afea59bf6546c99e98409945fa69860096952bc3 31-May-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Remove deadcode from the R600LowerInstructions pass
600LowerInstructions.cpp
883a0af53a2a4ef612e31b61a22fa4443121a2b8 31-May-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Remove AMDIL GLOBALSTORE* instructions
MDILInstructions.td
600ISelLowering.cpp
600Instructions.td
600LowerInstructions.cpp
f2781271c735fcdf94ed2dd831a7fa3a854deae5 31-May-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Remove AMDIL GLOBALLOAD* instructions
MDILInstrInfo.cpp
MDILInstructions.td
600CodeEmitter.cpp
600ISelLowering.cpp
600Instructions.td
600LowerInstructions.cpp
83169900fb96f1a51d8292e66c203c64a82e204d 29-May-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Update and fix some comments
600ISelLowering.cpp
IISelLowering.cpp
89ece086bcd2186ab53cb6a69d53005893cab0ea 29-May-2012 Tom Stellard <thomas.stellard@amd.com> radeonsi: Remove use.sgpr* intrinsics, use load instructions instead

We now model loading uses sgpr values with LLVM IR load instructions that
use the USER_SGPR address space.

The definition of the sgpr parameter to the use_sgpr() helper function
in radeonsi_shader.c has changed so that you can pass raw sgpr values
rather than having to divide the sgpr value you want to use by the dword
width of the type you want to load.
MDIL.h
IISelLowering.cpp
IInstructions.td
IIntrinsics.td
467f51613eb1f2cdaa8624bbbb3d5fae2abca4f2 16-May-2012 Tom Stellard <thomas.stellard@amd.com> radeonsi: Handle TGSI CONST registers

We now emit LLVM load instructions for TGSI CONST register reads,
which are lowered in the backend to S_LOAD_DWORD* instructions.
MDILCodeEmitter.h
MDILISelDAGToDAG.cpp
MDILISelLowering.cpp
600ISelLowering.cpp
ICodeEmitter.cpp
IGenRegisterInfo.pl
IISelLowering.cpp
IInstrInfo.td
IInstructions.td
IIntrinsics.td
IPropagateImmReads.cpp
32b83e0366560a77798545880f980adc04b4361f 28-May-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Remove AMDILIntrinsicInfo::GetDeclaration fuction body

This function was causing compile errors in the tablegen'd code for
some intrinsic definitions. I don't think we really need this function,
so I'm removing the function body just as a temporary solution. I'll
look into removing the entire AMDILIntrinsicInfo class later.
MDILIntrinsicInfo.cpp
49fb99bd131a4ed89e6f55cf360f67618acafec4 28-May-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Remove AMDILTargetMachine
MDGPUTargetMachine.cpp
MDGPUTargetMachine.h
MDIL.h
MDILCFGStructurizer.cpp
MDILISelDAGToDAG.cpp
MDILISelLowering.cpp
MDILInstrInfo.cpp
MDILInstrInfo.h
MDILIntrinsicInfo.cpp
MDILIntrinsicInfo.h
MDILRegisterInfo.cpp
MDILRegisterInfo.h
MDILTargetMachine.cpp
MDILTargetMachine.h
CTargetDesc/AMDILMCTargetDesc.cpp
CTargetDesc/AMDILMCTargetDesc.h
akefile.sources
argetInfo/AMDILTargetInfo.cpp
adeon_llvm_emit.cpp
704eac09166aa6dc4c1aa82f8d0938c4060e51f4 25-May-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Use a custom inserter for MASK_WRITE
MDGPUInstructions.td
600ISelLowering.cpp
600Instructions.td
600LowerInstructions.cpp
4863477e22e02af046915ca2a33dbecfd0ed34b4 25-May-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Use tablegen pattern to lower bitconvert
MDGPUInstructions.td
MDILISelLowering.cpp
600Instructions.td
600LowerInstructions.cpp
667cdba2118cf82e0027bf44314c9d1334d00840 25-May-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Use a custom inserter to lower FNEG
MDGPUInstructions.td
MDILInstructions.td
600ISelLowering.cpp
600Instructions.td
600LowerInstructions.cpp
d784bc77405012b442ae9d68f200e9d115030b3c 25-May-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Use a custom inserter to lower CLAMP
MDGPUInstructions.td
MDILInstructions.td
600ISelLowering.cpp
600Instructions.td
600LowerInstructions.cpp
IISelLowering.cpp
IInstrInfo.cpp
IInstrInfo.h
IInstructions.td
17f852892346fdf3b1e9eec56b7a55c470279bc8 25-May-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Use a custom inserter to lower FABS
MDGPUISelLowering.cpp
MDGPUInstructions.td
MDILInstructions.td
600ISelLowering.cpp
600Instructions.td
600LowerInstructions.cpp
IISelLowering.cpp
IInstrInfo.cpp
IInstrInfo.h
IInstructions.td
1c5c4243c9c10666280a540fb2789c2d09e095b3 25-May-2012 Vadim Girlin <vadimgirlin@gmail.com> radeon/llvm: add FLT_TO_UINT, UINT_TO_FLT instructions

Signed-off-by: Vadim Girlin <vadimgirlin@gmail.com>
Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
600Instructions.td
5a1b59b4e67370ccfb8e484434914fc32ef53a8c 25-May-2012 Vadim Girlin <vadimgirlin@gmail.com> radeon/llvm: prepare to revert the round mode state to default

Use TRUNC before FLT_TO_INT on evergreen/cayman.

Signed-off-by: Vadim Girlin <vadimgirlin@gmail.com>
Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
600Instructions.td
029776753b69dc6054cabd8c2cc07c981ab20616 25-May-2012 Vadim Girlin <vadimgirlin@gmail.com> radeon/llvm: fix opcode for RECIP_UINT_r600

Fixes https://bugs.freedesktop.org/show_bug.cgi?id=50312

Signed-off-by: Vadim Girlin <vadimgirlin@gmail.com>
Tested-by: Kai Wasserbäch <kai@dev.carbon-project.org>
Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
600Instructions.td
6806f81fb40ae3dc2da9bd8dbd602fb9c1a4dfc1 25-May-2012 Vadim Girlin <vadimgirlin@gmail.com> radeon/llvm/loader: convert hardcoded gpu name to option

Signed-off-by: Vadim Girlin <vadimgirlin@gmail.com>
Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
oader.cpp
33e7db9a1dafdcf5c7c745180831403e0485544d 24-May-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Lower UDIV using the Selection DAG
MDGPUISelLowering.cpp
MDGPUISelLowering.h
MDGPUInstrInfo.td
MDILISelLowering.cpp
600InstrInfo.cpp
600InstrInfo.h
600Instructions.td
600LowerInstructions.cpp
d088da917bb3495491b9a5da5ca1716ddd91ddd5 24-May-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Remove auto-generated AMDIL->ISA conversion code
MDGPUGenInstrEnums.pl
MDGPUInstrInfo.cpp
MDGPUInstrInfo.h
MDGPUInstructions.td
MDGPUUtil.cpp
MDILInstructions.td
akefile
akefile.sources
600InstrInfo.cpp
600InstrInfo.h
600Instructions.td
IInstrFormats.td
IInstrInfo.cpp
IInstructions.td
662ccbfc21a650e0a52f6d293fa33f9e23e654c6 24-May-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Remove AMDIL instructions MULHI, SMUL
MDGPUGenInstrEnums.pl
MDILInstructions.td
600Instructions.td
177b420283547e472632bc650f218ad4b0b541d5 24-May-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Remove AMDIL bitshift instructions (SHL, SHR, USHR)
MDGPUGenInstrEnums.pl
MDGPUUtil.cpp
MDILConversions.td
MDILISelLowering.cpp
MDILInstrPatterns.td
MDILInstructions.td
600InstrInfo.cpp
600Instructions.td
9d41a401dcdfda1e3bfdabdedac239ef1d6b93e4 24-May-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Remove AMDIL FTOI and ITOF instructions
MDGPUGenInstrEnums.pl
MDGPUUtil.cpp
MDILConversions.td
MDILISelLowering.cpp
MDILInstrPatterns.td
MDILInstructions.td
600Instructions.td
a8ba697c1ec3e07e331cba85e67bf5c2b8d41e57 23-May-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Remove AMDIL EXP* instructions
MDGPUGenInstrEnums.pl
MDGPUISelLowering.cpp
MDGPUUtil.cpp
MDILInstructions.td
600Instructions.td
dd9927eb36614eccbc48b316befe6a3e37644694 23-May-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Remove AMDIL ADD instructions
MDGPUGenInstrEnums.pl
MDILISelLowering.cpp
MDILInstructions.td
MDILRegisterInfo.cpp
600InstrInfo.cpp
600Instructions.td
1404e6b9fcc6ff4f962cafa8d81226dff5fef54d 23-May-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Remove AMDIL binary instrutions (OR, AND, XOR, NOT)
MDGPUGenInstrEnums.pl
MDILConversions.td
MDILISelLowering.cpp
MDILInstrPatterns.td
MDILInstructions.td
600InstrInfo.cpp
600Instructions.td
600LowerInstructions.cpp
3059c075a73aa275cc43cf72ba87d64f6d748cd6 23-May-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Remove AMDILMachinePeephole pass
MDIL.h
MDILMachinePeephole.cpp
MDILTargetMachine.cpp
akefile.sources
e9d8901a80dfcc9825ddcc1f258b0431d7b42ac0 23-May-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Remove AMDIL CMP instructions and associated lowering code
MDILISelLowering.cpp
MDILISelLowering.h
MDILInstructions.td
ea00632fe0667766783fb66f9db5198554fee159 23-May-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Remove AMDIL ROUND_NEAREST instruction
MDGPUGenInstrEnums.pl
MDGPUISelLowering.cpp
MDILInstructions.td
600Instructions.td
0bfa3b3e9629d81a5e31c1b91fd25eab734804fa 23-May-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Remove AMDIL ROUND_POSINF instruction
MDGPUGenInstrEnums.pl
MDGPUISelLowering.cpp
MDILInstructions.td
600Instructions.td
d4984f346320e64b58e38e443e5b99d09b7067bc 23-May-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Add custom SDNode for FRACT
MDGPUGenInstrEnums.pl
MDGPUISelLowering.cpp
MDGPUISelLowering.h
MDGPUInstrInfo.td
MDILInstructions.td
600Instructions.td
5523502ff917803166051c8947f5dd3b23c6fcf8 23-May-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Use -1 as true value for SET* integer instructions
MDGPUISelLowering.cpp
MDGPUISelLowering.h
600Instructions.td
86dfae1103faa9e0329e68e3ab7c1684a0c12892 23-May-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Handle SETGE_INT, SETGE_UINT, and SETGT_UINT opcodes

Support for these was inadvertently dropped in commit
cee23ab246f22210b3063cdc47bdb45b3d943526
600InstrInfo.cpp
cc7a6d269170cc3668caa4f5af29228920e8d7a7 24-May-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Avoid error with SI in EmitInstrWithCustomInserter()

We need to return immediately after inserting instructions that require
S_WAITCNT so that the parent class' custom inserter won't try to insert
them again.
IISelLowering.cpp
cee23ab246f22210b3063cdc47bdb45b3d943526 18-May-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Handle selectcc DAG node

R600 can now select instructions from the selectcc DAG node, which is
typically lowered to one of the SET* instructions.
MDGPUISelLowering.cpp
MDGPUISelLowering.h
600ISelLowering.cpp
600InstrInfo.cpp
600Instructions.td
oader.cpp
adeon_setup_tgsi_llvm.c
c20e7417992380871261699c2b0123819e7d51fc 18-May-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Fix segfault while lowering lrp intrinsic
MDGPUISelLowering.cpp
7e3cd8df183448e2cc01a8f2645a001b0972f4ab 18-May-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Add DAG nodes for MIN instructions

Also, remove the AMDIL MIN* instruction defs.
MDGPUGenInstrEnums.pl
MDGPUISelLowering.cpp
MDGPUISelLowering.h
MDGPUInstrInfo.td
MDILInstructions.td
600Instructions.td
c6c8a05c509b30600d2ccb4be635f05cd71c68a4 17-May-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Lower lrp intrinsic during ISel
MDGPUISelLowering.cpp
MDGPUISelLowering.h
600Instructions.td
ef8e66bc165ea2ef9987ab6406268ce195f74eb0 17-May-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Remove AMDIL MAD instruction defs
MDGPUGenInstrEnums.pl
MDGPUISelLowering.cpp
MDILInstructions.td
600Instructions.td
IInstrInfo.cpp
IInstructions.td
d07473fcf4126c740802e6458452e82cc5c799ba 17-May-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Remove AMDIL MUL_IEEE* instructions
MDGPUGenInstrEnums.pl
MDILInstructions.td
600Instructions.td
1fe70c6ae12e85cdb5967ba6d72fca8a9e5c3ec3 17-May-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Expand fsub during ISel
600ISelLowering.cpp
600LowerInstructions.cpp
9916f2d2af18a26f32efb85aff5c11e1b998e19c 17-May-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Remove AMDIL floating-point ADD instruction defs
MDGPUGenInstrEnums.pl
MDILInstructions.td
600Instructions.td
600LowerInstructions.cpp
IInstructions.td
91484de22dd5143cef5f2fe7786f96abfbc795c8 17-May-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Remove AMDIL CMOVLOG* instruction defs
MDGPUGenInstrEnums.pl
MDILInstructions.td
600Instructions.td
600LowerInstructions.cpp
9a020092aedc6310d5bfc72b2aa6fc4348fe5c32 17-May-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Move lowering of ABS_i32 to ISel
MDGPUISelLowering.cpp
MDGPUISelLowering.h
MDILInstructions.td
600LowerInstructions.cpp
89b945591bb5d434518cea481209b1ea7a435861 17-May-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Remove sub patterns from AMDILInstrPatterns.td
MDILInstrPatterns.td
600Instructions.td
431bb79a41bd5e7402954385daea1594c3e750ab 17-May-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Add custom SDNodes for MAX

We now lower the various intrinsics for max to SDNodes and then use
tablegen patterns to lower the SDNodes to instructions.
MDGPUGenInstrEnums.pl
MDGPUISelLowering.cpp
MDGPUISelLowering.h
MDGPUInstrInfo.td
MDIL.td
MDILISelDAGToDAG.cpp
MDILISelLowering.h
MDILInstructions.td
600Instructions.td
IInstructions.td
4a8d47c264eb7e01ebfda2fbcbe0bf42f0882d38 15-May-2012 Vadim Girlin <vadimgirlin@gmail.com> radeon/llvm: add support for texture offsets, fix TEX_LD

Signed-off-by: Vadim Girlin <vadimgirlin@gmail.com>
Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
MDGPUIntrinsics.td
600CodeEmitter.cpp
600Instructions.td
adeon_setup_tgsi_llvm.c
fa5a963dd6c2622c416d53e49b08c4b3cbce7483 15-May-2012 Vadim Girlin <vadimgirlin@gmail.com> radeon/llvm: add SET_GRADIENTS*, fix SAMPLE_G

Signed-off-by: Vadim Girlin <vadimgirlin@gmail.com>
Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
MDGPUIntrinsics.td
MDGPUUtil.cpp
600ISelLowering.cpp
600Instructions.td
adeon_setup_tgsi_llvm.c
b655f78b25454e00f4300fb5ccd35b3d0ab8a740 15-May-2012 Vadim Girlin <vadimgirlin@gmail.com> radeon/llvm: increase const regs count

Signed-off-by: Vadim Girlin <vadimgirlin@gmail.com>
Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
600GenRegisterInfo.pl
12a2374da380a9a28cacf968c33b93ba320b0407 15-May-2012 Vadim Girlin <vadimgirlin@gmail.com> radeon/llvm: use IntrNoMem property for intrinsics where possible

Signed-off-by: Vadim Girlin <vadimgirlin@gmail.com>
Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
MDGPUIntrinsics.td
MDILFormats.td
600IntrinsicsNoOpenCL.td
600IntrinsicsOpenCL.td
adeon_llvm.h
adeon_setup_tgsi_llvm.c
63a85952711415ab151a39d21c4a67da97f2734e 15-May-2012 Vadim Girlin <vadimgirlin@gmail.com> radeon/llvm: use correct intrinsic for CEIL

Should be round_posinf instead of round_neginf.

Signed-off-by: Vadim Girlin <vadimgirlin@gmail.com>
Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
600Instructions.td
adeon_setup_tgsi_llvm.c
0298238bdd65344b91731973902fb46530e74cca 15-May-2012 Vadim Girlin <vadimgirlin@gmail.com> radeon/llvm: improve ABS_i32 lowering

We can save one instruction by lowering it to:
SUB_INT tmp, 0, src
MAX_INT dst, src, tmp

Signed-off-by: Vadim Girlin <vadimgirlin@gmail.com>
Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
600LowerInstructions.cpp
76e4898ba3c67082524786a0e0c67557a8abc58b 15-May-2012 Vadim Girlin <vadimgirlin@gmail.com> radeon/llvm: fix BUILD_VECTOR lowering for replicated value

We expect that all elements will be assigned even if they are equal

Signed-off-by: Vadim Girlin <vadimgirlin@gmail.com>
Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
MDILISelLowering.cpp
4b8db65dbfc4074f045ea0319edd8de2f59545bf 15-May-2012 Vadim Girlin <vadimgirlin@gmail.com> radeon/llvm: add names for AMDGPU* passes

Signed-off-by: Vadim Girlin <vadimgirlin@gmail.com>
Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
MDGPUConvertToISA.cpp
MDGPULowerInstructions.cpp
76ba7e22056aa461c40d8a8c8bd82d81ccba111c 15-May-2012 Vadim Girlin <vadimgirlin@gmail.com> radeon/llvm: add generated files to .gitignore

Signed-off-by: Vadim Girlin <vadimgirlin@gmail.com>
Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
gitignore
1deb2be2b7887d7435e103fdb042857e745ff08d 14-May-2012 Michel Dänzer <michel.daenzer@amd.com> radeonsi: Flesh out shader interpolation related code.

Handle perspective interpolation and ceontroid vs. center.
IInstructions.td
IIntrinsics.td
ec201667bf201ba9549059697f687b830bdeb6b3 14-May-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Coding style fixes for R600CodeEmitter.cpp
600CodeEmitter.cpp
224e187f986223e5c95deb9502c9663d968014ac 14-May-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Lower bitcast instructions to copies
600LowerInstructions.cpp
bcfc97dbf40c256ed59c2424e0c55b845f0f2569 11-May-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: More comments and cleanups
MDGPUConvertToISA.cpp
MDGPUISelLowering.cpp
MDGPUISelLowering.h
MDGPUInstrInfo.cpp
MDGPUInstrInfo.h
MDGPULowerInstructions.cpp
MDGPURegisterInfo.h
MDGPUTargetMachine.cpp
MDGPUTargetMachine.h
MDGPUUtil.cpp
MDGPUUtil.h
600CodeEmitter.cpp
600ISelLowering.h
600RegisterInfo.h
IAssignInterpRegs.cpp
ICodeEmitter.cpp
IISelLowering.cpp
IISelLowering.h
IInstrInfo.h
IPropagateImmReads.cpp
IRegisterInfo.cpp
IRegisterInfo.h
4d11a6a0c798301863d5b202703dcca37dc24e7c 11-May-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Fix Evergreen/Cayman tablegen predicates

Some Evergreen/Cayman instructions were being enabled for SI.
600Instructions.td
03d9c24c0468ae992a704c6a2f72bc349557b671 10-May-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Remove AMDILMCCodeEmitter.cpp
MDILMCCodeEmitter.cpp
akefile.sources
628e5b208a1ca04c696f52c8d4d18b0ea5457a22 10-May-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Remove SILowerShaderInstructions.cpp
MDGPU.h
MDGPUTargetMachine.cpp
akefile.sources
ILowerShaderInstructions.cpp
f8e9c29020289387f0f429ac6d3c28e73e5847a3 10-May-2012 Tom Stellard <thomas.stellard@amd.com> radeonsi/llvm: Move lowering of RETURN to ConvertToISA pass
IInstrInfo.cpp
ILowerShaderInstructions.cpp
fa63f976522bd4faf19249e8c9ac4d3edda498d9 09-May-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Add some comments
MDGPU.h
MDGPUGenInstrEnums.pl
MDGPUInstructions.td
MDGPUIntrinsics.td
MDGPURegisterInfo.h
MDGPURegisterInfo.td
MDGPUTargetMachine.cpp
MDGPUTargetMachine.h
MDIL.td
MDIL7XXDevice.cpp
MDILCFGStructurizer.cpp
MDILCodeEmitter.h
MDILConversions.td
MDILDevice.cpp
MDILDeviceInfo.cpp
MDILDeviceInfo.h
MDILDevices.h
MDILEnumeratedTypes.td
MDILEvergreenDevice.cpp
MDILInstructions.td
MDILMultiClass.td
MDILNIDevice.cpp
MDILPeepholeOptimizer.cpp
MDILSIDevice.cpp
MDILSIDevice.h
MDILSubtarget.cpp
MDILTokenDesc.td
MDILVersion.td
600CodeEmitter.cpp
600GenRegisterInfo.pl
600ISelLowering.cpp
600ISelLowering.h
600InstrFormats.td
600InstrInfo.cpp
600InstrInfo.h
600Instructions.td
600IntrinsicsNoOpenCL.td
600KernelParameters.cpp
600KernelParameters.h
600LowerInstructions.cpp
600MachineFunctionInfo.cpp
600MachineFunctionInfo.h
600OpenCLUtils.h
600RegisterInfo.cpp
600RegisterInfo.h
600Schedule.td
IAssignInterpRegs.cpp
ICodeEmitter.cpp
IGenRegisterInfo.pl
IISelLowering.cpp
IISelLowering.h
IInstrFormats.td
IInstrInfo.cpp
IInstrInfo.h
IInstrInfo.td
IInstructions.td
IIntrinsics.td
ILowerShaderInstructions.cpp
IMachineFunctionInfo.cpp
IMachineFunctionInfo.h
IPropagateImmReads.cpp
IRegisterInfo.cpp
IRegisterInfo.h
ISchedule.td
92faa21d29b49689ccfff852cfff257fccec514e 10-May-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Move util functions into AMDGPU namespace
MDGPUUtil.cpp
MDGPUUtil.h
600CodeEmitter.cpp
b0bb125736fd29dbad6cfa8d4de0c44eaf5e28ad 10-May-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Auto-encode RAT_WRITE_CACHELESS_eg
600CodeEmitter.cpp
600Instructions.td
fa3747ff2ce929ceda499fde93927354685f20ef 10-May-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Delete all instructions that have been custom lowered
600ISelLowering.cpp
788fd04dacb9eb1e32010050c57cd2f49779311b 09-May-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Remove AMDGPUConstants.pm
MDGPUConstants.pm
600GenRegisterInfo.pl
c2e081030e5c6f96ea3eb9948e5c0d0d2ed79a3d 09-May-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Don't rely on tablegen for lowering int_AMDGPU_load_const
MDGPUGenShaderPatterns.pl
akefile
akefile.sources
600ISelLowering.cpp
600Instructions.td
d0403cafd479964a80d95299d079845593e9891f 09-May-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Make sure the LOAD_CONST def uses the isSI predicate
IInstrInfo.td
IInstructions.td
5aaaa6a426258dc714c7346bec062795998f9986 08-May-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Remove AMDILUtilityFunctions.cpp
MDIL.h
MDILCFGStructurizer.cpp
MDILISelDAGToDAG.cpp
MDILISelLowering.cpp
MDILInstrInfo.cpp
MDILInstrInfo.h
MDILMachinePeephole.cpp
MDILPeepholeOptimizer.cpp
MDILRegisterInfo.cpp
MDILUtilityFunctions.cpp
MDILUtilityFunctions.h
akefile.sources
600CodeEmitter.cpp
21ab46eae8b1156667dd35142829392701a8637d 08-May-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Remove some unused functions from AMDILInstrInfo
MDILInstrInfo.cpp
MDILInstrInfo.h
f903da7335433ae243cf7ff59662be1a03ee9a14 07-May-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Add some comments and fix coding style
MDGPU.h
MDGPUConvertToISA.cpp
MDGPUISelLowering.cpp
MDGPUISelLowering.h
MDGPUInstrInfo.h
MDGPULowerInstructions.cpp
MDGPURegisterInfo.cpp
MDGPUTargetMachine.cpp
a8d82c44f79e27d2b78458f9ea560c73eef3d3b5 08-May-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Remove the EXPORT_REG instruction
MDGPU.h
MDGPUInstructions.td
MDGPUIntrinsics.td
MDGPUTargetMachine.cpp
MDGPUUtil.cpp
akefile.sources
600ISelLowering.cpp
600Instructions.td
600LowerShaderInstructions.cpp
8a4c25dd7e9002ab7a2821753bcae1ff6af2ca1c 08-May-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Use a custom inserter to lower RESERVE_REG
MDGPUInstructions.td
MDGPUIntrinsics.td
akefile.sources
600ISelLowering.cpp
600Instructions.td
600LowerShaderInstructions.cpp
600MachineFunctionInfo.cpp
600MachineFunctionInfo.h
600RegisterInfo.cpp
94e797d0faed18dfa80bcce7a6d03ef369b6a820 08-May-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Use a custom inserter to lower STORE_OUTPUT
MDGPUInstructions.td
600ISelLowering.cpp
600Instructions.td
600LowerShaderInstructions.cpp
4226433625f7f1cbfff0503397adf74c6076b7f4 08-May-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Remove AMDGPULowerShaderInstructions class

It is no longer used.
MDGPU.h
MDGPULowerShaderInstructions.cpp
MDGPULowerShaderInstructions.h
akefile.sources
600LowerShaderInstructions.cpp
ILowerShaderInstructions.cpp
ad385c402e665b2aedc7b456575d19df32584e73 08-May-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Use a custom inserter to lower LOAD_INPUT
MDGPUInstructions.td
600ISelLowering.cpp
600Instructions.td
600LowerShaderInstructions.cpp
52a7f212d36bd9829494bd588ecb9a3ebe9fc28a 07-May-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Remove the ReorderPreloadInstructions pass
MDGPU.h
MDGPUInstrInfo.cpp
MDGPUInstrInfo.h
MDGPUInstructions.td
MDGPUReorderPreloadInstructions.cpp
MDGPUTargetMachine.cpp
akefile.sources
ICodeEmitter.cpp
IInstructions.td
e042b3aeed917b179d24c1f7a099c4cce56d2e25 07-May-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Remove old comment from AMDIL.h
MDIL.h
d6aa7cd7f82a3695243e1ecb1c73cdb796b12523 07-May-2012 Vadim Girlin <vadimgirlin@gmail.com> radeon/llvm: add suport for cube textures

Signed-off-by: Vadim Girlin <vadimgirlin@gmail.com>
adeon_setup_tgsi_llvm.c
e98e209528b2c7acb721a84a7cfda925aeed4d57 07-May-2012 Vadim Girlin <vadimgirlin@gmail.com> radeon/llvm: add support for CUBE ALU instruction

Signed-off-by: Vadim Girlin <vadimgirlin@gmail.com>
MDGPUIntrinsics.td
MDGPUUtil.cpp
MDGPUUtil.h
600CodeEmitter.cpp
600Instructions.td
996fa375ec275ab5053855dc95f9cc4f301d596c 07-May-2012 Vadim Girlin <vadimgirlin@gmail.com> radeon/llvm: add support for some ALU instructions

Add support for IABS, NOT, AND, XOR, OR, UADD, UDIV, IDIV, MOD, UMOD, INEG,
I2F, U2F, F2U, F2I, USEQ, USGE, USLT, USNE, ISGE, ISLT, ROUND, MIN, MAX,
IMIN, IMAX, UMIN, UMAX

Signed-off-by: Vadim Girlin <vadimgirlin@gmail.com>
MDGPUGenInstrEnums.pl
MDGPUIntrinsics.td
600Instructions.td
adeon_setup_tgsi_llvm.c
e9be193430a9c50975bc2ce4724e5cc517502467 07-May-2012 Vadim Girlin <vadimgirlin@gmail.com> radeon/llvm: add missing cases for BREAK/CONTINUE

Signed-off-by: Vadim Girlin <vadimgirlin@gmail.com>
MDGPUUtil.cpp
600CodeEmitter.cpp
e740b60845b56f9bb08ae751d80b058a27c73d5a 06-May-2012 Vadim Girlin <vadimgirlin@gmail.com> radeon/llvm: add support for AHSR/LSHR/LSHL instructions

Signed-off-by: Vadim Girlin <vadimgirlin@gmail.com>
600InstrInfo.cpp
600InstrInfo.h
600Instructions.td
adeon_setup_tgsi_llvm.c
95ed0e9b6b445c70e920d340818fc0f84d45233e 06-May-2012 Vadim Girlin <vadimgirlin@gmail.com> radeon/llvm: add support for TXQ/TXF/DDX/DDY instructions

Signed-off-by: Vadim Girlin <vadimgirlin@gmail.com>
MDGPUIntrinsics.td
MDGPUUtil.cpp
600Instructions.td
adeon_setup_tgsi_llvm.c
d8a120485444968c930f0ab675473692b221cb75 07-May-2012 Vadim Girlin <vadimgirlin@gmail.com> radeon/llvm: add support for VertexID, InstanceID

Signed-off-by: Vadim Girlin <vadimgirlin@gmail.com>
adeon_llvm.h
adeon_setup_tgsi_llvm.c
e3e7ae732c903235a57760e10de542f128c1fe62 07-May-2012 Vadim Girlin <vadimgirlin@gmail.com> radeon/llvm: fix live-in handling for inputs

Set the input registers as live-in for entry basic block.

Signed-off-by: Vadim Girlin <vadimgirlin@gmail.com>
MDGPUUtil.cpp
600LowerShaderInstructions.cpp
757f471ba99446a942107fd9dba6bfbfe1652c14 07-May-2012 Vadim Girlin <vadimgirlin@gmail.com> radeon/llvm: add support for v4i32

Signed-off-by: Vadim Girlin <vadimgirlin@gmail.com>
MDGPULowerInstructions.cpp
600GenRegisterInfo.pl
600ISelLowering.cpp
600Instructions.td
06db74a753bb71adf5370d3f1133c43ae40aec72 07-May-2012 Vadim Girlin <vadimgirlin@gmail.com> radeon/llvm: fix ABS_i32 instruction lowering

Swap source operands.

Signed-off-by: Vadim Girlin <vadimgirlin@gmail.com>
600LowerInstructions.cpp
3a6a1cd75fc98895569a34d5d7dfdc9e90381691 07-May-2012 Vadim Girlin <vadimgirlin@gmail.com> radeon/llvm: use integer comparison for IF

Replacing "float equal to 1.0f" with "int not equal to 0".
This should help for further optimization of boolean computations.

Signed-off-by: Vadim Girlin <vadimgirlin@gmail.com>
adeon_setup_tgsi_llvm.c
2a88dfc521bff7255e27e2ef8efcd08f9db53747 07-May-2012 Vadim Girlin <vadimgirlin@gmail.com> radeon/llvm: use bitcasts for integers

We're using float as default type, so basically for every instruction that
wants other types for dst/src operands we need to perform the bitcast
to/from default float. Currently bitcast produces no-op MOV instruction,
will be eliminated later.

Signed-off-by: Vadim Girlin <vadimgirlin@gmail.com>
adeon_llvm.h
adeon_setup_tgsi_llvm.c
c425c3823fbd475dc83211fef47f7ea58421ed17 07-May-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Remove references to DebugFlag and isCurrentDebugType()

These weren't being used at all and they were causing build failures
when LLVM was built with NDEBUG defined and mesa was not.

https://bugs.freedesktop.org/show_bug.cgi?id=49110
MDILCFGStructurizer.cpp
MDILMCCodeEmitter.cpp
MDILMachinePeephole.cpp
MDILPeepholeOptimizer.cpp
9e522bd201e7cba526e19f7f0422d5cf781be6e8 27-Apr-2012 Tom Stellard <thomas.stellard@amd.com> r600g/llvm: Lower ULT A, B, C to SETGT_UINT A, C, B
600LowerInstructions.cpp
ddb4dac13341d5b33b9e129ecb0e2abec30a27b6 24-Apr-2012 Tom Stellard <thomas.stellard@amd.com> r600g/llvm: Don't duplicate R600 intrinsics installed by LLVM

At this point, in order for OpenCL to work correctly with r600g, OpenCL
specific intrinsics need to be defined in the LLVM tree. So, we need
to check for these intrinsics in the LLVM include directory to make sure
not to re-define them.
akefile
akefile.sources
600Intrinsics.td
600IntrinsicsNoOpenCL.td
600IntrinsicsOpenCL.td
c8fb30abf1131072c855f2539db6455fac65dcb0 02-May-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Fix MachineInstr dump
MDILSubtarget.cpp
adeon_llvm_emit.cpp
d742d812d82ef61de1f41a18c8251db9b001bdd1 01-May-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Fix build for updated LLVM 3.1 release branch
MDGPUTargetMachine.cpp
MDILTargetMachine.cpp
ff10dbf35f1c083d38bbdbec30cadf6703b609e5 01-May-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Add subtarget feature: DumpCode

With this feature enabled, the LLVM backend will dump the MachineIntrs
prior to emitting code. The mesa env variable R600_DUMP_SHADERS will enable
this feature in the backend.
MDGPUTargetMachine.h
MDILBase.td
MDILSubtarget.h
600CodeEmitter.cpp
adeon_llvm_emit.cpp
7bf3fe851c9ac45f0c297d05b5272c3b312109d7 28-Apr-2012 Dragomir Ivanov <drago.ivanov@gmail.com> r600g/llvm: Remove unnecessary dynamic casts

When the result of dynamic_cast is not checked, it can be replaced with
static_cast

Signed-off-by: Tom Stellard <thomas.stellard@amd.com>
MDILISelLowering.cpp
7ed04fa7d80b904fc7e543db9e99d45cb920f404 29-Apr-2012 Dragomir Ivanov <drago.ivanov@gmail.com> r600g/llvm: Add pattern for llvm.AMDGPU.kill v2

Signed-off-by: Tom Stellard <thomas.stellard@amd.com>
MDGPUIntrinsics.td
600Instructions.td
4da1fcacf1d78c5fcae9e81eaf2a9d7c8117af3e 30-Apr-2012 Tom Stellard <thomas.stellard@amd.com> r600g/llvm: Fix handling of MASK_WRITE instructions

We can't delete MASK_WRITE instructions from the program, because this
will cause instructions being masked by MASK_WRITE to be marked dead and
then deleted in the dce pass.
MDGPUUtil.cpp
600LowerInstructions.cpp
77d2780cbc00d525b25c6e625b1faeb37e3ad6d0 30-Apr-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Use a custom emit function for TGSI_OPCODE_KIL
adeon_setup_tgsi_llvm.c
a2f7ecfa74cdc73f3e0a7ea739ce962f7a029799 26-Apr-2012 Tom Stellard <thomas.stellard@amd.com> radeonsi/llvm: Silence a warning
IPropagateImmReads.cpp
21d3dd831e28452bd3229bf93367aa3fa719ad10 25-Apr-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Remove unused header files
MDILCompilerWarnings.h
MDILKernel.h
30f2a38cef4d4a75776fbd822ff4ad716302b888 25-Apr-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Remove AMDILMachineFunctionInfo.cpp
MDGPUTargetMachine.cpp
MDGPUUtil.cpp
MDILCFGStructurizer.cpp
MDILCompilerErrors.h
MDILISelLowering.cpp
MDILMachineFunctionInfo.cpp
MDILMachineFunctionInfo.h
MDILPeepholeOptimizer.cpp
akefile.sources
600CodeEmitter.cpp
600LowerInstructions.cpp
IMachineFunctionInfo.cpp
IMachineFunctionInfo.h
IPropagateImmReads.cpp
540ec964db1c0046935def3c85b2a5c7bd634782 25-Apr-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Remove AMDILModuleInfo.cpp
MDILMachineFunctionInfo.cpp
MDILModuleInfo.cpp
MDILModuleInfo.h
akefile.sources
9f4509343369e8adb43268329c845148ea32a114 25-Apr-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Remove AMDILELFWriterInfo.cpp
MDILELFWriterInfo.cpp
MDILELFWriterInfo.h
MDILTargetMachine.cpp
MDILTargetMachine.h
akefile.sources
d96682169eee693000846cddab6928e141ac274e 25-Apr-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Remove AMDILLiteralManager.cpp
MDIL.h
MDILLiteralManager.cpp
MDILTargetMachine.cpp
akefile.sources
ba333a6518d3d7ed1c1fcd7bc6da457e54941dcd 25-Apr-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Remove AMDILInliner.cpp
MDGPUTargetMachine.cpp
MDIL.h
MDILInliner.cpp
MDILTargetMachine.cpp
akefile.sources
160d4a789110f09950a43c9bf763fcf3d7e46a2e 25-Apr-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Remove AMDILBarrierDetect.cpp
MDGPUTargetMachine.cpp
MDIL.h
MDILBarrierDetect.cpp
MDILTargetMachine.cpp
akefile.sources
0e7161cce8210164613dca3dd88f29754dc1ef94 25-Apr-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Remove AMDILPrintfConvert.cpp
MDGPUTargetMachine.cpp
MDIL.h
MDILPrintfConvert.cpp
MDILTargetMachine.cpp
akefile.sources
04993c963008ded3a6ad5e5b4d69ba08d1948a93 25-Apr-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Remove GlobalManager and KernelManager
MDGPUTargetMachine.cpp
MDILGlobalManager.cpp
MDILGlobalManager.h
MDILISelLowering.cpp
MDILKernelManager.cpp
MDILKernelManager.h
MDILLiteralManager.cpp
MDILPeepholeOptimizer.cpp
MDILPrintfConvert.cpp
MDILSubtarget.cpp
akefile.sources
8d3bf7ced5a3bb17910e9a763edc152fa5fbcd92 25-Apr-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Remove AsmPrinter files
MDILAsmBackend.cpp
MDILAsmBackend.h
MDILAsmPrinter7XX.cpp
MDILAsmPrinterEG.cpp
akefile.sources
ba9bd41880a7ce285537c3ead8a8c439c5a50555 25-Apr-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Remove IOExpansion files
MDGPUTargetMachine.cpp
MDIL.h
MDIL789IOExpansion.cpp
MDIL7XXDevice.cpp
MDIL7XXDevice.h
MDIL7XXIOExpansion.cpp
MDILDevice.h
MDILEGIOExpansion.cpp
MDILEvergreenDevice.cpp
MDILEvergreenDevice.h
MDILIOExpansion.cpp
MDILIOExpansion.h
MDILImageExpansion.cpp
MDILTargetMachine.cpp
akefile.sources
4b11f4321b0971cf21e596b3af788434c38db0d9 25-Apr-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Remove AMDILPointerManager.cpp
MDIL.h
MDIL7XXDevice.cpp
MDIL7XXDevice.h
MDILDevice.h
MDILEvergreenDevice.cpp
MDILEvergreenDevice.h
MDILPointerManager.cpp
MDILPointerManager.h
MDILTargetMachine.cpp
akefile.sources
76940ba852a9b9a34a36afc4b1709d548e036f2a 25-Apr-2012 Tom Stellard <thomas.stellard@amd.com> radeonsi/llvm: Fix initialization of SIMachineFunctionInfo

SIMachineFunctionInfo needs to be initialized before any of the
AMDIL passes.
MDGPUTargetMachine.cpp
d7f9b6ce13dcfc4f1d7c84c121d66606f8d05f7b 20-Apr-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Don't print an error message when there is no error

A blank line with an empty error message was being printed even when the
target lookup succeeded.
adeon_llvm_emit.cpp
f5fc3ac284eb8312e8076a5a9d47a5c082ebb537 19-Apr-2012 Tom Stellard <thomas.stellard@amd.com> radeon/llvm: Lower VCREATE_v4f32 for R600 and SI
MDGPU.h
MDGPULowerInstructions.cpp
MDGPUTargetMachine.cpp
akefile.sources
600CodeEmitter.cpp
IConvertToISA.cpp
519789d7e6f32efa0e01a9fbc7374bc494d76769 19-Apr-2012 Tom Stellard <thomas.stellard@amd.com> r600g/llvm: Let ISel handle lowering to {INSERT,EXTRACT}_SUBREG
MDGPUInstructions.td
600CodeEmitter.cpp
600ISelLowering.cpp
600Instructions.td
600LowerInstructions.cpp
IInstructions.td
3c0f521cbfb551bf69cc14c606dcdd20c0529589 19-Apr-2012 Tom Stellard <thomas.stellard@amd.com> r600g/llvm: Only emit an instruction's explicit operands
600CodeEmitter.cpp
b3863eb9a5a7a844f04acde5f15151c898ff3bac 20-Apr-2012 Tom Stellard <thomas.stellard@amd.com> r600g/llvm: Handle copies between vector registers
600GenRegisterInfo.pl
600InstrInfo.cpp
d4da0a062779c24ee84b0dbabd65800e4ed9c641 19-Apr-2012 Tom Stellard <thomas.stellard@amd.com> r600g/llvm: Remove debugging hack from R600InstrInfo::copyPhysReg()
600InstrInfo.cpp
90a42df0d092dd43782fec83199750e194759d89 19-Apr-2012 Tom Stellard <thomas.stellard@amd.com> r600g/llvm: Tell the code emitter to ignore KILL and BUNDLE
600CodeEmitter.cpp
fa52aeb3964e38b8e7b9e34c427fa1b5a42f358f 28-Feb-2012 Tom Stellard <thomas.stellard@amd.com> r600/llvm: Add LOAD_VTX instruction
600Instructions.td
509ddb0a0414cfc83102c463da542d95d83eabad 16-Apr-2012 Tom Stellard <thomas.stellard@amd.com> radeon: Move radeon_llvm_emit.cpp declarations into their own header

Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
oader.cpp
adeon_llvm.h
adeon_llvm_emit.cpp
adeon_llvm_emit.h
6e238bf27c34fa9d79c9f371c102a5423db86de8 16-Apr-2012 Tom Stellard <thomas.stellard@amd.com> radeon: Remove HAVE_LLVM ifdefs

Only LLVM 3.1 is supported, so these are not necessary.

Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
adeon_llvm_emit.cpp
dbf48e88eb11270e080eced8468008ed2c3329cc 19-Apr-2012 Michel Dänzer <michel.daenzer@amd.com> radeonsi: Fix VGPR_BIT() definition.

Fixes encoding of VOP3 shader instructions.

The shift was wrong for source registers 2 and 3, and the resulting value was
only 32 bits, so the shift in SICodeEmitter::VOPPostEncode() didn't work as
intended.
ICodeEmitter.cpp
e1a173fb33b2090476130c944423ac3359ed8fd8 19-Apr-2012 Michel Dänzer <michel.daenzer@amd.com> radeonsi: MIMG shader instructions require waiting for the results.
IInstrInfo.td
a75c6163e605f35b14f26930dd9227e4f337ec9e 06-Jan-2012 Tom Stellard <thomas.stellard@amd.com> radeonsi: initial WIP SI code

This commit adds initial support for acceleration
on SI chips. egltri is starting to work.

The SI/R600 llvm backend is currently included in mesa
but that may change in the future.

The plan is to write a single gallium driver and
use gallium to support X acceleration.

This commit contains patches from:
Tom Stellard <thomas.stellard@amd.com>
Michel Dänzer <michel.daenzer@amd.com>
Alex Deucher <alexander.deucher@amd.com>
Vadim Girlin <vadimgirlin@gmail.com>

Signed-off-by: Alex Deucher <alexander.deucher@amd.com>

The following commits were squashed in:

======================================================================

radeonsi: Remove unused winsys pointer

This was removed from r600g in commit:

commit 96d882939d612fcc8332f107befec470ed4359de
Author: Marek Olšák <maraeo@gmail.com>
Date: Fri Feb 17 01:49:49 2012 +0100

gallium: remove unused winsys pointers in pipe_screen and pipe_context

A winsys is already a private object of a driver.

======================================================================

radeonsi: Copy color clamping CAPs from r600

Not sure if the values of these CAPS are correct for radeonsi, but the
same changed were made to r600g in commit:

commit bc1c8369384b5e16547c5bf9728aa78f8dfd66cc
Author: Marek Olšák <maraeo@gmail.com>
Date: Mon Jan 23 03:11:17 2012 +0100

st/mesa: do vertex and fragment color clamping in shaders

For ARB_color_buffer_float. Most hardware can't do it and st/mesa is
the perfect place for a fallback.
The exceptions are:
- r500 (vertex clamp only)
- nv50 (both)
- nvc0 (both)
- softpipe (both)

We also have to take into account that r300 can do CLAMPED vertex colors only,
while r600 can do UNCLAMPED vertex colors only. The difference can be expressed
with the two new CAPs.

======================================================================

radeonsi: Remove PIPE_CAP_OUTPUT_READ

This CAP was dropped in commit:

commit 04e324008759282728a95a1394bac2c4c2a1a3f9
Author: Marek Olšák <maraeo@gmail.com>
Date: Thu Feb 23 23:44:36 2012 +0100

gallium: remove PIPE_SHADER_CAP_OUTPUT_READ

r600g is the only driver which has made use of it. The reason the CAP was
added was to fix some piglit tests when the GLSL pass lower_output_reads
didn't exist.

However, not removing output reads breaks the fallback for glClampColorARB,
which assumes outputs are not readable. The fix would be non-trivial
and my personal preference is to remove the CAP, considering that reading
outputs is uncommon and that we can now use lower_output_reads to fix
the issue that the CAP was supposed to workaround in the first place.

======================================================================

radeonsi: Add missing parameters to rws->buffer_get_tiling() call

This was changed in commit:

commit c0c979eebc076b95cc8d18a013ce2968fe6311ad
Author: Jerome Glisse <jglisse@redhat.com>
Date: Mon Jan 30 17:22:13 2012 -0500

r600g: add support for common surface allocator for tiling v13

Tiled surface have all kind of alignment constraint that needs to
be met. Instead of having all this code duplicated btw ddx and
mesa use common code in libdrm_radeon this also ensure that both
ddx and mesa compute those alignment in the same way.

v2 fix evergreen
v3 fix compressed texture and workaround cube texture issue by
disabling 2D array mode for cubemap (need to check if r7xx and
newer are also affected by the issue)
v4 fix texture array
v5 fix evergreen and newer, split surface values computation from
mipmap tree generation so that we can get them directly from the
ddx
v6 final fix to evergreen tile split value
v7 fix mipmap offset to avoid to use random value, use color view
depth view to address different layer as hardware is doing some
magic rotation depending on the layer
v8 fix COLOR_VIEW on r6xx for linear array mode, use COLOR_VIEW on
evergreen, align bytes per pixel to a multiple of a dword
v9 fix handling of stencil on evergreen, half fix for compressed
texture
v10 fix evergreen compressed texture proper support for stencil
tile split. Fix stencil issue when array mode was clear by
the kernel, always program stencil bo. On evergreen depth
buffer bo need to be big enough to hold depth buffer + stencil
buffer as even with stencil disabled things get written there.
v11 rebase on top of mesa, fix pitch issue with 1d surface on evergreen,
old ddx overestimate those. Fix linear case when pitch*height < 64.
Fix r300g.
v12 Fix linear case when pitch*height < 64 for old path, adapt to
libdrm API change
v13 add libdrm check

Signed-off-by: Jerome Glisse <jglisse@redhat.com>

======================================================================

radeonsi: Remove PIPE_TRANSFER_MAP_PERMANENTLY

This was removed in commit:

commit 62f44f670bb0162e89fd4786af877f8da9ff607c
Author: Marek Olšák <maraeo@gmail.com>
Date: Mon Mar 5 13:45:00 2012 +0100

Revert "gallium: add flag PIPE_TRANSFER_MAP_PERMANENTLY"

This reverts commit 0950086376b1c8b7fb89eda81ed7f2f06dee58bc.

It was decided to refactor the transfer API instead of adding workarounds
to address the performance issues.

======================================================================

radeonsi: Handle PIPE_VIDEO_CAP_PREFERED_FORMAT.

Reintroduced in commit 9d9afcb5bac2931d4b8e6d1aa571e941c5110c90.

======================================================================

radeonsi: nuke the fallback for vertex and fragment color clamping

Ported from r600g commit c2b800cf38b299c1ab1c53dc0e4ea00c7acef853.

======================================================================

radeonsi: don't expose transform_feedback2 without kernel support

Ported from r600g commit 15146fd1bcbb08e44a1cbb984440ee1a5de63d48.

======================================================================

radeonsi: Handle PIPE_CAP_GLSL_FEATURE_LEVEL.

Ported from r600g part of commit 171be755223d99f8cc5cc1bdaf8bd7b4caa04b4f.

======================================================================

radeonsi: set minimum point size to 1.0 for non-sprite non-aa points.

Ported from r600g commit f183cc9ce3ad1d043bdf8b38fd519e8f437714fc.

======================================================================

radeonsi: rework and consolidate stencilref state setting.

Ported from r600g commit a2361946e782b57f0c63587841ca41c0ea707070.

======================================================================

radeonsi: cleanup setting DB_SHADER_CONTROL.

Ported from r600g commit 3d061caaed13b646ff40754f8ebe73f3d4983c5b.

======================================================================

radeonsi: Get rid of register masks.

Ported from r600g commits
3d061caaed13b646ff40754f8ebe73f3d4983c5b..9344ab382a1765c1a7c2560e771485edf4954fe2.

======================================================================

radeonsi: get rid of r600_context_reg.

Ported from r600g commits
9344ab382a1765c1a7c2560e771485edf4954fe2..bed20f02a771f43e1c5092254705701c228cfa7f.

======================================================================

radeonsi: Fix regression from 'Get rid of register masks'.

======================================================================

radeonsi: optimize r600_resource_va.

Ported from r600g commit 669d8766ff3403938794eb80d7769347b6e52174.

======================================================================

radeonsi: remove u8,u16,u32,u64 types.

Ported from r600g commit 78293b99b23268e6698f1267aaf40647c17d95a5.

======================================================================

radeonsi: merge r600_context with r600_pipe_context.

Ported from r600g commit e4340c1908a6a3b09e1a15d5195f6da7d00494d0.

======================================================================

radeonsi: Miscellaneous context cleanups.

Ported from r600g commits
e4340c1908a6a3b09e1a15d5195f6da7d00494d0..621e0db71c5ddcb379171064a4f720c9cf01e888.

======================================================================

radeonsi: add a new simple API for state emission.

Ported from r600g commits
621e0db71c5ddcb379171064a4f720c9cf01e888..f661405637bba32c2cfbeecf6e2e56e414e9521e.

======================================================================

radeonsi: Also remove sbu_flags member of struct r600_reg.

Requires using sid.h instead of r600d.h for the new CP_COHER_CNTL definitions,
so some code needs to be disabled for now.

======================================================================

radeonsi: Miscellaneous simplifications.

Ported from r600g commits 38bf2763482b4f1b6d95cd51aecec75601d8b90f and
b0337b679ad4c2feae59215104cfa60b58a619d5.

======================================================================

radeonsi: Handle PIPE_CAP_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION.

Ported from commit 8b4f7b0672d663273310fffa9490ad996f5b914a.

======================================================================

radeonsi: Use a fake reloc to sleep for fences.

Ported from r600g commit 8cd03b933cf868ff867e2db4a0937005a02fd0e4.

======================================================================

radeonsi: adapt to get_query_result interface change.

Ported from r600g commit 4445e170bee23a3607ece0e010adef7058ac6a11.
MDGPU.h
MDGPUConstants.pm
MDGPUConvertToISA.cpp
MDGPUGenInstrEnums.pl
MDGPUGenShaderPatterns.pl
MDGPUISelLowering.cpp
MDGPUISelLowering.h
MDGPUInstrInfo.cpp
MDGPUInstrInfo.h
MDGPUInstructions.td
MDGPUIntrinsics.td
MDGPULowerShaderInstructions.cpp
MDGPULowerShaderInstructions.h
MDGPURegisterInfo.cpp
MDGPURegisterInfo.h
MDGPURegisterInfo.td
MDGPUReorderPreloadInstructions.cpp
MDGPUTargetMachine.cpp
MDGPUTargetMachine.h
MDGPUUtil.cpp
MDGPUUtil.h
MDIL.h
MDIL.td
MDIL789IOExpansion.cpp
MDIL7XXDevice.cpp
MDIL7XXDevice.h
MDIL7XXIOExpansion.cpp
MDILAlgorithms.tpp
MDILAsmBackend.cpp
MDILAsmBackend.h
MDILAsmPrinter7XX.cpp
MDILAsmPrinterEG.cpp
MDILBarrierDetect.cpp
MDILBase.td
MDILCFGStructurizer.cpp
MDILCallingConv.td
MDILCodeEmitter.h
MDILCompilerErrors.h
MDILCompilerWarnings.h
MDILConversions.td
MDILDevice.cpp
MDILDevice.h
MDILDeviceInfo.cpp
MDILDeviceInfo.h
MDILDevices.h
MDILEGIOExpansion.cpp
MDILELFWriterInfo.cpp
MDILELFWriterInfo.h
MDILEnumeratedTypes.td
MDILEvergreenDevice.cpp
MDILEvergreenDevice.h
MDILFormats.td
MDILFrameLowering.cpp
MDILFrameLowering.h
MDILGlobalManager.cpp
MDILGlobalManager.h
MDILIOExpansion.cpp
MDILIOExpansion.h
MDILISelDAGToDAG.cpp
MDILISelLowering.cpp
MDILISelLowering.h
MDILImageExpansion.cpp
MDILInliner.cpp
MDILInstrInfo.cpp
MDILInstrInfo.h
MDILInstrInfo.td
MDILInstrPatterns.td
MDILInstructions.td
MDILIntrinsicInfo.cpp
MDILIntrinsicInfo.h
MDILIntrinsics.td
MDILKernel.h
MDILKernelManager.cpp
MDILKernelManager.h
MDILLiteralManager.cpp
MDILMCCodeEmitter.cpp
MDILMachineFunctionInfo.cpp
MDILMachineFunctionInfo.h
MDILMachinePeephole.cpp
MDILModuleInfo.cpp
MDILModuleInfo.h
MDILMultiClass.td
MDILNIDevice.cpp
MDILNIDevice.h
MDILNodes.td
MDILOperands.td
MDILPatterns.td
MDILPeepholeOptimizer.cpp
MDILPointerManager.cpp
MDILPointerManager.h
MDILPrintfConvert.cpp
MDILProfiles.td
MDILRegisterInfo.cpp
MDILRegisterInfo.h
MDILRegisterInfo.td
MDILSIDevice.cpp
MDILSIDevice.h
MDILSubtarget.cpp
MDILSubtarget.h
MDILTargetMachine.cpp
MDILTargetMachine.h
MDILTokenDesc.td
MDILUtilityFunctions.cpp
MDILUtilityFunctions.h
MDILVersion.td
ICENSE.TXT
CTargetDesc/AMDILMCAsmInfo.cpp
CTargetDesc/AMDILMCAsmInfo.h
CTargetDesc/AMDILMCTargetDesc.cpp
CTargetDesc/AMDILMCTargetDesc.h
akefile
akefile.sources
rocessors.td
600CodeEmitter.cpp
600GenRegisterInfo.pl
600ISelLowering.cpp
600ISelLowering.h
600InstrFormats.td
600InstrInfo.cpp
600InstrInfo.h
600Instructions.td
600Intrinsics.td
600KernelParameters.cpp
600KernelParameters.h
600LowerInstructions.cpp
600LowerShaderInstructions.cpp
600OpenCLUtils.h
600RegisterInfo.cpp
600RegisterInfo.h
600Schedule.td
IAssignInterpRegs.cpp
ICodeEmitter.cpp
IConvertToISA.cpp
IGenRegisterInfo.pl
IISelLowering.cpp
IISelLowering.h
IInstrFormats.td
IInstrInfo.cpp
IInstrInfo.h
IInstrInfo.td
IInstructions.td
IIntrinsics.td
ILowerShaderInstructions.cpp
IMachineFunctionInfo.cpp
IMachineFunctionInfo.h
IPropagateImmReads.cpp
IRegisterInfo.cpp
IRegisterInfo.h
ISchedule.td
argetInfo/AMDILTargetInfo.cpp
oader.cpp
adeon_llvm.h
adeon_llvm_emit.cpp
adeon_setup_tgsi_llvm.c