aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/CodeGen/CodeGenModule.cpp
diff options
context:
space:
mode:
authorBenjamin Kramer <benny.kra@googlemail.com>2015-03-19 16:06:49 +0000
committerBenjamin Kramer <benny.kra@googlemail.com>2015-03-19 16:06:49 +0000
commit845e32cd4df74b48c3c02e991d0ebf4140783a9a (patch)
tree2e21c0003368ae587118de700a5f17ea09a715b4 /clang/lib/CodeGen/CodeGenModule.cpp
parentc6f19333cfcd4225e4371d2d7c76e20afad4619f (diff)
downloadllvm-845e32cd4df74b48c3c02e991d0ebf4140783a9a.zip
llvm-845e32cd4df74b48c3c02e991d0ebf4140783a9a.tar.gz
llvm-845e32cd4df74b48c3c02e991d0ebf4140783a9a.tar.bz2
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 'clang/lib/CodeGen/CodeGenModule.cpp')
0 files changed, 0 insertions, 0 deletions