@@ -859,8 +859,7 @@ impl Builder<'a, 'll, 'tcx> {
859859 // FIXME: add a non-fast math version once
860860 // https://bugs.llvm.org/show_bug.cgi?id=36732
861861 // is fixed.
862- let instr = llvm:: LLVMRustBuildVectorReduceFAdd ( self . llbuilder , acc, src)
863- . expect ( "LLVMRustBuildVectorReduceFAdd is not available in LLVM version < 5.0" ) ;
862+ let instr = llvm:: LLVMRustBuildVectorReduceFAdd ( self . llbuilder , acc, src) ;
864863 llvm:: LLVMRustSetHasUnsafeAlgebra ( instr) ;
865864 instr
866865 }
@@ -871,92 +870,62 @@ impl Builder<'a, 'll, 'tcx> {
871870 // FIXME: add a non-fast math version once
872871 // https://bugs.llvm.org/show_bug.cgi?id=36732
873872 // is fixed.
874- let instr = llvm:: LLVMRustBuildVectorReduceFMul ( self . llbuilder , acc, src)
875- . expect ( "LLVMRustBuildVectorReduceFMul is not available in LLVM version < 5.0" ) ;
873+ let instr = llvm:: LLVMRustBuildVectorReduceFMul ( self . llbuilder , acc, src) ;
876874 llvm:: LLVMRustSetHasUnsafeAlgebra ( instr) ;
877875 instr
878876 }
879877 }
880878 pub fn vector_reduce_add ( & self , src : & ' ll Value ) -> & ' ll Value {
881879 self . count_insn ( "vector.reduce.add" ) ;
882- unsafe {
883- let instr = llvm:: LLVMRustBuildVectorReduceAdd ( self . llbuilder , src) ;
884- instr. expect ( "LLVMRustBuildVectorReduceAdd is not available in LLVM version < 5.0" )
885- }
880+ unsafe { llvm:: LLVMRustBuildVectorReduceAdd ( self . llbuilder , src) }
886881 }
887882 pub fn vector_reduce_mul ( & self , src : & ' ll Value ) -> & ' ll Value {
888883 self . count_insn ( "vector.reduce.mul" ) ;
889- unsafe {
890- let instr = llvm:: LLVMRustBuildVectorReduceMul ( self . llbuilder , src) ;
891- instr. expect ( "LLVMRustBuildVectorReduceMul is not available in LLVM version < 5.0" )
892- }
884+ unsafe { llvm:: LLVMRustBuildVectorReduceMul ( self . llbuilder , src) }
893885 }
894886 pub fn vector_reduce_and ( & self , src : & ' ll Value ) -> & ' ll Value {
895887 self . count_insn ( "vector.reduce.and" ) ;
896- unsafe {
897- let instr = llvm:: LLVMRustBuildVectorReduceAnd ( self . llbuilder , src) ;
898- instr. expect ( "LLVMRustBuildVectorReduceAnd is not available in LLVM version < 5.0" )
899- }
888+ unsafe { llvm:: LLVMRustBuildVectorReduceAnd ( self . llbuilder , src) }
900889 }
901890 pub fn vector_reduce_or ( & self , src : & ' ll Value ) -> & ' ll Value {
902891 self . count_insn ( "vector.reduce.or" ) ;
903- unsafe {
904- let instr = llvm:: LLVMRustBuildVectorReduceOr ( self . llbuilder , src) ;
905- instr. expect ( "LLVMRustBuildVectorReduceOr is not available in LLVM version < 5.0" )
906- }
892+ unsafe { llvm:: LLVMRustBuildVectorReduceOr ( self . llbuilder , src) }
907893 }
908894 pub fn vector_reduce_xor ( & self , src : & ' ll Value ) -> & ' ll Value {
909895 self . count_insn ( "vector.reduce.xor" ) ;
910- unsafe {
911- let instr = llvm:: LLVMRustBuildVectorReduceXor ( self . llbuilder , src) ;
912- instr. expect ( "LLVMRustBuildVectorReduceXor is not available in LLVM version < 5.0" )
913- }
896+ unsafe { llvm:: LLVMRustBuildVectorReduceXor ( self . llbuilder , src) }
914897 }
915898 pub fn vector_reduce_fmin ( & self , src : & ' ll Value ) -> & ' ll Value {
916899 self . count_insn ( "vector.reduce.fmin" ) ;
917- unsafe {
918- let instr = llvm:: LLVMRustBuildVectorReduceFMin ( self . llbuilder , src, /*NoNaNs:*/ false ) ;
919- instr. expect ( "LLVMRustBuildVectorReduceFMin is not available in LLVM version < 5.0" )
920- }
900+ unsafe { llvm:: LLVMRustBuildVectorReduceFMin ( self . llbuilder , src, /*NoNaNs:*/ false ) }
921901 }
922902 pub fn vector_reduce_fmax ( & self , src : & ' ll Value ) -> & ' ll Value {
923903 self . count_insn ( "vector.reduce.fmax" ) ;
924- unsafe {
925- let instr = llvm:: LLVMRustBuildVectorReduceFMax ( self . llbuilder , src, /*NoNaNs:*/ false ) ;
926- instr. expect ( "LLVMRustBuildVectorReduceFMax is not available in LLVM version < 5.0" )
927- }
904+ unsafe { llvm:: LLVMRustBuildVectorReduceFMax ( self . llbuilder , src, /*NoNaNs:*/ false ) }
928905 }
929906 pub fn vector_reduce_fmin_fast ( & self , src : & ' ll Value ) -> & ' ll Value {
930907 self . count_insn ( "vector.reduce.fmin_fast" ) ;
931908 unsafe {
932- let instr = llvm:: LLVMRustBuildVectorReduceFMin ( self . llbuilder , src, /*NoNaNs:*/ true )
933- . expect ( "LLVMRustBuildVectorReduceFMin is not available in LLVM version < 5.0" ) ;
909+ let instr = llvm:: LLVMRustBuildVectorReduceFMin ( self . llbuilder , src, /*NoNaNs:*/ true ) ;
934910 llvm:: LLVMRustSetHasUnsafeAlgebra ( instr) ;
935911 instr
936912 }
937913 }
938914 pub fn vector_reduce_fmax_fast ( & self , src : & ' ll Value ) -> & ' ll Value {
939915 self . count_insn ( "vector.reduce.fmax_fast" ) ;
940916 unsafe {
941- let instr = llvm:: LLVMRustBuildVectorReduceFMax ( self . llbuilder , src, /*NoNaNs:*/ true )
942- . expect ( "LLVMRustBuildVectorReduceFMax is not available in LLVM version < 5.0" ) ;
917+ let instr = llvm:: LLVMRustBuildVectorReduceFMax ( self . llbuilder , src, /*NoNaNs:*/ true ) ;
943918 llvm:: LLVMRustSetHasUnsafeAlgebra ( instr) ;
944919 instr
945920 }
946921 }
947922 pub fn vector_reduce_min ( & self , src : & ' ll Value , is_signed : bool ) -> & ' ll Value {
948923 self . count_insn ( "vector.reduce.min" ) ;
949- unsafe {
950- let instr = llvm:: LLVMRustBuildVectorReduceMin ( self . llbuilder , src, is_signed) ;
951- instr. expect ( "LLVMRustBuildVectorReduceMin is not available in LLVM version < 5.0" )
952- }
924+ unsafe { llvm:: LLVMRustBuildVectorReduceMin ( self . llbuilder , src, is_signed) }
953925 }
954926 pub fn vector_reduce_max ( & self , src : & ' ll Value , is_signed : bool ) -> & ' ll Value {
955927 self . count_insn ( "vector.reduce.max" ) ;
956- unsafe {
957- let instr = llvm:: LLVMRustBuildVectorReduceMax ( self . llbuilder , src, is_signed) ;
958- instr. expect ( "LLVMRustBuildVectorReduceMax is not available in LLVM version < 5.0" )
959- }
928+ unsafe { llvm:: LLVMRustBuildVectorReduceMax ( self . llbuilder , src, is_signed) }
960929 }
961930
962931 pub fn extract_value ( & self , agg_val : & ' ll Value , idx : u64 ) -> & ' ll Value {
0 commit comments