GlobalOpt: Optimize in the face of insertvalue/extractvalue
authorDavid Majnemer <david.majnemer@gmail.com>
Fri, 8 Aug 2014 05:50:43 +0000 (05:50 +0000)
committerDavid Majnemer <david.majnemer@gmail.com>
Fri, 8 Aug 2014 05:50:43 +0000 (05:50 +0000)
commit8e5c298a178c21e115ec086295e29c17b06532ae
tree2cb95f0b642c4b598ffd8bf4bbd8a36138a17278
parent2477ef901446bc03598691b930462f878dfc44d8
GlobalOpt: Optimize in the face of insertvalue/extractvalue

GlobalOpt didn't know how to simulate InsertValueInst or
ExtractValueInst.  Optimizing these is pretty straightforward.

N.B. This came up when looking at clang's IRGen for MS ABI member
pointers; they are represented as aggregates.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@215184 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Transforms/IPO/GlobalOpt.cpp
test/Transforms/GlobalOpt/constantfold-initializers.ll