Auto merge of #50137 - nox:rm-bool-cmp-hack, r=eddyb
Remove hack around comparisons of i1 values (fixes #40980) The regression test still passes without that 2 years old hack. The underlying LLVM bug has probably been fixed upstream since then.
This commit is contained in:
commit
a9975254ee
1 changed files with 0 additions and 10 deletions
|
@ -536,7 +536,6 @@ impl<'a, 'tcx> FunctionCx<'a, 'tcx> {
|
|||
let is_float = input_ty.is_fp();
|
||||
let is_signed = input_ty.is_signed();
|
||||
let is_nil = input_ty.is_nil();
|
||||
let is_bool = input_ty.is_bool();
|
||||
match op {
|
||||
mir::BinOp::Add => if is_float {
|
||||
bx.fadd(lhs, rhs)
|
||||
|
@ -586,15 +585,6 @@ impl<'a, 'tcx> FunctionCx<'a, 'tcx> {
|
|||
lhs, rhs
|
||||
)
|
||||
} else {
|
||||
let (lhs, rhs) = if is_bool {
|
||||
// FIXME(#36856) -- extend the bools into `i8` because
|
||||
// LLVM's i1 comparisons are broken.
|
||||
(bx.zext(lhs, Type::i8(bx.cx)),
|
||||
bx.zext(rhs, Type::i8(bx.cx)))
|
||||
} else {
|
||||
(lhs, rhs)
|
||||
};
|
||||
|
||||
bx.icmp(
|
||||
base::bin_op_to_icmp_predicate(op.to_hir_binop(), is_signed),
|
||||
lhs, rhs
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue