This is an archive of the discontinued LLVM Phabricator instance.

[MIPS GlobalISel] Regbanks for G_SELECT. Select i64, f32 and f64 select
ClosedPublic

Authored by Petar.Avramovic on Jul 8 2019, 8:51 AM.

Details

Summary

Select gprb or fprb when def/use register operand of G_SELECT is
used/defined by either:
copy to/from physical register or
instruction with only one mapping available for that use/def operand.

Integer s64 select is handled with narrowScalar when mapping is applied,
produced artifacts are combined away. Manually set gprb to all register
operands of instructions created during narrowScalar.

For selection of floating point s32 or s64 select it is enough to set
fprb of appropriate size and selectImpl will do the rest.

Diff Detail

Repository
rL LLVM

Event Timeline

Petar.Avramovic created this revision.Jul 8 2019, 8:51 AM
Herald added a project: Restricted Project. · View Herald TranscriptJul 8 2019, 8:51 AM
This revision is now accepted and ready to land.Jul 9 2019, 6:50 AM
This revision was automatically updated to reflect the committed changes.