[all-commits] [llvm/llvm-project] 173b71: [ARM][MVE] MVE-I should not be disabled by -mfpu=none

Momchil Velikov via All-commits all-commits at lists.llvm.org
Thu Jan 9 06:03:40 PST 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 173b711e83d7b61a46f55eb44f03ea98f69a1dd6
      https://github.com/llvm/llvm-project/commit/173b711e83d7b61a46f55eb44f03ea98f69a1dd6
  Author: Momchil Velikov <momchil.velikov at arm.com>
  Date:   2020-01-09 (Thu, 09 Jan 2020)

  Changed paths:
    M clang/lib/Driver/ToolChains/Arch/ARM.cpp
    M clang/test/CodeGen/arm-target-features.c
    M clang/test/Driver/arm-mfpu.c
    M llvm/lib/Support/ARMTargetParser.cpp
    M llvm/test/CodeGen/ARM/softfp-constant-comparison.ll
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/dont-remove-loop-update.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/dont-remove-loop-update2.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/dont-remove-loop-update3.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/fast-fp-loops.ll
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/mve-float-loops.ll
    M llvm/test/Transforms/LoopVectorize/ARM/mve-shiftcost.ll
    M llvm/test/Transforms/LoopVectorize/ARM/mve-vldn.ll

  Log Message:
  -----------
  [ARM][MVE] MVE-I should not be disabled by -mfpu=none

Architecturally, it's allowed to have MVE-I without an FPU, thus
-mfpu=none should not disable MVE-I, or moves to/from FP-registers.

This patch removes `+/-fpregs` from features unconditionally added to
target feature list, depending on FPU and moves the logic to Clang
driver, where the negative form (`-fpregs`) is conditionally added to
the target features list for the cases of `-mfloat-abi=soft`, or
`-mfpu=none` without either `+mve` or `+mve.fp`. Only the negative
form is added by the driver, the positive one is derived from other
features in the backend.

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




More information about the All-commits mailing list