Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | radeon/llvm: Remove backend code from Mesa | Tom Stellard | 2013-01-04 | 1 | -740/+0 |
| | | | | | | | | | | | | This code now lives in an external tree. For the next Mesa release fetch the code from the master branch of this LLVM repo: http://cgit.freedesktop.org/~tstellar/llvm/ For all subsequent Mesa releases, fetch the code from the official LLVM project: www.llvm.org | ||||
* | radeon/llvm: improve select_cc lowering to generate CND* more often | Vincent Lejeune | 2012-09-27 | 1 | -35/+54 |
| | | | | | | | | v2: - Simplify isZero() - Remove a unused function prototype - Clean whitespace trails Reviewed-by: Tom Stellard <[email protected]> | ||||
* | radeon/llvm: support for interpolation intrinsics | Vincent Lejeune | 2012-09-22 | 1 | -1/+87 |
| | | | | Reviewed-by: Tom Stellard <[email protected]> | ||||
* | radeon/llvm: Add support for v4f32 stores on R600 | Tom Stellard | 2012-09-21 | 1 | -1/+2 |
| | |||||
* | radeon/llvm: Expand vector fadd and fmul on R600 | Tom Stellard | 2012-09-21 | 1 | -0/+3 |
| | |||||
* | radeon/llvm: Add optimization for FP_ROUND | Tom Stellard | 2012-09-21 | 1 | -0/+26 |
| | |||||
* | radeon/llvm: Fix unused variable warning | Tom Stellard | 2012-09-17 | 1 | -1/+0 |
| | |||||
* | radeon/llvm: Move kernel arg lowering into R600TargetLowering class | Tom Stellard | 2012-09-17 | 1 | -0/+28 |
| | |||||
* | radeon/llvm: Add SHADER_TYPE instruction | Tom Stellard | 2012-09-11 | 1 | -0/+1 |
| | | | | | | | This allows the program to specify the type of shader being compiled (e.g. PXEL, VERTEX, etc.) Reviewed-by: Michel Dänzer <[email protected]> | ||||
* | radeon/llvm: do not convert f32 operand of select_cc node | Vincent Lejeune | 2012-09-04 | 1 | -20/+20 |
| | | | | | | v2:-use camel coding style Reviewed-by: Tom Stellard <[email protected]> | ||||
* | radeon/llvm: custom lowering for FP_TO_UINT when dst is i1 (bool) | Vincent Lejeune | 2012-09-04 | 1 | -0/+22 |
| | | | | | | v2:-wrap line at 80 characters Reviewed-by: Tom Stellard <[email protected]> | ||||
* | radeon/llvm: support setcc on f32 | Vincent Lejeune | 2012-09-04 | 1 | -9/+27 |
| | | | | Reviewed-by: Tom Stellard <[email protected]> | ||||
* | radon/llvm: br_cc f32 now lowered without cast | Vincent Lejeune | 2012-09-04 | 1 | -9/+24 |
| | | | | Reviewed-by: Tom Stellard <[email protected]> | ||||
* | radeon/llvm: swap wrong OPCODE_IS_*_ZERO_* opcode and use | Vincent Lejeune | 2012-09-04 | 1 | -2/+2 |
| | | | | Reviewed-by: Tom Stellard <[email protected]> | ||||
* | radeon/llvm: Set End of Program bit on RAT instructions | Tom Stellard | 2012-08-23 | 1 | -1/+3 |
| | | | | This code was accidently dropped during the MCCodeEmitter conversion. | ||||
* | radeon/llvm: Use correct instruction for moving immediates | Tom Stellard | 2012-08-23 | 1 | -1/+2 |
| | | | | | This should fix an assertion failure that was happening in some compute shaders. | ||||
* | radeon/llvm: Fix some coding style issues | Tom Stellard | 2012-08-23 | 1 | -6/+6 |
| | |||||
* | radeon/llvm: Pull changes from external version of the backend | Tom Stellard | 2012-08-23 | 1 | -4/+4 |
| | |||||
* | radeon/llvm: Use the MCCodeEmitter for R600 | Tom Stellard | 2012-08-23 | 1 | -0/+1 |
| | |||||
* | radeon/llvm: Add flag operand to some instructions | Tom Stellard | 2012-08-23 | 1 | -2/+7 |
| | | | | | | | 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. | ||||
* | radeon/llvm: Encapsulate setting of MachineOperand flags | Tom Stellard | 2012-08-23 | 1 | -42/+51 |
| | | | | | MachineOperand flags will be removed soon, so it is convienent to have only one function that modifies them. | ||||
* | radeon/llvm: Lower implicit parameters before ISel | Tom Stellard | 2012-08-16 | 1 | -49/+37 |
| | |||||
* | radeon/llvm: Lower branch/branch_cond into predicated jump | Vincent Lejeune | 2012-08-15 | 1 | -0/+27 |
| | | | | Signed-off-by: Tom Stellard <[email protected]> | ||||
* | radeon/llvm: Support for predicate bit | Vincent Lejeune | 2012-08-15 | 1 | -4/+9 |
| | | | | | | | Tom Stellard: - A few changes to predicate register defs Signed-off-by: Tom Stellard <[email protected]> | ||||
* | radeon/llvm: Remove AMDGPUUtil.cpp | Tom Stellard | 2012-08-15 | 1 | -1/+0 |
| | |||||
* | radeon/llvm: Add live-in registers during DAG lowering | Tom Stellard | 2012-08-15 | 1 | -27/+40 |
| | | | | | | Psuedo instructions emulating live-in registers have been removed and their corresponding intrinsics are now being lowered during DAG lowering. | ||||
* | radeon/llvm: Lower store_output intrinsic during DAG lowering | Tom Stellard | 2012-08-15 | 1 | -14/+21 |
| | |||||
* | radeon/llvm: Inline immediate offset when lowering implicit parameters | Tom Stellard | 2012-08-14 | 1 | -4/+8 |
| | |||||
* | radeon/llvm: Remove CMOVLOG DAG node | Tom Stellard | 2012-08-02 | 1 | -0/+6 |
| | |||||
* | radeon/llvm: Merge AMDILTargetLowering class into AMDGPUTargetLowering | Tom Stellard | 2012-07-30 | 1 | -1/+3 |
| | |||||
* | radeon/llvm: Move lowering of BR_CC node to R600ISelLowering | Tom Stellard | 2012-07-27 | 1 | -0/+29 |
| | | | | | SI will handle BR_CC different from R600, so we need to move it out of the shared instruction selector. | ||||
* | radeon/llvm: Move lowering of SETCC node to R600ISelLowering | Tom Stellard | 2012-07-27 | 1 | -0/+28 |
| | | | | | SI will handle SETCC different from R600, so we need to move it out of the shared instruction selector. | ||||
* | radeon/llvm: Move LowerSELECT_CC into R600ISelLowering | Tom Stellard | 2012-07-27 | 1 | -0/+110 |
| | | | | | SI will handle SELECT_CC different from R600, so we need to move it out of the shared instruction selector. | ||||
* | radeon/llvm: Use multiclasses for floating point loads | Tom Stellard | 2012-07-11 | 1 | -1/+1 |
| | | | | | | | 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). | ||||
* | radeon/llvm: Rename namespace from AMDIL to AMDGPU | Tom Stellard | 2012-07-09 | 1 | -65/+65 |
| | |||||
* | radeon/llvm: Lower ROTL to BIT_ALIGN | Tom Stellard | 2012-06-21 | 1 | -0/+28 |
| | |||||
* | radeon/llvm: Use the VLIW Scheduler for R600->NI | Tom Stellard | 2012-06-21 | 1 | -1/+1 |
| | | | | | | | | | | | | | | | | | | | 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. | ||||
* | radeon/llvm: Remove deadcode from AMDILISelLowering.cpp | Tom Stellard | 2012-06-18 | 1 | -5/+0 |
| | |||||
* | radeon/llvm: Remove AMDIL GLOBALSTORE* instructions | Tom Stellard | 2012-06-01 | 1 | -0/+23 |
| | |||||
* | radeon/llvm: Remove AMDIL GLOBALLOAD* instructions | Tom Stellard | 2012-06-01 | 1 | -4/+4 |
| | |||||
* | radeon/llvm: Update and fix some comments | Tom Stellard | 2012-05-29 | 1 | -7/+1 |
| | |||||
* | radeonsi: Handle TGSI CONST registers | Tom Stellard | 2012-05-29 | 1 | -0/+1 |
| | | | | | We now emit LLVM load instructions for TGSI CONST register reads, which are lowered in the backend to S_LOAD_DWORD* instructions. | ||||
* | radeon/llvm: Use a custom inserter for MASK_WRITE | Tom Stellard | 2012-05-25 | 1 | -0/+12 |
| | |||||
* | radeon/llvm: Use a custom inserter to lower FNEG | Tom Stellard | 2012-05-25 | 1 | -0/+7 |
| | |||||
* | radeon/llvm: Use a custom inserter to lower CLAMP | Tom Stellard | 2012-05-25 | 1 | -0/+7 |
| | |||||
* | radeon/llvm: Use a custom inserter to lower FABS | Tom Stellard | 2012-05-25 | 1 | -0/+8 |
| | |||||
* | radeon/llvm: Handle selectcc DAG node | Tom Stellard | 2012-05-20 | 1 | -0/+7 |
| | | | | | R600 can now select instructions from the selectcc DAG node, which is typically lowered to one of the SET* instructions. | ||||
* | radeon/llvm: Expand fsub during ISel | Tom Stellard | 2012-05-17 | 1 | -0/+2 |
| | |||||
* | radeon/llvm: add SET_GRADIENTS*, fix SAMPLE_G | Vadim Girlin | 2012-05-15 | 1 | -0/+47 |
| | | | | | Signed-off-by: Vadim Girlin <[email protected]> Reviewed-by: Tom Stellard <[email protected]> | ||||
* | radeon/llvm: Add some comments | Tom Stellard | 2012-05-10 | 1 | -3/+3 |
| |