[Polly] Sanitize optimization levels.
The description of the -polly switch stated that it was only enabled with -O3. This was a lie, the optimization level was ignored. Only at -O0 Polly was not added to the pass pipeline because the pass builder, but only because the extension points were not triggered. In the NewPM, the VectorizerStart extensions point is actually trigger even with -O0 which leads to the following crash: Assertion `Level != OptimizationLevel::O0 && "Must request optimizations!"' failed. We sanitize the optimization levels using the following rules for both pass mangers: 1. Only enable Polly if optimizing at all (-O1, -O2 or -O3). 2. Do not enable Polly when optimizing for size. 3. Ignore the optimization level for diagnostic passes (printer, viewer or JScop-exporter). 4. If only diagnostic passes enabled, skip the code-generation. 5. Fix the description of the -polly command line option.
Loading
Please sign in to comment