[all-commits] [llvm/llvm-project] 45dca0: Exclude bitcast and ext/trunc signbit optimization...

Eric Christopher via All-commits all-commits at lists.llvm.org
Fri Apr 10 17:20:32 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 45dca043957a43cd07715da40690a80504d37de0
      https://github.com/llvm/llvm-project/commit/45dca043957a43cd07715da40690a80504d37de0
  Author: Eric Christopher <echristo at gmail.com>
  Date:   2020-04-10 (Fri, 10 Apr 2020)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
    M llvm/test/Transforms/InstCombine/icmp.ll

  Log Message:
  -----------
  Exclude bitcast and ext/trunc signbit optimization on ppc_fp128

Revision a1c05fe <https://reviews.llvm.org/rGa1c05fe20f3def1f1be9f50d2adefc6b6f1578ad>
removed bitcast from the list of problematic transformations, however:

  %97 = fptrunc ppc_fp128 %2 to double            // we need to check ppc_fp128 here to prevent the transformation
  %98 = bitcast double %97 to i64                 // a1c05fe checks ppc_fp128 at here
  %99 = icmp slt i64 %98, 0
  %100 = zext i1 %99 to i8
  store i8 %100, i8* %7, align 1

so this patch does that. I'm also disabling it in the presence of extend just in case.

I verified separately that the hash of -std::infinity and std::infinity don't match now.

Differential Revision: https://reviews.llvm.org/D77911




More information about the All-commits mailing list