Apply suggestions from code review
Co-authored-by: Ralf Jung <post@ralfj.de>
This commit is contained in:
parent
502af03445
commit
75277a6606
@ -1164,6 +1164,7 @@ fn codegen_regular_intrinsic_call<'tcx>(
|
|||||||
let params = vec![AbiParam::new(fx.pointer_type); 3];
|
let params = vec![AbiParam::new(fx.pointer_type); 3];
|
||||||
let returns = vec![AbiParam::new(types::I32)];
|
let returns = vec![AbiParam::new(types::I32)];
|
||||||
let args = &[lhs_ptr, rhs_ptr, bytes_val];
|
let args = &[lhs_ptr, rhs_ptr, bytes_val];
|
||||||
|
// Here we assume that the `memcmp` provided by the target is a NOP for size 0.
|
||||||
let cmp = fx.lib_call("memcmp", params, returns, args)[0];
|
let cmp = fx.lib_call("memcmp", params, returns, args)[0];
|
||||||
ret.write_cvalue(fx, CValue::by_val(cmp, ret.layout()));
|
ret.write_cvalue(fx, CValue::by_val(cmp, ret.layout()));
|
||||||
}
|
}
|
||||||
|
@ -311,6 +311,7 @@ impl<'a, 'gcc, 'tcx> IntrinsicCallMethods<'tcx> for Builder<'a, 'gcc, 'tcx> {
|
|||||||
let a_ptr = self.bitcast(a, void_ptr_type);
|
let a_ptr = self.bitcast(a, void_ptr_type);
|
||||||
let b_ptr = self.bitcast(b, void_ptr_type);
|
let b_ptr = self.bitcast(b, void_ptr_type);
|
||||||
|
|
||||||
|
// Here we assume that the `memcmp` provided by the target is a NOP for size 0.
|
||||||
let builtin = self.context.get_builtin_function("memcmp");
|
let builtin = self.context.get_builtin_function("memcmp");
|
||||||
let cmp = self.context.new_call(None, builtin, &[a_ptr, b_ptr, n]);
|
let cmp = self.context.new_call(None, builtin, &[a_ptr, b_ptr, n]);
|
||||||
self.sext(cmp, self.type_ix(32))
|
self.sext(cmp, self.type_ix(32))
|
||||||
|
@ -330,6 +330,7 @@ impl<'ll, 'tcx> IntrinsicCallMethods<'tcx> for Builder<'_, 'll, 'tcx> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
sym::compare_bytes => {
|
sym::compare_bytes => {
|
||||||
|
// Here we assume that the `memcmp` provided by the target is a NOP for size 0.
|
||||||
let cmp = self.call_intrinsic(
|
let cmp = self.call_intrinsic(
|
||||||
"memcmp",
|
"memcmp",
|
||||||
&[args[0].immediate(), args[1].immediate(), args[2].immediate()],
|
&[args[0].immediate(), args[1].immediate(), args[2].immediate()],
|
||||||
|
Loading…
x
Reference in New Issue
Block a user