[PATCH] D69281: [FPEnv][WIP] Constrained FCmp intrinsics

Ulrich Weigand via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Nov 18 13:33:56 PST 2019


uweigand updated this revision to Diff 229913.
uweigand added a comment.

Updated patch to only use a single llvm.experimental.constrained.fcmp intrinsic, where the predicate is passed as argument.

I agree that it does look preferable to have a single intrinsic, if only to make potential future IR optimizations simpler structurally to the corresponding operations on fcmp statements.

For now I'm simply using a metadata string to hold the predicate; if we come up with some form of "enum constant" in the IR in the future, it should be straightforward to change this (users are encapsulated).


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D69281/new/

https://reviews.llvm.org/D69281

Files:
  llvm/include/llvm/CodeGen/ISDOpcodes.h
  llvm/include/llvm/CodeGen/SelectionDAGNodes.h
  llvm/include/llvm/CodeGen/TargetLowering.h
  llvm/include/llvm/IR/IntrinsicInst.h
  llvm/include/llvm/IR/Intrinsics.td
  llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
  llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
  llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
  llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
  llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
  llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
  llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
  llvm/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp
  llvm/lib/CodeGen/TargetLoweringBase.cpp
  llvm/lib/IR/IntrinsicInst.cpp
  llvm/lib/IR/Verifier.cpp
  llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
  llvm/lib/Target/SystemZ/SystemZISelLowering.h
  llvm/lib/Target/SystemZ/SystemZInstrFP.td
  llvm/lib/Target/SystemZ/SystemZInstrVector.td
  llvm/lib/Target/SystemZ/SystemZOperators.td
  llvm/lib/Target/SystemZ/SystemZPatterns.td
  llvm/test/CodeGen/SystemZ/fp-strict-cmp-01.ll
  llvm/test/CodeGen/SystemZ/fp-strict-cmp-02.ll
  llvm/test/CodeGen/SystemZ/fp-strict-cmp-03.ll
  llvm/test/CodeGen/SystemZ/fp-strict-cmp-04.ll
  llvm/test/CodeGen/SystemZ/fp-strict-cmp-06.ll
  llvm/test/CodeGen/SystemZ/vec-strict-cmp-05.ll
  llvm/test/CodeGen/SystemZ/vec-strict-cmp-06.ll
  llvm/test/CodeGen/SystemZ/vec-strict-cmp-07.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D69281.229913.patch
Type: text/x-patch
Size: 162238 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20191118/f72b48c3/attachment-0001.bin>


More information about the llvm-commits mailing list