@@ -687,101 +687,101 @@ void llvm::getLibcallSignature(const WebAssemblySubtarget &Subtarget,
687
687
Params.push_back (PtrTy);
688
688
break ;
689
689
case i64_i64_func_f32:
690
- # if 0 // TODO: Enable this when wasm gets multiple-return-value support.
691
- Rets.push_back(wasm::ValType::I64);
692
- Rets.push_back(wasm::ValType::I64);
693
- # else
694
- Params.push_back (PtrTy);
695
- # endif
690
+ if (Subtarget. hasMultivalue ()) {
691
+ Rets.push_back (wasm::ValType::I64);
692
+ Rets.push_back (wasm::ValType::I64);
693
+ } else {
694
+ Params.push_back (PtrTy);
695
+ }
696
696
Params.push_back (wasm::ValType::F32);
697
697
break ;
698
698
case i64_i64_func_f64:
699
- # if 0 // TODO: Enable this when wasm gets multiple-return-value support.
700
- Rets.push_back(wasm::ValType::I64);
701
- Rets.push_back(wasm::ValType::I64);
702
- # else
703
- Params.push_back (PtrTy);
704
- # endif
699
+ if (Subtarget. hasMultivalue ()) {
700
+ Rets.push_back (wasm::ValType::I64);
701
+ Rets.push_back (wasm::ValType::I64);
702
+ } else {
703
+ Params.push_back (PtrTy);
704
+ }
705
705
Params.push_back (wasm::ValType::F64);
706
706
break ;
707
707
case i16_i16_func_i16_i16:
708
- # if 0 // TODO: Enable this when wasm gets multiple-return-value support.
709
- Rets.push_back(wasm::ValType::I32);
710
- Rets.push_back(wasm::ValType::I32);
711
- # else
712
- Params.push_back (PtrTy);
713
- # endif
708
+ if (Subtarget. hasMultivalue ()) {
709
+ Rets.push_back (wasm::ValType::I32);
710
+ Rets.push_back (wasm::ValType::I32);
711
+ } else {
712
+ Params.push_back (PtrTy);
713
+ }
714
714
Params.push_back (wasm::ValType::I32);
715
715
Params.push_back (wasm::ValType::I32);
716
716
break ;
717
717
case i32_i32_func_i32_i32:
718
- # if 0 // TODO: Enable this when wasm gets multiple-return-value support.
719
- Rets.push_back(wasm::ValType::I32);
720
- Rets.push_back(wasm::ValType::I32);
721
- # else
722
- Params.push_back (PtrTy);
723
- # endif
718
+ if (Subtarget. hasMultivalue ()) {
719
+ Rets.push_back (wasm::ValType::I32);
720
+ Rets.push_back (wasm::ValType::I32);
721
+ } else {
722
+ Params.push_back (PtrTy);
723
+ }
724
724
Params.push_back (wasm::ValType::I32);
725
725
Params.push_back (wasm::ValType::I32);
726
726
break ;
727
727
case i64_i64_func_i64_i64:
728
- # if 0 // TODO: Enable this when wasm gets multiple-return-value support.
729
- Rets.push_back(wasm::ValType::I64);
730
- Rets.push_back(wasm::ValType::I64);
731
- # else
732
- Params.push_back (PtrTy);
733
- # endif
728
+ if (Subtarget. hasMultivalue ()) {
729
+ Rets.push_back (wasm::ValType::I64);
730
+ Rets.push_back (wasm::ValType::I64);
731
+ } else {
732
+ Params.push_back (PtrTy);
733
+ }
734
734
Params.push_back (wasm::ValType::I64);
735
735
Params.push_back (wasm::ValType::I64);
736
736
break ;
737
737
case i64_i64_func_i64_i64_i64_i64:
738
- # if 0 // TODO: Enable this when wasm gets multiple-return-value support.
739
- Rets.push_back(wasm::ValType::I64);
740
- Rets.push_back(wasm::ValType::I64);
741
- # else
742
- Params.push_back (PtrTy);
743
- # endif
738
+ if (Subtarget. hasMultivalue ()) {
739
+ Rets.push_back (wasm::ValType::I64);
740
+ Rets.push_back (wasm::ValType::I64);
741
+ } else {
742
+ Params.push_back (PtrTy);
743
+ }
744
744
Params.push_back (wasm::ValType::I64);
745
745
Params.push_back (wasm::ValType::I64);
746
746
Params.push_back (wasm::ValType::I64);
747
747
Params.push_back (wasm::ValType::I64);
748
748
break ;
749
749
case i64_i64_func_i64_i64_i64_i64_iPTR:
750
- # if 0 // TODO: Enable this when wasm gets multiple-return-value support.
751
- Rets.push_back(wasm::ValType::I64);
752
- Rets.push_back(wasm::ValType::I64);
753
- # else
754
- Params.push_back (PtrTy);
755
- # endif
750
+ if (Subtarget. hasMultivalue ()) {
751
+ Rets.push_back (wasm::ValType::I64);
752
+ Rets.push_back (wasm::ValType::I64);
753
+ } else {
754
+ Params.push_back (PtrTy);
755
+ }
756
756
Params.push_back (wasm::ValType::I64);
757
757
Params.push_back (wasm::ValType::I64);
758
758
Params.push_back (wasm::ValType::I64);
759
759
Params.push_back (wasm::ValType::I64);
760
760
Params.push_back (PtrTy);
761
761
break ;
762
762
case i64_i64_i64_i64_func_i64_i64_i64_i64:
763
- # if 0 // TODO: Enable this when wasm gets multiple-return-value support.
764
- Rets.push_back(wasm::ValType::I64);
765
- Rets.push_back(wasm::ValType::I64);
766
- Rets.push_back(wasm::ValType::I64);
767
- Rets.push_back(wasm::ValType::I64);
768
- # else
769
- Params.push_back (PtrTy);
770
- # endif
763
+ if (Subtarget. hasMultivalue ()) {
764
+ Rets.push_back (wasm::ValType::I64);
765
+ Rets.push_back (wasm::ValType::I64);
766
+ Rets.push_back (wasm::ValType::I64);
767
+ Rets.push_back (wasm::ValType::I64);
768
+ } else {
769
+ Params.push_back (PtrTy);
770
+ }
771
771
Params.push_back (wasm::ValType::I64);
772
772
Params.push_back (wasm::ValType::I64);
773
773
Params.push_back (wasm::ValType::I64);
774
774
Params.push_back (wasm::ValType::I64);
775
775
break ;
776
776
case i64_i64_func_i64_i64_i32:
777
- # if 0 // TODO: Enable this when wasm gets multiple-return-value support.
778
- Rets.push_back(wasm::ValType::I64);
779
- Rets.push_back(wasm::ValType::I64);
780
- Rets.push_back(wasm::ValType::I64);
781
- Rets.push_back(wasm::ValType::I64);
782
- # else
783
- Params.push_back (PtrTy);
784
- # endif
777
+ if (Subtarget. hasMultivalue ()) {
778
+ Rets.push_back (wasm::ValType::I64);
779
+ Rets.push_back (wasm::ValType::I64);
780
+ Rets.push_back (wasm::ValType::I64);
781
+ Rets.push_back (wasm::ValType::I64);
782
+ } else {
783
+ Params.push_back (PtrTy);
784
+ }
785
785
Params.push_back (wasm::ValType::I64);
786
786
Params.push_back (wasm::ValType::I64);
787
787
Params.push_back (wasm::ValType::I32);
@@ -904,8 +904,8 @@ void llvm::getLibcallSignature(const WebAssemblySubtarget &Subtarget,
904
904
auto Val = Map.find (Name);
905
905
#ifndef NDEBUG
906
906
if (Val == Map.end ()) {
907
- auto message = std::string ( " unexpected runtime library name: " ) +
908
- std::string (Name);
907
+ auto message =
908
+ std::string ( " unexpected runtime library name: " ) + std::string (Name);
909
909
llvm_unreachable (message.c_str ());
910
910
}
911
911
#endif
0 commit comments