[all-commits] [llvm/llvm-project] 2485fa: [LegalizeTypes] Use SoftenFloatRes_Unary in Soften...

topperc via All-commits all-commits at lists.llvm.org
Thu Nov 28 15:47:47 PST 2019


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 2485fa7739c7ecda629b51f9936457e2aaee2420
      https://github.com/llvm/llvm-project/commit/2485fa7739c7ecda629b51f9936457e2aaee2420
  Author: Craig Topper <craig.topper at gmail.com>
  Date:   2019-11-28 (Thu, 28 Nov 2019)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp

  Log Message:
  -----------
  [LegalizeTypes] Use SoftenFloatRes_Unary in SoftenFloatRes_FCBRT to reduce code.

We don't have a STRICT_CBRT ISD opcode, but we can still
use SoftenFloatRes_Unary to simplify some code.


  Commit: 68ddf434c06e4a17947750de60fe4ab60315f6ad
      https://github.com/llvm/llvm-project/commit/68ddf434c06e4a17947750de60fe4ab60315f6ad
  Author: Craig Topper <craig.topper at gmail.com>
  Date:   2019-11-28 (Thu, 28 Nov 2019)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp

  Log Message:
  -----------
  [LegalizeTypes] In SoftenFloatRes_FNEG, always generate integer arithmetic, never fall back to using fsub.

We would previously fallback if the type wasn't f32/f64/f128. But
I don't think any of the other floating point types ever go through
the softening code anyway. So this code is dead.


  Commit: 2f3e8cb313583c160d08564b6348dd6f961f2237
      https://github.com/llvm/llvm-project/commit/2f3e8cb313583c160d08564b6348dd6f961f2237
  Author: Craig Topper <craig.topper at gmail.com>
  Date:   2019-11-28 (Thu, 28 Nov 2019)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp

  Log Message:
  -----------
  [LegalizeTypes] Add strict FP support to SoftenFloatRes_FP_ROUND. Fix mistake in SoftenFloatRes_FP_EXTEND.

These will be needed for ARM fp-instrinsics.ll which is currently
XFAILed.

One of the getOperand calls in SoftenFloatRes_FP_EXTEND was not
taking strict FP into account. It only affected the call
to setTypeListBeforeSoften which only has an effect on some targets.


Compare: https://github.com/llvm/llvm-project/compare/ca818f455008...2f3e8cb31358


More information about the All-commits mailing list