This is an archive of the discontinued LLVM Phabricator instance.

AMDGPU: Remove global isGCN predicates
ClosedPublic

Authored by arsenm on Oct 2 2017, 10:01 AM.

Details

Summary

These are problematic because they apply to everything,
and can easily clobber whatever more specific predicate
you are trying to add to a function.

Currently instructions use SubtargetPredicate/PredicateControl
to apply this to patterns applied to an instruction definition,
but not to free standing Pats. Add a wrapper around Pat
so the special PredicateControls requirements can be appended
to the final predicate list like how Mips does it.

Diff Detail

Event Timeline

arsenm created this revision.Oct 2 2017, 10:01 AM
rampitec added inline comments.Oct 2 2017, 10:31 AM
lib/Target/AMDGPU/DSInstructions.td
539–540

Isn't it already in the GCNPat?

arsenm updated this revision to Diff 117407.Oct 2 2017, 12:25 PM

Remove an unnecessary SubtargetPredicate block, fix a few more globally overwriting let Predicates = blocks

This revision is now accepted and ready to land.Oct 2 2017, 12:43 PM
arsenm closed this revision.Oct 2 2017, 5:08 PM

r314742