summaryrefslogtreecommitdiffstats
path: root/clang/lib/Frontend/CompilerInvocation.cpp
diff options
context:
space:
mode:
authorPeter Collingbourne <peter@pcc.me.uk>2017-02-14 22:12:23 +0000
committerPeter Collingbourne <peter@pcc.me.uk>2017-02-14 22:12:23 +0000
commit534c0175b60ae1adf17cdd913c11afea973046ae (patch)
treeb9a2ced345094d7d1a78c921d59984f3f23112f4 /clang/lib/Frontend/CompilerInvocation.cpp
parent454f2e7840d2bacfcc63d250732226cf72a1892c (diff)
downloadbcm5719-llvm-534c0175b60ae1adf17cdd913c11afea973046ae.tar.gz
bcm5719-llvm-534c0175b60ae1adf17cdd913c11afea973046ae.zip
WholeProgramDevirt: Change internal vcall data structures to match summary.
Group calls into constant and non-constant arguments up front, and use uint64_t instead of ConstantInt to represent constant arguments. The goal is to allow the information from the summary to fit naturally into this data structure in a future change (specifically, it will be added to CallSiteInfo). This has two side effects: - We disallow VCP for constant integer arguments of width >64 bits. - We remove the restriction that the bitwidth of a vcall's argument and return types must match those of the vfunc definitions. I don't expect either of these to matter in practice. The first case is uncommon, and the second one will lead to UB (so we can do anything we like). Differential Revision: https://reviews.llvm.org/D29744 llvm-svn: 295110
Diffstat (limited to 'clang/lib/Frontend/CompilerInvocation.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud