[all-commits] [llvm/llvm-project] f5b4e2: [llvm][AArch64] Fix Arm 32 bit build warnings (#90...

David Spickett via All-commits all-commits at lists.llvm.org
Thu May 2 08:30:24 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: f5b4e20a5ab8e0d8f7e3909cfdc0c82e4cf507c3
      https://github.com/llvm/llvm-project/commit/f5b4e20a5ab8e0d8f7e3909cfdc0c82e4cf507c3
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2024-05-02 (Thu, 02 May 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp

  Log Message:
  -----------
  [llvm][AArch64] Fix Arm 32 bit build warnings (#90862)

https://github.com/llvm/llvm-project/pull/84173 added uses of std::labs
on an int64_t which leads to this warning on Arm 32 bit:
```
/home/david.spickett/llvm-project/llvm/lib/Target/AArch64/AArch64ISelLowering.cpp:16655:12: warning: absolute value function 'labs' given an argument of type 'long long' but has parameter of type 'long' which may cause truncation of value [-Wabsolute-value]
    return std::labs(Imm / 4) <= 16;
           ^
/home/david.spickett/llvm-project/llvm/lib/Target/AArch64/AArch64ISelLowering.cpp:16655:12: note: use function 'std::abs' instead
    return std::labs(Imm / 4) <= 16;
           ^~~~~~~~~
           std::abs
```

Since int64_t is "long long" on Arm, not "long".

Use std::abs instead since it has versions for "long" and "long long",
we'll pick up the right one at compile time
(https://en.cppreference.com/w/cpp/numeric/math/abs).



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