1218885Sdim//===-- Utils.cpp - TransformUtils Infrastructure -------------------------===//
2218885Sdim//
3218885Sdim//                     The LLVM Compiler Infrastructure
4218885Sdim//
5218885Sdim// This file is distributed under the University of Illinois Open Source
6218885Sdim// License. See LICENSE.TXT for details.
7218885Sdim//
8218885Sdim//===----------------------------------------------------------------------===//
9218885Sdim//
10218885Sdim// This file defines the common initialization infrastructure for the
11218885Sdim// TransformUtils library.
12218885Sdim//
13218885Sdim//===----------------------------------------------------------------------===//
14218885Sdim
15218885Sdim#include "llvm/InitializePasses.h"
16251662Sdim#include "llvm/PassRegistry.h"
17218885Sdim#include "llvm-c/Initialization.h"
18218885Sdim
19218885Sdimusing namespace llvm;
20218885Sdim
21218885Sdim/// initializeTransformUtils - Initialize all passes in the TransformUtils
22218885Sdim/// library.
23218885Sdimvoid llvm::initializeTransformUtils(PassRegistry &Registry) {
24218885Sdim  initializeBreakCriticalEdgesPass(Registry);
25218885Sdim  initializeInstNamerPass(Registry);
26218885Sdim  initializeLCSSAPass(Registry);
27218885Sdim  initializeLoopSimplifyPass(Registry);
28218885Sdim  initializeLowerInvokePass(Registry);
29218885Sdim  initializeLowerSwitchPass(Registry);
30218885Sdim  initializePromotePassPass(Registry);
31218885Sdim  initializeUnifyFunctionExitNodesPass(Registry);
32218885Sdim  initializeInstSimplifierPass(Registry);
33243830Sdim  initializeMetaRenamerPass(Registry);
34218885Sdim}
35218885Sdim
36218885Sdim/// LLVMInitializeTransformUtils - C binding for initializeTransformUtilsPasses.
37218885Sdimvoid LLVMInitializeTransformUtils(LLVMPassRegistryRef R) {
38218885Sdim  initializeTransformUtils(*unwrap(R));
39218885Sdim}
40