Add the extracted constant offset using GEP
authorJingyue Wu <jingyue@google.com>
Fri, 23 May 2014 18:39:40 +0000 (18:39 +0000)
committerJingyue Wu <jingyue@google.com>
Fri, 23 May 2014 18:39:40 +0000 (18:39 +0000)
commit8d959dd5638cdc556c736637e78639a3ccf074fc
treed04ef8acd2a0d3019185114ad91f582d0cecfafe
parentbb75e24528a4bdb3030787640e4d5adb7cdfc476
Add the extracted constant offset using GEP

Fixed a TODO in r207783.

Add the extracted constant offset using GEP instead of ugly
ptrtoint+add+inttoptr. Using GEP simplifies future optimizations and makes IR
easier to understand.

Updated all affected tests, and added a new test in split-gep.ll to cover a
corner case where emitting uglygep is necessary.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@209537 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Transforms/Scalar/SeparateConstOffsetFromGEP.cpp
test/Transforms/SeparateConstOffsetFromGEP/NVPTX/split-gep-and-gvn.ll
test/Transforms/SeparateConstOffsetFromGEP/NVPTX/split-gep.ll