diff options
author | Peter Collingbourne <peter@pcc.me.uk> | 2017-02-14 22:12:23 +0000 |
---|---|---|
committer | Peter Collingbourne <peter@pcc.me.uk> | 2017-02-14 22:12:23 +0000 |
commit | 534c0175b60ae1adf17cdd913c11afea973046ae (patch) | |
tree | b9a2ced345094d7d1a78c921d59984f3f23112f4 /clang/lib/Frontend/CompilerInvocation.cpp | |
parent | 454f2e7840d2bacfcc63d250732226cf72a1892c (diff) | |
download | bcm5719-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