xref: /aosp_15_r20/external/toolchain-utils/bestflags/README.md (revision 760c253c1ed00ce9abd48f8546f08516e57485fe)
1*760c253cSXin Li# bestflags
2*760c253cSXin Li
3*760c253cSXin LiThere is a vast set of compiler flags that can be used to build Chrome for
4*760c253cSXin LiChromeOS. This option space has not been explored before. This directory
5*760c253cSXin Liprovides an infrastructure to build Chrome with certain flag combinations, test
6*760c253cSXin Liit, gather results and prepare a fresh batch of flags to repeat the process. The
7*760c253cSXin Liinfrastructure supports plug-in modules that implement algorithms for searching
8*760c253cSXin Liin the N-Dimensional space of compiler flag combinations.
9*760c253cSXin Li
10*760c253cSXin LiCurrently, three different algorithms are built, namely genetic algorithm, hill
11*760c253cSXin Liclimbing and negative flag iterative elimination. The module `testing_batch.py`
12*760c253cSXin Licontains the testing of these algorithms.
13*760c253cSXin Li
14*760c253cSXin LiTo run the script, type in `python testing_batch.py`.
15*760c253cSXin Li
16*760c253cSXin LiFor further information about the project, please refer to the design document
17*760c253cSXin Liat:
18*760c253cSXin Li
19*760c253cSXin Lihttps://docs.google.com/a/google.com/document/d/19iE9rhszTWjISBpKJ3qK8uBCoUjs0o4etWDRkyEeUOw/
20*760c253cSXin Li
21*760c253cSXin LiThere is also a presentation slide available at:
22*760c253cSXin Li
23*760c253cSXin Lihttps://docs.google.com/a/google.com/presentation/d/13rS9jALXffbP48YsF0-bsqovrVBfgzEud4e-XpavOdA/edit#slide=id.gf880fcd4_180
24