- regs = if isCall then
- case (reps, conv) of
- (_, NativeCall) -> getRegsWithoutNode
- (_, GC ) -> getRegsWithNode
- (_, PrimOpCall) -> allRegs
- (_, Slow ) -> noRegs
- _ -> pprPanic "Unknown calling convention" (ppr conv)
- else
- case (reps, conv) of
- ([_], _) -> allRegs
- (_, NativeCall) -> getRegsWithNode
- (_, NativeReturn) -> getRegsWithNode
- (_, GC ) -> getRegsWithNode
- (_, PrimOpReturn) -> getRegsWithNode
- (_, Slow ) -> noRegs
- _ -> pprPanic "Unknown calling convention" (ppr conv)
+ 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)