[PATCH] Disable indvar widening if arithmetics on the wider type are more expensive

Jingyue Wu jingyue at google.com
Mon Nov 10 10:08:26 PST 2014


Hi atrick, jholewinski, eliben, meheff,

IndVarSimplify should not widen an indvar if arithmetics on the wider
indvar are more expensive than those on the narrower indvar. For
instance, although NVPTX64 treats i64 as a legal type, an ADD on i64 is
twice as expensive as that on i32, because the hardware needs to
simulate a 64-bit integer using two 32-bit integers.

Split from D6188, and based on D6195 which adds NVPTXTargetTransformInfo.

Fixes PR21148.

http://reviews.llvm.org/D6196

Files:
  lib/Target/NVPTX/NVPTXTargetTransformInfo.cpp
  lib/Transforms/Scalar/IndVarSimplify.cpp
  test/Transforms/IndVarSimplify/no-widen-expensive.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D6196.15998.patch
Type: text/x-patch
Size: 7305 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20141110/4892e09e/attachment.bin>


More information about the llvm-commits mailing list