@@ -874,8 +874,7 @@ impl Builder<'a, 'll, 'tcx> {
874874 // FIXME: add a non-fast math version once
875875 // https://bugs.llvm.org/show_bug.cgi?id=36732
876876 // is fixed.
877- let instr = llvm:: LLVMRustBuildVectorReduceFAdd ( self . llbuilder , acc, src)
878- . expect ( "LLVMRustBuildVectorReduceFAdd is not available in LLVM version < 5.0" ) ;
877+ let instr = llvm:: LLVMRustBuildVectorReduceFAdd ( self . llbuilder , acc, src) ;
879878 llvm:: LLVMRustSetHasUnsafeAlgebra ( instr) ;
880879 instr
881880 }
@@ -886,92 +885,62 @@ impl Builder<'a, 'll, 'tcx> {
886885 // FIXME: add a non-fast math version once
887886 // https://bugs.llvm.org/show_bug.cgi?id=36732
888887 // is fixed.
889- let instr = llvm:: LLVMRustBuildVectorReduceFMul ( self . llbuilder , acc, src)
890- . expect ( "LLVMRustBuildVectorReduceFMul is not available in LLVM version < 5.0" ) ;
888+ let instr = llvm:: LLVMRustBuildVectorReduceFMul ( self . llbuilder , acc, src) ;
891889 llvm:: LLVMRustSetHasUnsafeAlgebra ( instr) ;
892890 instr
893891 }
894892 }
895893 pub fn vector_reduce_add ( & self , src : & ' ll Value ) -> & ' ll Value {
896894 self . count_insn ( "vector.reduce.add" ) ;
897- unsafe {
898- let instr = llvm:: LLVMRustBuildVectorReduceAdd ( self . llbuilder , src) ;
899- instr. expect ( "LLVMRustBuildVectorReduceAdd is not available in LLVM version < 5.0" )
900- }
895+ unsafe { llvm:: LLVMRustBuildVectorReduceAdd ( self . llbuilder , src) }
901896 }
902897 pub fn vector_reduce_mul ( & self , src : & ' ll Value ) -> & ' ll Value {
903898 self . count_insn ( "vector.reduce.mul" ) ;
904- unsafe {
905- let instr = llvm:: LLVMRustBuildVectorReduceMul ( self . llbuilder , src) ;
906- instr. expect ( "LLVMRustBuildVectorReduceMul is not available in LLVM version < 5.0" )
907- }
899+ unsafe { llvm:: LLVMRustBuildVectorReduceMul ( self . llbuilder , src) }
908900 }
909901 pub fn vector_reduce_and ( & self , src : & ' ll Value ) -> & ' ll Value {
910902 self . count_insn ( "vector.reduce.and" ) ;
911- unsafe {
912- let instr = llvm:: LLVMRustBuildVectorReduceAnd ( self . llbuilder , src) ;
913- instr. expect ( "LLVMRustBuildVectorReduceAnd is not available in LLVM version < 5.0" )
914- }
903+ unsafe { llvm:: LLVMRustBuildVectorReduceAnd ( self . llbuilder , src) }
915904 }
916905 pub fn vector_reduce_or ( & self , src : & ' ll Value ) -> & ' ll Value {
917906 self . count_insn ( "vector.reduce.or" ) ;
918- unsafe {
919- let instr = llvm:: LLVMRustBuildVectorReduceOr ( self . llbuilder , src) ;
920- instr. expect ( "LLVMRustBuildVectorReduceOr is not available in LLVM version < 5.0" )
921- }
907+ unsafe { llvm:: LLVMRustBuildVectorReduceOr ( self . llbuilder , src) }
922908 }
923909 pub fn vector_reduce_xor ( & self , src : & ' ll Value ) -> & ' ll Value {
924910 self . count_insn ( "vector.reduce.xor" ) ;
925- unsafe {
926- let instr = llvm:: LLVMRustBuildVectorReduceXor ( self . llbuilder , src) ;
927- instr. expect ( "LLVMRustBuildVectorReduceXor is not available in LLVM version < 5.0" )
928- }
911+ unsafe { llvm:: LLVMRustBuildVectorReduceXor ( self . llbuilder , src) }
929912 }
930913 pub fn vector_reduce_fmin ( & self , src : & ' ll Value ) -> & ' ll Value {
931914 self . count_insn ( "vector.reduce.fmin" ) ;
932- unsafe {
933- let instr = llvm:: LLVMRustBuildVectorReduceFMin ( self . llbuilder , src, /*NoNaNs:*/ false ) ;
934- instr. expect ( "LLVMRustBuildVectorReduceFMin is not available in LLVM version < 5.0" )
935- }
915+ unsafe { llvm:: LLVMRustBuildVectorReduceFMin ( self . llbuilder , src, /*NoNaNs:*/ false ) }
936916 }
937917 pub fn vector_reduce_fmax ( & self , src : & ' ll Value ) -> & ' ll Value {
938918 self . count_insn ( "vector.reduce.fmax" ) ;
939- unsafe {
940- let instr = llvm:: LLVMRustBuildVectorReduceFMax ( self . llbuilder , src, /*NoNaNs:*/ false ) ;
941- instr. expect ( "LLVMRustBuildVectorReduceFMax is not available in LLVM version < 5.0" )
942- }
919+ unsafe { llvm:: LLVMRustBuildVectorReduceFMax ( self . llbuilder , src, /*NoNaNs:*/ false ) }
943920 }
944921 pub fn vector_reduce_fmin_fast ( & self , src : & ' ll Value ) -> & ' ll Value {
945922 self . count_insn ( "vector.reduce.fmin_fast" ) ;
946923 unsafe {
947- let instr = llvm:: LLVMRustBuildVectorReduceFMin ( self . llbuilder , src, /*NoNaNs:*/ true )
948- . expect ( "LLVMRustBuildVectorReduceFMin is not available in LLVM version < 5.0" ) ;
924+ let instr = llvm:: LLVMRustBuildVectorReduceFMin ( self . llbuilder , src, /*NoNaNs:*/ true ) ;
949925 llvm:: LLVMRustSetHasUnsafeAlgebra ( instr) ;
950926 instr
951927 }
952928 }
953929 pub fn vector_reduce_fmax_fast ( & self , src : & ' ll Value ) -> & ' ll Value {
954930 self . count_insn ( "vector.reduce.fmax_fast" ) ;
955931 unsafe {
956- let instr = llvm:: LLVMRustBuildVectorReduceFMax ( self . llbuilder , src, /*NoNaNs:*/ true )
957- . expect ( "LLVMRustBuildVectorReduceFMax is not available in LLVM version < 5.0" ) ;
932+ let instr = llvm:: LLVMRustBuildVectorReduceFMax ( self . llbuilder , src, /*NoNaNs:*/ true ) ;
958933 llvm:: LLVMRustSetHasUnsafeAlgebra ( instr) ;
959934 instr
960935 }
961936 }
962937 pub fn vector_reduce_min ( & self , src : & ' ll Value , is_signed : bool ) -> & ' ll Value {
963938 self . count_insn ( "vector.reduce.min" ) ;
964- unsafe {
965- let instr = llvm:: LLVMRustBuildVectorReduceMin ( self . llbuilder , src, is_signed) ;
966- instr. expect ( "LLVMRustBuildVectorReduceMin is not available in LLVM version < 5.0" )
967- }
939+ unsafe { llvm:: LLVMRustBuildVectorReduceMin ( self . llbuilder , src, is_signed) }
968940 }
969941 pub fn vector_reduce_max ( & self , src : & ' ll Value , is_signed : bool ) -> & ' ll Value {
970942 self . count_insn ( "vector.reduce.max" ) ;
971- unsafe {
972- let instr = llvm:: LLVMRustBuildVectorReduceMax ( self . llbuilder , src, is_signed) ;
973- instr. expect ( "LLVMRustBuildVectorReduceMax is not available in LLVM version < 5.0" )
974- }
943+ unsafe { llvm:: LLVMRustBuildVectorReduceMax ( self . llbuilder , src, is_signed) }
975944 }
976945
977946 pub fn extract_value ( & self , agg_val : & ' ll Value , idx : u64 ) -> & ' ll Value {
0 commit comments