Refix a use of explicit pointer types in GEP constant folding
authorDavid Blaikie <dblaikie@gmail.com>
Fri, 12 Jun 2015 18:22:03 +0000 (18:22 +0000)
committerDavid Blaikie <dblaikie@gmail.com>
Fri, 12 Jun 2015 18:22:03 +0000 (18:22 +0000)
commit473b943ea86263e30bef815daa16e50025557ac9
tree34432c5c8883ef7f617b294b623919f20796043e
parenta4afccd8a898d3ba0c4894e1a7d98d4457deded5
Refix a use of explicit pointer types in GEP constant folding

In the glorious future of opaque pointer types, it won't be possible to
retrieve the pointee type of a pointer type which is what's being done
in this GEP loop - but the first iteration is always a pointer type and
the loop doesn't care about that case, except whether or not the index
is a constant.

So pull that special case out before the loop and start at the second
iteration (index 1) instead.

Originally committed in r236670 and reverted with a test case in
r239015. This change keeps the test case working while also avoiding
depending on pointee types.

llvm-svn: 239629
llvm/lib/IR/ConstantFold.cpp