- regs = if isCall then
- case (reps, conv) of
- (_, Native) -> getRegsWithoutNode
- (_, GC ) -> getRegsWithNode
- (_, PrimOp) -> allRegs
- (_, Slow ) -> noRegs
- (_, _ ) -> getRegsWithoutNode
- else
- case (reps, conv) of
- ([_], _) -> allRegs
- (_, Native) -> getRegsWithNode
- (_, GC ) -> getRegsWithNode
- (_, PrimOp) -> getRegsWithNode
- (_, Slow ) -> noRegs
- (_, _ ) -> getRegsWithNode
+ regs = case (reps, conv) of
+ (_, NativeNodeCall) -> getRegsWithNode
+ (_, NativeDirectCall) -> getRegsWithoutNode
+ ([_], NativeReturn) -> allRegs
+ (_, NativeReturn) -> getRegsWithNode
+ (_, GC) -> getRegsWithNode
+ (_, PrimOpCall) -> allRegs
+ ([_], PrimOpReturn) -> allRegs
+ (_, PrimOpReturn) -> getRegsWithNode
+ (_, Slow) -> noRegs
+ _ -> pprPanic "Unknown calling convention" (ppr conv)