diff options
| author | Douglas Gregor <dgregor@apple.com> | 2011-12-19 15:27:36 +0000 |
|---|---|---|
| committer | Douglas Gregor <dgregor@apple.com> | 2011-12-19 15:27:36 +0000 |
| commit | 9f562c8d9ebfcd500e7ce256968099d5bab2940c (patch) | |
| tree | 1fb457322f90a43899f54998aa53c35be6d8403d /clang/test/Modules | |
| parent | f4b339decfb21409da4f0caa6db71c25e909330d (diff) | |
| download | bcm5719-llvm-9f562c8d9ebfcd500e7ce256968099d5bab2940c.tar.gz bcm5719-llvm-9f562c8d9ebfcd500e7ce256968099d5bab2940c.zip | |
Optimize serialized representation of redeclarable declarations for
which there are no redeclarations. This reduced by size of the PCH
file for Cocoa.h by ~650k: ~536k of that was in the new
LOCAL_REDECLARATIONS table, which went from a ridiculous 540k down to
an acceptable 3.5k, while the rest was due to the more compact
abbreviated representation of redeclarable declaration kinds (which no
longer need to store the 'first' declaration ID).
llvm-svn: 146869
Diffstat (limited to 'clang/test/Modules')
| -rw-r--r-- | clang/test/Modules/Inputs/redecl-merge-bottom.h | 3 | ||||
| -rw-r--r-- | clang/test/Modules/Inputs/redecl-merge-left.h | 4 | ||||
| -rw-r--r-- | clang/test/Modules/Inputs/redecl-merge-right.h | 2 | ||||
| -rw-r--r-- | clang/test/Modules/Inputs/redecl-merge-top.h | 2 | ||||
| -rw-r--r-- | clang/test/Modules/redecl-merge.m | 5 |
5 files changed, 16 insertions, 0 deletions
diff --git a/clang/test/Modules/Inputs/redecl-merge-bottom.h b/clang/test/Modules/Inputs/redecl-merge-bottom.h index e45e0dea047..198bde3e5fa 100644 --- a/clang/test/Modules/Inputs/redecl-merge-bottom.h +++ b/clang/test/Modules/Inputs/redecl-merge-bottom.h @@ -1,4 +1,7 @@ __import_module__ redecl_merge_left; __import_module__ redecl_merge_right; +@class B; + @class A; + diff --git a/clang/test/Modules/Inputs/redecl-merge-left.h b/clang/test/Modules/Inputs/redecl-merge-left.h index 08589223481..048b3e6c2de 100644 --- a/clang/test/Modules/Inputs/redecl-merge-left.h +++ b/clang/test/Modules/Inputs/redecl-merge-left.h @@ -4,4 +4,8 @@ __import_module__ redecl_merge_top; @class A; +@interface B +@end + @class A; + diff --git a/clang/test/Modules/Inputs/redecl-merge-right.h b/clang/test/Modules/Inputs/redecl-merge-right.h index 266146c9953..d8fd45f2b94 100644 --- a/clang/test/Modules/Inputs/redecl-merge-right.h +++ b/clang/test/Modules/Inputs/redecl-merge-right.h @@ -7,3 +7,5 @@ __import_module__ redecl_merge_top; - (Super*)init; @end +@class B; + diff --git a/clang/test/Modules/Inputs/redecl-merge-top.h b/clang/test/Modules/Inputs/redecl-merge-top.h index 886436cdda8..68dae5058e2 100644 --- a/clang/test/Modules/Inputs/redecl-merge-top.h +++ b/clang/test/Modules/Inputs/redecl-merge-top.h @@ -3,3 +3,5 @@ @class A; @class A; + +@class B; diff --git a/clang/test/Modules/redecl-merge.m b/clang/test/Modules/redecl-merge.m index d62d504868c..fe250441663 100644 --- a/clang/test/Modules/redecl-merge.m +++ b/clang/test/Modules/redecl-merge.m @@ -14,8 +14,13 @@ void f(A *a) { @class A; +@class B; + __import_module__ redecl_merge_bottom; +@implementation B +@end + void g(A *a) { [a init]; } |

