R600: Various improvements

Vincent Lejeune vljn at ovi.com
Wed Aug 14 09:49:22 PDT 2013


Hi,

the 3 attached patches are not related to each others but they are rather small, that's why I put them together in this mail.


The first one remove the fmul.v4f32.ll test. The fmul.ll test already test fmul behavior in presence of v4f32 vector so it's redundant.
The second one add support for a read port optimization in R600 hw : if the first and second source of an instruction are identical (ie same gpr and channel),
the second source shares the read port of the first one thus relaxing some packing constraints. Some (big) minings shader really appreciate this feature with a reduction
of up to 10% IG count.
The last one activates the StructurizeCFG pass for R600. It enables llvm backend to compile some shaders with a complex cfg, like the ones found in shadertoy.

Vincent
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-R600-Remove-fmul.v4f32.ll-test-which-is-redundant-wi.patch
Type: text/x-patch
Size: 1222 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20130814/1ce4ddb5/attachment.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-R600-Use-shared-op-optimization-when-checking-cycle-.patch
Type: text/x-patch
Size: 2492 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20130814/1ce4ddb5/attachment-0001.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-R600-Use-StructurizeCFGPass-for-non-SI-targets.patch
Type: text/x-patch
Size: 3836 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20130814/1ce4ddb5/attachment-0002.bin>


More information about the llvm-commits mailing list