1//===-- Scalar.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 common infrastructure for libLLVMScalarOpts.a, which
10// implements several scalar transformations over the LLVM intermediate
11// representation, including the C bindings for that library.
12//
13//===----------------------------------------------------------------------===//
14
15#include "llvm/InitializePasses.h"
16
17using namespace llvm;
18
19/// initializeScalarOptsPasses - Initialize all passes linked into the
20/// ScalarOpts library.
21void llvm::initializeScalarOpts(PassRegistry &Registry) {
22 initializeConstantHoistingLegacyPassPass(Registry);
23 initializeDCELegacyPassPass(Registry);
24 initializeScalarizerLegacyPassPass(Registry);
25 initializeGVNLegacyPassPass(Registry);
26 initializeEarlyCSELegacyPassPass(Registry);
27 initializeEarlyCSEMemSSALegacyPassPass(Registry);
28 initializeFlattenCFGLegacyPassPass(Registry);
29 initializeInferAddressSpacesPass(Registry);
30 initializeInstSimplifyLegacyPassPass(Registry);
31 initializeLegacyLICMPassPass(Registry);
32 initializeLoopDataPrefetchLegacyPassPass(Registry);
33 initializeLoopStrengthReducePass(Registry);
34 initializeLoopTermFoldPass(Registry);
35 initializeLoopUnrollPass(Registry);
36 initializeLowerAtomicLegacyPassPass(Registry);
37 initializeMergeICmpsLegacyPassPass(Registry);
38 initializeNaryReassociateLegacyPassPass(Registry);
39 initializePartiallyInlineLibCallsLegacyPassPass(Registry);
40 initializeReassociateLegacyPassPass(Registry);
41 initializeScalarizeMaskedMemIntrinLegacyPassPass(Registry);
42 initializeSROALegacyPassPass(Registry);
43 initializeCFGSimplifyPassPass(Registry);
44 initializeStructurizeCFGLegacyPassPass(Registry);
45 initializeSinkingLegacyPassPass(Registry);
46 initializeTailCallElimPass(Registry);
47 initializeSeparateConstOffsetFromGEPLegacyPassPass(Registry);
48 initializeSpeculativeExecutionLegacyPassPass(Registry);
49 initializeStraightLineStrengthReduceLegacyPassPass(Registry);
50 initializePlaceBackedgeSafepointsLegacyPassPass(Registry);
51 initializePostInlineEntryExitInstrumenterPass(Registry);
52}
53