1 //===-- IPO.cpp -----------------------------------------------------------===// 2 // 3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4 // See https://llvm.org/LICENSE.txt for license information. 5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6 // 7 //===----------------------------------------------------------------------===// 8 // 9 // This file implements the common infrastructure (including C bindings) for 10 // libLLVMIPO.a, which implements several transformations over the LLVM 11 // intermediate representation. 12 // 13 //===----------------------------------------------------------------------===// 14 15 #include "llvm/InitializePasses.h" 16 #include "llvm/Transforms/IPO.h" 17 #include "llvm/Transforms/IPO/AlwaysInliner.h" 18 #include "llvm/Transforms/IPO/FunctionAttrs.h" 19 20 using namespace llvm; 21 22 void llvm::initializeIPO(PassRegistry &Registry) { 23 initializeDAEPass(Registry); 24 initializeDAHPass(Registry); 25 initializeAlwaysInlinerLegacyPassPass(Registry); 26 initializeLoopExtractorLegacyPassPass(Registry); 27 initializeSingleLoopExtractorPass(Registry); 28 initializeBarrierNoopPass(Registry); 29 } 30