aboutsummaryrefslogtreecommitdiff
path: root/lib/Transforms/Utils/ModuleUtils.cpp
diff options
context:
space:
mode:
authorMark Seaborn <mseaborn@chromium.org>2013-05-30 13:08:26 -0700
committerMark Seaborn <mseaborn@chromium.org>2013-05-30 13:08:26 -0700
commitf72e0b53e25548d6db9220a03a303e589c9773a4 (patch)
treeaaff14bd8167571353c50289b005bd0fe5c98925 /lib/Transforms/Utils/ModuleUtils.cpp
parent663c1c948321264aceb07b86cfadcd06b3386e1e (diff)
PNaCl: Add a pass to expand out Clang's use of registers of struct type
Clang's implementation of C++ method pointers generates IR that uses LLVM registers with struct type -- specifically, loads and stores of struct values, and extractvalue instructions. See lib/CodeGen/ItaniumCXXABI.cpp in Clang. Add a pass, ExpandStructRegs, which expands out those uses. Factor out a function from ExpandArithWithOverflow so that the two passes can share some code. BUG=https://code.google.com/p/nativeclient/issues/detail?id=3343 TEST=*.ll tests + trybots + GCC torture tests Review URL: https://codereview.chromium.org/15692014
Diffstat (limited to 'lib/Transforms/Utils/ModuleUtils.cpp')
0 files changed, 0 insertions, 0 deletions