[PATCH] D72536: [TargetLowering][ARM][Mips][WebAssembly] Remove the ordered FP compare from RunttimeLibcalls.def and all associated usages

Craig Topper via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Jan 10 12:42:51 PST 2020


craig.topper created this revision.
craig.topper added reviewers: efriedma, ABataev, uweigand, cameron.mcinally, kpn.
Herald added subscribers: Petar.Avramovic, atanasyan, sunfish, aheejin, hiraditya, kristof.beyls, jgravelle-google, arichardson, sbc100, sdardis, dschuff.
Herald added a project: LLVM.

This always just used the same libcall as unordered, but the comparison predicate was different. This change appears to have been made when targets were given the ability to override the predicates. Before that they were hardcoded into the type legalizer. At that time we never inverted predicates and we handled ugt/ult/uge/ule compares by emitting an unordered check ORed with a ogt/olt/oge/ole checks. So only ordered needing an inverted predicate. Later ugt/ult/uge/ule were optimized to only call a single libcall and invert the compare.

This patch removes the ordered entries and just uses the inverting logic that is now present. This removes some odd things in both the Mips and WebAssembly code.


https://reviews.llvm.org/D72536

Files:
  llvm/include/llvm/IR/RuntimeLibcalls.def
  llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
  llvm/lib/CodeGen/TargetLoweringBase.cpp
  llvm/lib/Target/ARM/ARMISelLowering.cpp
  llvm/lib/Target/ARM/ARMLegalizerInfo.cpp
  llvm/lib/Target/Mips/Mips16ISelLowering.cpp
  llvm/lib/Target/WebAssembly/WebAssemblyRuntimeLibcallSignatures.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D72536.237414.patch
Type: text/x-patch
Size: 8062 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200110/2e41a3c8/attachment.bin>


More information about the llvm-commits mailing list