From f49f1a87ef49150c33d0810b3e8b0d56e56f3d1f Mon Sep 17 00:00:00 2001 From: Chandler Carruth Date: Sun, 27 Dec 2015 08:13:45 +0000 Subject: [attrs] Split off the forced attributes utility into its own pass that is (by default) run much earlier than FuncitonAttrs proper. This allows forcing optnone or other widely impactful attributes. It is also a bit simpler as the force attribute behavior needs no specific iteration order. I've added the pass into the default module pass pipeline and LTO pass pipeline which mirrors where function attrs itself was being run. Differential Revision: http://reviews.llvm.org/D15668 llvm-svn: 256465 --- llvm/lib/Transforms/IPO/IPO.cpp | 1 + 1 file changed, 1 insertion(+) (limited to 'llvm/lib/Transforms/IPO/IPO.cpp') diff --git a/llvm/lib/Transforms/IPO/IPO.cpp b/llvm/lib/Transforms/IPO/IPO.cpp index 2984785a4de..54f8de30e28 100644 --- a/llvm/lib/Transforms/IPO/IPO.cpp +++ b/llvm/lib/Transforms/IPO/IPO.cpp @@ -27,6 +27,7 @@ void llvm::initializeIPO(PassRegistry &Registry) { initializeCrossDSOCFIPass(Registry); initializeDAEPass(Registry); initializeDAHPass(Registry); + initializeForceFunctionAttrsLegacyPassPass(Registry); initializeFunctionAttrsPass(Registry); initializeGlobalDCEPass(Registry); initializeGlobalOptPass(Registry); -- cgit v1.2.3