Commit 95dd178
[clang] Change representation of CurLexerKind (llvm#70381)
Previous representation used an enumeration combined to a switch to
dispatch to the appropriate lexer.
Use function pointer so that the dispatching is just an indirect call,
which is actually better because lexing is a costly task compared to a
function call.
This also makes the code slightly cleaner, speedup on compile time
tracker are consistent and range form -0.05% to -0.20% for NewPM-O0-g,
see
https://llvm-compile-time-tracker.com/compare.php?from=f9906508bc4f05d3950e2219b4c56f6c078a61ef&to=608c85ec1283638db949d73e062bcc3355001ce4&stat=instructions:u
Considering just the preprocessing task, preprocessing the sqlite
amalgametion takes -0.6% instructions (according to valgrind
--tool=callgrind)
---------
Co-authored-by: serge-sans-paille <[email protected]>
Co-authored-by: cor3ntin <[email protected]>1 parent a5d2570 commit 95dd178
File tree
5 files changed
+57
-76
lines changed- clang
- include/clang/Lex
- lib/Lex
- utils/ClangVisualizers
5 files changed
+57
-76
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
751 | 751 | | |
752 | 752 | | |
753 | 753 | | |
754 | | - | |
755 | | - | |
756 | | - | |
757 | | - | |
758 | | - | |
759 | | - | |
760 | | - | |
| 754 | + | |
| 755 | + | |
761 | 756 | | |
762 | 757 | | |
763 | 758 | | |
| |||
767 | 762 | | |
768 | 763 | | |
769 | 764 | | |
770 | | - | |
| 765 | + | |
771 | 766 | | |
772 | 767 | | |
773 | 768 | | |
| |||
776 | 771 | | |
777 | 772 | | |
778 | 773 | | |
779 | | - | |
| 774 | + | |
780 | 775 | | |
781 | 776 | | |
782 | 777 | | |
783 | 778 | | |
784 | | - | |
| 779 | + | |
785 | 780 | | |
786 | 781 | | |
787 | 782 | | |
| |||
1901 | 1896 | | |
1902 | 1897 | | |
1903 | 1898 | | |
1904 | | - | |
| 1899 | + | |
1905 | 1900 | | |
1906 | 1901 | | |
1907 | 1902 | | |
| |||
2430 | 2425 | | |
2431 | 2426 | | |
2432 | 2427 | | |
2433 | | - | |
2434 | | - | |
| 2428 | + | |
| 2429 | + | |
| 2430 | + | |
2435 | 2431 | | |
2436 | 2432 | | |
2437 | 2433 | | |
| |||
2443 | 2439 | | |
2444 | 2440 | | |
2445 | 2441 | | |
2446 | | - | |
| 2442 | + | |
2447 | 2443 | | |
2448 | 2444 | | |
2449 | 2445 | | |
| |||
2899 | 2895 | | |
2900 | 2896 | | |
2901 | 2897 | | |
| 2898 | + | |
| 2899 | + | |
| 2900 | + | |
| 2901 | + | |
| 2902 | + | |
| 2903 | + | |
| 2904 | + | |
| 2905 | + | |
| 2906 | + | |
| 2907 | + | |
| 2908 | + | |
| 2909 | + | |
| 2910 | + | |
| 2911 | + | |
| 2912 | + | |
| 2913 | + | |
| 2914 | + | |
| 2915 | + | |
| 2916 | + | |
| 2917 | + | |
2902 | 2918 | | |
2903 | 2919 | | |
2904 | 2920 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
88 | 88 | | |
89 | 89 | | |
90 | 90 | | |
91 | | - | |
| 91 | + | |
92 | 92 | | |
93 | 93 | | |
94 | 94 | | |
95 | 95 | | |
96 | 96 | | |
97 | 97 | | |
98 | 98 | | |
99 | | - | |
| 99 | + | |
100 | 100 | | |
101 | | - | |
| 101 | + | |
102 | 102 | | |
103 | 103 | | |
104 | 104 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
122 | 122 | | |
123 | 123 | | |
124 | 124 | | |
125 | | - | |
126 | | - | |
127 | | - | |
128 | | - | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
129 | 129 | | |
130 | 130 | | |
131 | 131 | | |
| |||
161 | 161 | | |
162 | 162 | | |
163 | 163 | | |
164 | | - | |
165 | | - | |
| 164 | + | |
| 165 | + | |
166 | 166 | | |
167 | 167 | | |
168 | 168 | | |
| |||
180 | 180 | | |
181 | 181 | | |
182 | 182 | | |
183 | | - | |
| 183 | + | |
184 | 184 | | |
185 | 185 | | |
186 | 186 | | |
| |||
216 | 216 | | |
217 | 217 | | |
218 | 218 | | |
219 | | - | |
220 | | - | |
| 219 | + | |
| 220 | + | |
221 | 221 | | |
222 | 222 | | |
223 | 223 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
382 | 382 | | |
383 | 383 | | |
384 | 384 | | |
385 | | - | |
386 | | - | |
387 | | - | |
| 385 | + | |
| 386 | + | |
| 387 | + | |
388 | 388 | | |
389 | | - | |
| 389 | + | |
390 | 390 | | |
391 | | - | |
| 391 | + | |
392 | 392 | | |
393 | 393 | | |
394 | 394 | | |
| |||
643 | 643 | | |
644 | 644 | | |
645 | 645 | | |
646 | | - | |
647 | | - | |
648 | | - | |
649 | | - | |
650 | | - | |
651 | | - | |
652 | | - | |
653 | | - | |
654 | | - | |
655 | | - | |
656 | | - | |
657 | | - | |
658 | | - | |
659 | | - | |
660 | | - | |
661 | | - | |
662 | | - | |
| 646 | + | |
663 | 647 | | |
664 | 648 | | |
665 | 649 | | |
| |||
868 | 852 | | |
869 | 853 | | |
870 | 854 | | |
871 | | - | |
| 855 | + | |
872 | 856 | | |
873 | 857 | | |
874 | 858 | | |
875 | 859 | | |
876 | | - | |
| 860 | + | |
877 | 861 | | |
878 | 862 | | |
879 | 863 | | |
| |||
882 | 866 | | |
883 | 867 | | |
884 | 868 | | |
885 | | - | |
886 | | - | |
887 | | - | |
888 | | - | |
889 | | - | |
890 | | - | |
891 | | - | |
892 | | - | |
893 | | - | |
894 | | - | |
895 | | - | |
896 | | - | |
897 | | - | |
898 | | - | |
899 | | - | |
900 | | - | |
901 | | - | |
902 | | - | |
903 | | - | |
904 | | - | |
905 | | - | |
| 869 | + | |
| 870 | + | |
906 | 871 | | |
907 | 872 | | |
908 | 873 | | |
| |||
968 | 933 | | |
969 | 934 | | |
970 | 935 | | |
971 | | - | |
| 936 | + | |
972 | 937 | | |
973 | 938 | | |
974 | 939 | | |
| |||
1186 | 1151 | | |
1187 | 1152 | | |
1188 | 1153 | | |
1189 | | - | |
| 1154 | + | |
1190 | 1155 | | |
1191 | 1156 | | |
1192 | 1157 | | |
| |||
1286 | 1251 | | |
1287 | 1252 | | |
1288 | 1253 | | |
1289 | | - | |
| 1254 | + | |
1290 | 1255 | | |
1291 | 1256 | | |
1292 | 1257 | | |
| |||
1295 | 1260 | | |
1296 | 1261 | | |
1297 | 1262 | | |
1298 | | - | |
| 1263 | + | |
1299 | 1264 | | |
1300 | 1265 | | |
1301 | 1266 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
817 | 817 | | |
818 | 818 | | |
819 | 819 | | |
820 | | - | |
| 820 | + | |
821 | 821 | | |
822 | 822 | | |
823 | 823 | | |
| |||
0 commit comments