Christoph Bumiller
e43a3a66a9
nv50/ir: rewrite the register allocator as GCRA, with spilling
...
This is more flexible than the linear scan, and we don't need the
separate allocation pass for constrained values anymore.
2012-04-14 21:54:03 +02:00
Francisco Jerez
9bb36d54a2
nv50/ir/tgsi: Replace the inlining logic with proper function calls.
2012-04-14 21:54:02 +02:00
Christoph Bumiller
5df92c81c3
nv50/ir: initialize FlowInstruction::builtin
2012-04-14 21:54:01 +02:00
Francisco Jerez
98116cc3dc
nv50/ir: Build a "symbol" table with the binary offsets of each function.
2012-04-14 21:54:01 +02:00
Francisco Jerez
d32ebb8c30
nv50/ir: Scan program functions in DFS-postorder.
...
The reason is that several passes (regalloc, function argument
binding, inlining) are going to require the callees of a function to
be processed before the caller.
2012-04-14 21:54:01 +02:00
Francisco Jerez
d6d1f0e4a2
nv50/ir/opt: Don't lose modifiers during constant folding.
2012-04-14 21:54:01 +02:00
Francisco Jerez
14d5f975a6
nv50/ir/opt: Improve modifier handling.
2012-04-14 21:54:01 +02:00
Francisco Jerez
784848a94d
nv50/ir: Add support for cloning FlowInsns, ImmediateVals and BBs.
2012-04-14 21:54:01 +02:00
Francisco Jerez
a05e6a3fa2
nv50/ir: Decouple object cloning logic from the sub-object recursion policy.
2012-04-14 21:54:01 +02:00
Francisco Jerez
da28ba00d8
nv50/ir: Make sure that several IR objects are destroyed on takedown.
2012-04-14 21:54:01 +02:00
Christoph Bumiller
9362d4bc0a
nv50/ir: make Instruction::src/def container private
2012-04-14 21:54:00 +02:00
Francisco Jerez
8cc2eca5df
nv50/ir: Add support for unlimited instruction arguments.
2012-04-14 21:54:00 +02:00
Francisco Jerez
658c0bee71
nv50/ir/opt: Fix OP_NOT to modifier conversion.
2012-04-14 21:53:59 +02:00
Christoph Bumiller
7b6881932a
nvc0: fix submission of VertexID and EdgeFlag in push mode
...
NOTE: This is a candidate for the 8.0 branch.
2012-01-12 22:38:01 +01:00
Christoph Bumiller
37a08ddce5
nv50/ir: fix argument count for CUBE_ARRAY texture target
2011-10-21 23:00:38 +02:00
Christoph Bumiller
6b27f14680
nv50/ir: initialize default prog_info values for GP,TP
2011-10-21 23:00:38 +02:00
Christoph Bumiller
63ca1abcc4
nv50/ir: fix memory value equality check
2011-10-21 23:00:38 +02:00
Christoph Bumiller
d2d19ea51f
nv50/ir: add missing license headers
2011-09-14 16:50:23 +02:00
Christoph Bumiller
57594065c3
nv50/ir: import new shader backend code
2011-09-14 16:19:52 +02:00