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

Jingyue Wu jingyue at google.com
Mon Nov 10 10:24:30 PST 2014


+ Tom Stellard

This is separated from D6188, and focuses mostly on IndVarSimplify.

Jingyue

On Mon Nov 10 2014 at 10:08:31 AM Jingyue Wu <jingyue at google.com> wrote:

> 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 --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20141110/11857513/attachment.html>


More information about the llvm-commits mailing list