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