Issue |
136568
|
Summary |
Quadratic scaling in processing of designated initializers
|
Labels |
new issue
|
Assignees |
|
Reporter |
amonakov
|
```sh
printf 'x(%d)\n' $(seq 10000) > x10000.h
```
```c
struct S {
#define x(n) int m##n;
#include "x10000.h"
#undef x
} s = {
#define x(n) .m##n = n,
#include "x10000.h"
#undef x
};
```
needs more than a second to compile, and scales quadratically with the number of fields. `perf report` shows 42% in CheckDesignatedInitializer, 34% in CheckStructUnionTypes and 17.5% in FieldDecl::getCanonicalDecl.
_______________________________________________
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs