This is an archive of the discontinued LLVM Phabricator instance.

[RISCV] Remove shadow register list passed to AllocateReg when allocating FP registers
ClosedPublic

Authored by craig.topper on Nov 4 2020, 3:08 PM.

Details

Summary

The _F and _D registers are already sub/super registers. When one gets allocated all its aliases are already marked as allocated. We don't need to explicitly shadow it too.

I believe shadow is for calling conventions like 64-bit Windows on X86. Where have rules like this

CCIfType<[i32], CCAssignToRegWithShadow<[ECX , EDX , R8D , R9D ],              
                                         [XMM0, XMM1, XMM2, XMM3]>>

For that calling convention the argument number determines which register is used regardless of how many scalars or vectors came before it.

Removing this removes a question I had in D90738.

Diff Detail