[PATCH] D29631: SystemZTargetTransformInfo cost functions and some common code changes

Jonas Paulsson via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Feb 9 04:43:59 PST 2017


jonpa updated this revision to Diff 87794.
jonpa added a comment.

getShuffleCost() implemented. This method is currently in a state of mild confusion: http://lists.llvm.org/pipermail/llvm-dev/2017-February/109978.html.

Minor fixes here and there.

Costs are currently based on number of vectors, which is intuitive to me. Perhaps the more correct way to do this is to use TLI->getTypeLegalizationCost()?

Values from these cost functions now seem quite precise overall. Exception to this is for z10 (generic), values for fptui (i8/i16) and uitofp (i64) might need some tweaking if found needed.

Arbitrary constant cost values have been used for: fp-select: 4 (conditional jump), libcall: 30.

The values for compare / select are now reflecting an upcoming patch for VSELECT, so before this can be commited, it must be approved: https://reviews.llvm.org/D29489.


https://reviews.llvm.org/D29631

Files:
  include/llvm/Analysis/TargetTransformInfo.h
  include/llvm/Analysis/TargetTransformInfoImpl.h
  include/llvm/CodeGen/BasicTTIImpl.h
  lib/Analysis/CostModel.cpp
  lib/Analysis/TargetTransformInfo.cpp
  lib/Target/AArch64/AArch64TargetTransformInfo.cpp
  lib/Target/AArch64/AArch64TargetTransformInfo.h
  lib/Target/ARM/ARMTargetTransformInfo.cpp
  lib/Target/ARM/ARMTargetTransformInfo.h
  lib/Target/PowerPC/PPCTargetTransformInfo.cpp
  lib/Target/PowerPC/PPCTargetTransformInfo.h
  lib/Target/SystemZ/SystemZISelLowering.cpp
  lib/Target/SystemZ/SystemZTargetTransformInfo.cpp
  lib/Target/SystemZ/SystemZTargetTransformInfo.h
  lib/Target/X86/X86TargetTransformInfo.cpp
  lib/Target/X86/X86TargetTransformInfo.h
  lib/Transforms/Vectorize/LoopVectorize.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D29631.87794.patch
Type: text/x-patch
Size: 35096 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170209/a058a153/attachment-0001.bin>


More information about the llvm-commits mailing list