Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | r600g: Compute support for Cayman | Tom Stellard | 2012-06-06 | 1 | -48/+44 |
| | |||||
* | radeon/llvm: Remove obselete hooks for the ConvertToISA pass | Tom Stellard | 2012-06-06 | 6 | -87/+1 |
| | | | | | | 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. | ||||
* | radeon/llvm: Remove AMDIL MOVE* instructions | Tom Stellard | 2012-06-06 | 5 | -20/+2 |
| | |||||
* | radeon/llvm: Add isMov() to AMDILInstrInfo | Tom Stellard | 2012-06-06 | 6 | -11/+34 |
| | | | | | This enables the CFGStructurizer to work without the AMDIL::MOV* instructions. | ||||
* | radeon/llvm: Remove deadcode from the AMDILISelLowering class | Tom Stellard | 2012-06-06 | 2 | -203/+0 |
| | |||||
* | radeon/llvm: Don't lower RETURN to S_ENDPGM on SI | Tom Stellard | 2012-06-06 | 2 | -1/+4 |
| | | | | | Instead create an S_ENDPGM instruction in the CodeEmitter and emit it after all the other instructions. | ||||
* | radeon/llvm: Remove AMDIL VCREATE* instructions | Tom Stellard | 2012-06-06 | 8 | -97/+12 |
| | | | | This obsoletes the AMDGPULowerInstruction pass. | ||||
* | radeon/llvm: Remove AMDIL LOADCONST* instructions | Tom Stellard | 2012-06-06 | 13 | -322/+33 |
| | | | | This obsoletes the R600LowerInstruction and SIPropagateImmReads passes. | ||||
* | radeon/llvm: Fix VTX_READ patterns | Tom Stellard | 2012-06-01 | 3 | -4/+33 |
| | | | | | | | | | 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. | ||||
* | radeon/llvm: Emit 2 bytes for vertex fetch offsets | Tom Stellard | 2012-06-01 | 1 | -1/+1 |
| | |||||
* | radeon/llvm: Only use indirect (vertex fetch) parameters for kernels | Tom Stellard | 2012-06-01 | 1 | -2/+6 |
| | | | | | | Kernel parameters can only be retrieved via vertex fetchs. Direct parameters (i.e parameters stored in the constant buffer) are not supported yet. | ||||
* | radeon/llvm: Eliminate CFGStructurizer dependency on AMDIL instructions | Tom Stellard | 2012-06-01 | 11 | -41/+124 |
| | | | | | | Add some hooks to the R600,SI InstrInfo and RegisterInfo classes, so that the CFGStructurizer pass can run without any relying on AMDIL instructions. | ||||
* | radeon/llvm: Change prefix on tablegen files to AMDGPU | Tom Stellard | 2012-06-01 | 17 | -50/+50 |
| | |||||
* | radeon/llvm: Remove deadcode from the R600LowerInstructions pass | Tom Stellard | 2012-06-01 | 1 | -46/+2 |
| | |||||
* | radeon/llvm: Remove AMDIL GLOBALSTORE* instructions | Tom Stellard | 2012-06-01 | 4 | -77/+36 |
| | |||||
* | radeon/llvm: Remove AMDIL GLOBALLOAD* instructions | Tom Stellard | 2012-06-01 | 6 | -128/+24 |
| | |||||
* | radeon/llvm: Update and fix some comments | Tom Stellard | 2012-05-29 | 2 | -12/+6 |
| | |||||
* | radeonsi: Remove use.sgpr* intrinsics, use load instructions instead | Tom Stellard | 2012-05-29 | 4 | -30/+21 |
| | | | | | | | | | | 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. | ||||
* | radeonsi: Handle TGSI CONST registers | Tom Stellard | 2012-05-29 | 11 | -58/+171 |
| | | | | | We now emit LLVM load instructions for TGSI CONST register reads, which are lowered in the backend to S_LOAD_DWORD* instructions. | ||||
* | radeon/llvm: Remove AMDILIntrinsicInfo::GetDeclaration fuction body | Tom Stellard | 2012-05-29 | 1 | -20/+1 |
| | | | | | | | 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. | ||||
* | radeon/llvm: Remove AMDILTargetMachine | Tom Stellard | 2012-05-29 | 19 | -363/+90 |
| | |||||
* | radeon/llvm: Use a custom inserter for MASK_WRITE | Tom Stellard | 2012-05-25 | 4 | -34/+36 |
| | |||||
* | radeon/llvm: Use tablegen pattern to lower bitconvert | Tom Stellard | 2012-05-25 | 4 | -294/+11 |
| | |||||
* | radeon/llvm: Use a custom inserter to lower FNEG | Tom Stellard | 2012-05-25 | 5 | -22/+15 |
| | |||||
* | radeon/llvm: Use a custom inserter to lower CLAMP | Tom Stellard | 2012-05-25 | 9 | -84/+41 |
| | |||||
* | radeon/llvm: Use a custom inserter to lower FABS | Tom Stellard | 2012-05-25 | 10 | -42/+41 |
| | |||||
* | radeon/llvm: add FLT_TO_UINT, UINT_TO_FLT instructions | Vadim Girlin | 2012-05-25 | 1 | -0/+20 |
| | | | | | Signed-off-by: Vadim Girlin <[email protected]> Reviewed-by: Tom Stellard <[email protected]> | ||||
* | radeon/llvm: prepare to revert the round mode state to default | Vadim Girlin | 2012-05-25 | 1 | -2/+9 |
| | | | | | | | Use TRUNC before FLT_TO_INT on evergreen/cayman. Signed-off-by: Vadim Girlin <[email protected]> Reviewed-by: Tom Stellard <[email protected]> | ||||
* | radeon/llvm: fix opcode for RECIP_UINT_r600 | Vadim Girlin | 2012-05-25 | 1 | -1/+1 |
| | | | | | | | | Fixes https://bugs.freedesktop.org/show_bug.cgi?id=50312 Signed-off-by: Vadim Girlin <[email protected]> Tested-by: Kai Wasserbäch <[email protected]> Reviewed-by: Tom Stellard <[email protected]> | ||||
* | radeon/llvm/loader: convert hardcoded gpu name to option | Vadim Girlin | 2012-05-25 | 1 | -2/+3 |
| | | | | | Signed-off-by: Vadim Girlin <[email protected]> Reviewed-by: Tom Stellard <[email protected]> | ||||
* | radeon/llvm: Lower UDIV using the Selection DAG | Tom Stellard | 2012-05-24 | 8 | -212/+126 |
| | |||||
* | radeon/llvm: Remove auto-generated AMDIL->ISA conversion code | Tom Stellard | 2012-05-24 | 14 | -280/+28 |
| | |||||
* | radeon/llvm: Remove AMDIL instructions MULHI, SMUL | Tom Stellard | 2012-05-24 | 3 | -10/+5 |
| | |||||
* | radeon/llvm: Remove AMDIL bitshift instructions (SHL, SHR, USHR) | Tom Stellard | 2012-05-24 | 8 | -693/+6 |
| | |||||
* | radeon/llvm: Remove AMDIL FTOI and ITOF instructions | Tom Stellard | 2012-05-24 | 7 | -316/+7 |
| | |||||
* | radeon/llvm: Remove AMDIL EXP* instructions | Tom Stellard | 2012-05-24 | 5 | -15/+7 |
| | |||||
* | radeon/llvm: Remove AMDIL ADD instructions | Tom Stellard | 2012-05-24 | 6 | -179/+4 |
| | |||||
* | radeon/llvm: Remove AMDIL binary instrutions (OR, AND, XOR, NOT) | Tom Stellard | 2012-05-24 | 8 | -422/+8 |
| | |||||
* | radeon/llvm: Remove AMDILMachinePeephole pass | Tom Stellard | 2012-05-24 | 4 | -177/+0 |
| | |||||
* | radeon/llvm: Remove AMDIL CMP instructions and associated lowering code | Tom Stellard | 2012-05-24 | 3 | -661/+22 |
| | |||||
* | radeon/llvm: Remove AMDIL ROUND_NEAREST instruction | Tom Stellard | 2012-05-24 | 4 | -6/+6 |
| | |||||
* | radeon/llvm: Remove AMDIL ROUND_POSINF instruction | Tom Stellard | 2012-05-24 | 4 | -6/+10 |
| | |||||
* | radeon/llvm: Add custom SDNode for FRACT | Tom Stellard | 2012-05-24 | 6 | -6/+10 |
| | |||||
* | radeon/llvm: Use -1 as true value for SET* integer instructions | Tom Stellard | 2012-05-24 | 3 | -32/+28 |
| | |||||
* | radeon/llvm: Handle SETGE_INT, SETGE_UINT, and SETGT_UINT opcodes | Tom Stellard | 2012-05-24 | 1 | -0/+6 |
| | | | | | Support for these was inadvertently dropped in commit cee23ab246f22210b3063cdc47bdb45b3d943526 | ||||
* | radeon/llvm: Avoid error with SI in EmitInstrWithCustomInserter() | Tom Stellard | 2012-05-24 | 1 | -0/+1 |
| | | | | | | 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. | ||||
* | radeon/llvm: Handle selectcc DAG node | Tom Stellard | 2012-05-20 | 7 | -54/+350 |
| | | | | | R600 can now select instructions from the selectcc DAG node, which is typically lowered to one of the SET* instructions. | ||||
* | radeon/llvm: Fix segfault while lowering lrp intrinsic | Tom Stellard | 2012-05-17 | 1 | -2/+3 |
| | |||||
* | radeon/llvm: Add DAG nodes for MIN instructions | Tom Stellard | 2012-05-17 | 6 | -14/+38 |
| | | | | Also, remove the AMDIL MIN* instruction defs. | ||||
* | radeon/llvm: Lower lrp intrinsic during ISel | Tom Stellard | 2012-05-17 | 3 | -7/+19 |
| |