[all-commits] [llvm/llvm-project] 14c301: [ExpandLargeFpConvert] Fix incorrect values in fp-...

Bevin Hansson via All-commits all-commits at lists.llvm.org
Tue Mar 26 02:08:44 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 14c30189fb8782535ac9a5a52160e3fc62e7e78c
      https://github.com/llvm/llvm-project/commit/14c30189fb8782535ac9a5a52160e3fc62e7e78c
  Author: Bevin Hansson <59652494+bevin-hansson at users.noreply.github.com>
  Date:   2024-03-26 (Tue, 26 Mar 2024)

  Changed paths:
    M llvm/lib/CodeGen/ExpandLargeFpConvert.cpp
    M llvm/test/CodeGen/AMDGPU/fptoi.i128.ll
    M llvm/test/Transforms/ExpandLargeFpConvert/X86/expand-large-fp-convert-fptosi129.ll
    M llvm/test/Transforms/ExpandLargeFpConvert/X86/expand-large-fp-convert-fptoui129.ll

  Log Message:
  -----------
  [ExpandLargeFpConvert] Fix incorrect values in fp-to-int conversion. (#86514)

The IR for a double-to-i129 conversion looks like this in one of the
blocks in compiler-rt:

  %cmp5.i = icmp ult i16 %3, -129, !dbg !24

But in ExpandLargeFpConvert, it looks like:

  %13 = icmp ult i129 %12, 4294967167, !dbg !19

ExpandLargeFpConvert is wrong; the value should have been
signed before negating, but instead we get a very large
unsigned value. Another value in the same pass also has this
issue.



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list