[all-commits] [llvm/llvm-project] 99e958: [PartiallyInlineLibCalls] Disable sqrt expansion f...

Craig Topper via All-commits all-commits at lists.llvm.org
Thu Jun 17 14:15:26 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 99e95856fb785cb22d898e963a54e8d9a8459fc7
      https://github.com/llvm/llvm-project/commit/99e95856fb785cb22d898e963a54e8d9a8459fc7
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2021-06-17 (Thu, 17 Jun 2021)

  Changed paths:
    M llvm/lib/Transforms/Scalar/PartiallyInlineLibCalls.cpp
    A llvm/test/Transforms/PartiallyInlineLibCalls/strictfp.ll

  Log Message:
  -----------
  [PartiallyInlineLibCalls] Disable sqrt expansion for strictfp.

This pass emits a floating point compare and a conditional branch,
but if strictfp is enabled we don't emit a constrained compare
intrinsic.

The backend also won't expand the readonly sqrt call this pass inserts
to a sqrt instruction under strictfp. So we end up with 2 libcalls as
seen here. https://godbolt.org/z/oax5zMEWd

Fix these things by disabling the pass.

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




More information about the All-commits mailing list