From d4e08c95e500bc813b24b146be29f17e7c08fa2a Mon Sep 17 00:00:00 2001 From: Arthur Eubanks Date: Thu, 17 Sep 2020 16:01:30 -0700 Subject: [PATCH] [NewPM] Set -enable-npm-optnone to true by default This makes the NPM skip not required passes on functions marked optnone. If this causes a pass that should be required but has not been marked required to be skipped, add `static bool isRequired() { return true; }` to the pass class. AlwaysInlinerPass is an example. clang/test/CodeGen/O0-no-skipped-passes.c is useful for checking that no passes are skipped under -O0. The -enable-npm-optnone option will be removed once this has been stable for long enough without issues. Reviewed By: ychen, asbirlea Differential Revision: https://reviews.llvm.org/D87869 --- llvm/lib/Passes/StandardInstrumentations.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/llvm/lib/Passes/StandardInstrumentations.cpp b/llvm/lib/Passes/StandardInstrumentations.cpp index d2ef2cd4ed61..06aa3868fd6d 100644 --- a/llvm/lib/Passes/StandardInstrumentations.cpp +++ b/llvm/lib/Passes/StandardInstrumentations.cpp @@ -33,7 +33,7 @@ using namespace llvm; // TODO: remove once all required passes are marked as such. static cl::opt - EnableOptnone("enable-npm-optnone", cl::init(false), + EnableOptnone("enable-npm-optnone", cl::init(true), cl::desc("Enable skipping optional passes optnone functions " "under new pass manager"));