This is an archive of the discontinued LLVM Phabricator instance.

AMDGPU: Cleanup control flow intrinsics
ClosedPublic

Authored by arsenm on Mar 9 2017, 6:01 PM.

Details

Reviewers
cfang
tstellar
Summary

Move backend internal intrinsics along with the rest of the
normal intrinsics, and use the Intrinsic::getDeclaration
API instead of manually constructing the type list.

It's surprising this was working before. fdiv.fast had
the wrong number of parameters. The control flow intrinsic
declaration attributes were not being applied, and
their types were inconsistent. The actual IR use types
did not match the declaration, and were closer to the
types used for the patterns. The brcond lowering
was changing the types, so introduce new nodes for those.

Diff Detail

Event Timeline

arsenm created this revision.Mar 9 2017, 6:01 PM
tstellar accepted this revision.Mar 17 2017, 1:25 PM
tstellar added a subscriber: tstellar.

LGTM.

This revision is now accepted and ready to land.Mar 17 2017, 1:25 PM
cfang accepted this revision.Mar 17 2017, 1:30 PM

LGTM. Thanks.

arsenm closed this revision.Mar 17 2017, 1:54 PM

r298119