[SCEVExpander] Try harder to avoid introducing inttoptr
authorKeno Fischer <keno@alumni.harvard.edu>
Sat, 27 May 2017 03:22:55 +0000 (03:22 +0000)
committerKeno Fischer <keno@alumni.harvard.edu>
Sat, 27 May 2017 03:22:55 +0000 (03:22 +0000)
commit090f1959c1e78cd10d3d33b0d6643c1ee34f0758
treeb2db650010e0096c96e9a10f1d278d721110c49b
parent9208dd63efcca6050178fa71c3241ec97957b9c6
[SCEVExpander] Try harder to avoid introducing inttoptr

Summary:
This fixes introduction of an incorrect inttoptr/ptrtoint pair in
the included test case which makes use of non-integral pointers. I
suspect there are more cases like this left, but this takes care of
the one I was seeing at the moment.

Reviewers: sanjoy

Subscribers: mzolotukhin, llvm-commits

Differential Revision: https://reviews.llvm.org/D33129

llvm-svn: 304058
llvm/lib/Analysis/ScalarEvolutionExpander.cpp
llvm/test/Transforms/LoopStrengthReduce/nonintegral.ll [new file with mode: 0644]
llvm/unittests/Analysis/ScalarEvolutionTest.cpp