PR feedback

This commit is contained in:
Scott McMurray 2025-02-15 10:24:24 -08:00
parent 511bf307f0
commit 642a705f71
3 changed files with 5 additions and 6 deletions

View file

@ -946,7 +946,7 @@ impl<'a, 'll, 'tcx> BuilderMethods<'a, 'tcx> for Builder<'a, 'll, 'tcx> {
let trunc = self.trunc(val, dest_ty); let trunc = self.trunc(val, dest_ty);
if llvm_util::get_version() >= (19, 0, 0) { if llvm_util::get_version() >= (19, 0, 0) {
unsafe { unsafe {
if llvm::LLVMIsATruncInst(trunc).is_some() { if llvm::LLVMIsAInstruction(trunc).is_some() {
llvm::LLVMSetNUW(trunc, True); llvm::LLVMSetNUW(trunc, True);
} }
} }
@ -958,7 +958,7 @@ impl<'a, 'll, 'tcx> BuilderMethods<'a, 'tcx> for Builder<'a, 'll, 'tcx> {
let trunc = self.trunc(val, dest_ty); let trunc = self.trunc(val, dest_ty);
if llvm_util::get_version() >= (19, 0, 0) { if llvm_util::get_version() >= (19, 0, 0) {
unsafe { unsafe {
if llvm::LLVMIsATruncInst(trunc).is_some() { if llvm::LLVMIsAInstruction(trunc).is_some() {
llvm::LLVMSetNSW(trunc, True); llvm::LLVMSetNSW(trunc, True);
} }
} }

View file

@ -1165,7 +1165,6 @@ unsafe extern "C" {
// Operations on instructions // Operations on instructions
pub(crate) fn LLVMIsAInstruction(Val: &Value) -> Option<&Value>; pub(crate) fn LLVMIsAInstruction(Val: &Value) -> Option<&Value>;
pub(crate) fn LLVMIsATruncInst(Val: &Value) -> Option<&Value>;
pub(crate) fn LLVMGetFirstBasicBlock(Fn: &Value) -> &BasicBlock; pub(crate) fn LLVMGetFirstBasicBlock(Fn: &Value) -> &BasicBlock;
pub(crate) fn LLVMGetOperand(Val: &Value, Index: c_uint) -> Option<&Value>; pub(crate) fn LLVMGetOperand(Val: &Value, Index: c_uint) -> Option<&Value>;

View file

@ -24,9 +24,9 @@ pub unsafe fn unchecked_shl_unsigned_same(a: u32, b: u32) -> u32 {
#[no_mangle] #[no_mangle]
pub unsafe fn unchecked_shl_unsigned_smaller(a: u16, b: u32) -> u16 { pub unsafe fn unchecked_shl_unsigned_smaller(a: u16, b: u32) -> u16 {
// CHECK-NOT: assume // CHECK-NOT: assume
// LLVM18-DAG: %[[TRUNC:.+]] = trunc i32 %b to i16 // LLVM18: %[[TRUNC:.+]] = trunc i32 %b to i16
// LLVM19PLUS-DAG: %[[TRUNC:.+]] = trunc nuw i32 %b to i16 // LLVM19PLUS: %[[TRUNC:.+]] = trunc nuw i32 %b to i16
// CHECK-DAG: shl i16 %a, %[[TRUNC]] // CHECK: shl i16 %a, %[[TRUNC]]
a.unchecked_shl(b) a.unchecked_shl(b)
} }