diff options
| author | Benjamin Kramer <benny.kra@googlemail.com> | 2015-03-19 16:06:49 +0000 |
|---|---|---|
| committer | Benjamin Kramer <benny.kra@googlemail.com> | 2015-03-19 16:06:49 +0000 |
| commit | 845e32cd4df74b48c3c02e991d0ebf4140783a9a (patch) | |
| tree | 2e21c0003368ae587118de700a5f17ea09a715b4 /llvm/lib/Analysis/AliasDebugger.cpp | |
| parent | c6f19333cfcd4225e4371d2d7c76e20afad4619f (diff) | |
| download | bcm5719-llvm-845e32cd4df74b48c3c02e991d0ebf4140783a9a.tar.gz bcm5719-llvm-845e32cd4df74b48c3c02e991d0ebf4140783a9a.zip | |
Devirtualize Attr and all subclasses.
We know all subclasses in tblgen so just generate a giant switch for
the few virtual methods or turn them into a member variable using spare
bits. The giant jump tables aren't pretty but still much smaller than
a vtable for every attribute, shrinking Release+Asserts clang by ~400k.
Also halves the size of the Attr base class. No functional change
intended.
llvm-svn: 232726
Diffstat (limited to 'llvm/lib/Analysis/AliasDebugger.cpp')
0 files changed, 0 insertions, 0 deletions

