This is an archive of the discontinued LLVM Phabricator instance.

GlobalISel: Move some trivial MIRBuilder methods into the header
ClosedPublic

Authored by arsenm on Jun 8 2020, 4:50 AM.

Details

Summary

The construction APIs for MachineIRBuilder don't make much sense, and
it's been annoying to sort through it with these trivial functions
separate from the declaration.

Diff Detail

Event Timeline

arsenm created this revision.Jun 8 2020, 4:50 AM
Herald added a project: Restricted Project. · View Herald TranscriptJun 8 2020, 4:50 AM

The construction APIs for MachineIRBuilder don't make much sense,

What exactly do you mean by this? I agree with the latter about these trivial methods getting in the way.

This revision is now accepted and ready to land.Jun 8 2020, 11:31 AM

The construction APIs for MachineIRBuilder don't make much sense,

What exactly do you mean by this? I agree with the latter about these trivial methods getting in the way.

See D81382. I also think it's a problem that RegBankSelect and other backend users need to construct their own single purpose builders, when the builder is supposed to be maintaining CSE state for example

The construction APIs for MachineIRBuilder don't make much sense,

What exactly do you mean by this? I agree with the latter about these trivial methods getting in the way.

See D81382. I also think it's a problem that RegBankSelect and other backend users need to construct their own single purpose builders, when the builder is supposed to be maintaining CSE state for example

This is unfortunate. I haven't paid too much attention to RegBankSelect pass/APIs. Maybe we need to fix those as well.