summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/nv50/nv50_pc_optimize.c
AgeCommit message (Collapse)Author
2011-02-28nv50: replace most of it with nvc0 driver ported to nv50Christoph Bumiller
We'll have to do some unification now to reduce code duplication.
2011-02-09nv50,nvc0: fix condition code change when commuting SET sourcesChristoph Bumiller
2010-10-05nv50: fix always true conditional in shader optimizationNicolas Kaiser
2010-09-15nv50: improve and fix modifier folding optimizationChristoph Bumiller
Execute before folding loads, because we don't check if it's legal in lower_mods. Ensure that a value's insn pointer is updated when transferring it to a different instruction.
2010-09-15nv50: consider address register in reload eliminationChristoph Bumiller
2010-09-13nv50: check for immediates when turning MUL ADD into MADChristoph Bumiller
2010-09-13nv50: handle TGSI EXP and LOG againChristoph Bumiller
2010-09-12nv50: cannot move from local mem to output reg directlyChristoph Bumiller
2010-09-12nv50: reduce bb_reachable_by runtime from pot to linearChristoph Bumiller
As a by-product, remove the memory leak of nv_basic_blocks.
2010-09-09nv50: use actual loads/stores if TEMPs are accessed indirectlyChristoph Bumiller
2010-09-09nv50: prepare for having multiple functionsChristoph Bumiller
At some point we'll want to support real subroutines instead of just inlining them into the main shader. Since recursive calls are forbidden, we can just save all used registers to a fixed local memory region and restore them on a return, no need for a stack pointer.
2010-09-02nv50: fix build-predicate functionChristoph Bumiller
2010-09-01nv50: re-add proper TEXBIAS sequenceChristoph Bumiller
2010-09-01nv50: SSGChristoph Bumiller
2010-09-01nv50: attempt at making more complicated loops workChristoph Bumiller
Nested loops, and loops with multiple exits (BREAK, CONT).
2010-09-01nv50: turn off verbose debug output by defaultChristoph Bumiller
2010-08-17nv50: check dst compatibility in CSEChristoph Bumiller
2010-08-17nv50: more TGSI opcodes (SIN, SCS, ARL, RET, KILP)Christoph Bumiller
2010-08-17nv50: generate JOINs for outermost IF clausesChristoph Bumiller
2010-08-17nv50: fix thinko in store to output reg possible checkChristoph Bumiller
2010-08-17nv50: flatten simple IF/ELSE/ENDIF constructsChristoph Bumiller
Less branching means less instructions and less thread divergence.
2010-08-15nv50: loops part 2Christoph Bumiller
At least the mesa demo glsl/mandelbrot should work now.
2010-08-15nv50: more constant foldingChristoph Bumiller
2010-08-10nv50: begin implementing loopsChristoph Bumiller
2010-08-05nv50: build proper phi functions in the first placeChristoph Bumiller
2010-08-05nv50: don't eliminate loads to dedicated valuesChristoph Bumiller
2010-07-31nv50: fixes for nested IFsChristoph Bumiller
2010-07-31nv50: fix for empty BBsChristoph Bumiller
2010-07-26nv50: fix constant_operand opt mul by 2 caseChristoph Bumiller
2010-07-26nv50: simple reload elimination and local CSEChristoph Bumiller
2010-07-24nv50: add/fix some license headersChristoph Bumiller
2010-07-24nv50: don't produce MOV immediate to output reg in store optChristoph Bumiller
2010-07-23nv50: import new compilerChristoph Bumiller