This is an archive of the discontinued LLVM Phabricator instance.

[AMDGPU] Handle the idot8 pattern generated by FE
ClosedPublic

Authored by FarhanaAleen on Oct 31 2018, 9:06 AM.

Details

Summary

Different variants of idot8 codegen dag patterns are not generated by llvm-tablegen due to a huge increase in the compile time. Support the pattern that clang FE generates after reordering the additions in integer-dot8 source language pattern.

Diff Detail

Repository
rL LLVM

Event Timeline

FarhanaAleen created this revision.Oct 31 2018, 9:06 AM
arsenm added inline comments.Oct 31 2018, 11:08 AM
lib/Target/AMDGPU/VOP3PInstructions.td
290–291 ↗(On Diff #171943)

How much of an increase? I would be surprised the addition of anything here would cause a noticeable difference

FarhanaAleen added inline comments.Nov 1 2018, 10:01 AM
lib/Target/AMDGPU/VOP3PInstructions.td
290–291 ↗(On Diff #171943)

It's huge, up a few hours. There are multiplications too and the tree height is 8. The number of patterns grows exponentially, roughly (4^8) and this is without applying further associative property.

arsenm accepted this revision.Nov 1 2018, 1:08 PM

LGTM

This revision is now accepted and ready to land.Nov 1 2018, 1:08 PM
This revision was automatically updated to reflect the committed changes.