TTI: Improve default costs for addrspacecast
authorMatt Arsenault <Matthew.Arsenault@amd.com>
Mon, 3 Jun 2019 18:41:34 +0000 (18:41 +0000)
committerMatt Arsenault <Matthew.Arsenault@amd.com>
Mon, 3 Jun 2019 18:41:34 +0000 (18:41 +0000)
commit8dbeb9256cb60fe551fdcbd40580589ffce59e37
treea472f6f29858ad482372fcf2d8548c798e0a1003
parentbf37536a351a2db55efe830437866010ae050eea
TTI: Improve default costs for addrspacecast

For some reason multiple places need to do this, and the variant the
loop unroller and inliner use was not handling it.

Also, introduce a new wrapper to be slightly more precise, since on
AMDGPU some addrspacecasts are free, but not no-ops.

llvm-svn: 362436
llvm/include/llvm/CodeGen/BasicTTIImpl.h
llvm/include/llvm/CodeGen/TargetLowering.h
llvm/lib/CodeGen/CodeGenPrepare.cpp
llvm/lib/Target/AMDGPU/SIISelLowering.cpp
llvm/lib/Target/AMDGPU/SIISelLowering.h
llvm/test/Analysis/CostModel/AMDGPU/addrspacecast.ll
llvm/test/Transforms/LoopUnroll/AMDGPU/unroll-cost-addrspacecast.ll [new file with mode: 0644]