[PATCH] D91957: [Analysis] Migrate more high level cost functions to using InstructionCost
    David Sherwood via Phabricator via llvm-commits 
    llvm-commits at lists.llvm.org
       
    Mon Nov 23 04:54:08 PST 2020
    
    
  
david-arm created this revision.
Herald added subscribers: llvm-commits, zzheng, kbarton, hiraditya, nemanjai.
Herald added a project: LLVM.
david-arm requested review of this revision.
This patch changes the following TargetTransformInfo interfaces to
return a InstructionCost class:
  getUserCost
  getInstructionLatency
  getInstructionThroughput
As a result of changing getUserCost I have also had to fix up various
places where it is called. One example of this is in the CodeMetrics
class where the NumInsts field has been changed to InstructionCost.
If an invalid cost is encountered while analyzing a block we set the
notDuplicatable flag, and in addition certain places need to check
that NumInsts is valid.
In SimplifyCFG.cpp I have changed the code to ensure that we bail out
if trying to subtract an invalid cost.
Repository:
  rG LLVM Github Monorepo
https://reviews.llvm.org/D91957
Files:
  llvm/include/llvm/Analysis/CodeMetrics.h
  llvm/include/llvm/Analysis/InstructionCost.h
  llvm/include/llvm/Analysis/TargetTransformInfo.h
  llvm/include/llvm/Transforms/Utils/LoopRotationUtils.h
  llvm/lib/Analysis/CodeMetrics.cpp
  llvm/lib/Analysis/TargetTransformInfo.cpp
  llvm/lib/Target/PowerPC/PPCTargetTransformInfo.cpp
  llvm/lib/Transforms/Scalar/LoopDataPrefetch.cpp
  llvm/lib/Transforms/Scalar/LoopFlatten.cpp
  llvm/lib/Transforms/Scalar/LoopUnrollPass.cpp
  llvm/lib/Transforms/Scalar/LoopUnswitch.cpp
  llvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp
  llvm/lib/Transforms/Scalar/SpeculateAroundPHIs.cpp
  llvm/lib/Transforms/Scalar/SpeculativeExecution.cpp
  llvm/lib/Transforms/Utils/LoopRotationUtils.cpp
  llvm/lib/Transforms/Utils/SimplifyCFG.cpp
  llvm/unittests/Transforms/Utils/LoopRotationUtilsTest.cpp
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D91957.307044.patch
Type: text/x-patch
Size: 23621 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20201123/7a7d6ac4/attachment.bin>
    
    
More information about the llvm-commits
mailing list