xref: /llvm-project/llvm/lib/Passes/OptimizationLevel.cpp (revision c3ddc13d7d631a29b55f82c7cc7a9008bf89b1f4)
1*c3ddc13dSArthur Eubanks //===- OptimizationLevel.cpp ----------------------------------------------===//
2*c3ddc13dSArthur Eubanks //
3*c3ddc13dSArthur Eubanks // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4*c3ddc13dSArthur Eubanks // See https://llvm.org/LICENSE.txt for license information.
5*c3ddc13dSArthur Eubanks // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6*c3ddc13dSArthur Eubanks //
7*c3ddc13dSArthur Eubanks //===----------------------------------------------------------------------===//
8*c3ddc13dSArthur Eubanks 
9*c3ddc13dSArthur Eubanks #include "llvm/Passes/OptimizationLevel.h"
10*c3ddc13dSArthur Eubanks 
11*c3ddc13dSArthur Eubanks using namespace llvm;
12*c3ddc13dSArthur Eubanks 
13*c3ddc13dSArthur Eubanks const OptimizationLevel OptimizationLevel::O0 = {
14*c3ddc13dSArthur Eubanks     /*SpeedLevel*/ 0,
15*c3ddc13dSArthur Eubanks     /*SizeLevel*/ 0};
16*c3ddc13dSArthur Eubanks const OptimizationLevel OptimizationLevel::O1 = {
17*c3ddc13dSArthur Eubanks     /*SpeedLevel*/ 1,
18*c3ddc13dSArthur Eubanks     /*SizeLevel*/ 0};
19*c3ddc13dSArthur Eubanks const OptimizationLevel OptimizationLevel::O2 = {
20*c3ddc13dSArthur Eubanks     /*SpeedLevel*/ 2,
21*c3ddc13dSArthur Eubanks     /*SizeLevel*/ 0};
22*c3ddc13dSArthur Eubanks const OptimizationLevel OptimizationLevel::O3 = {
23*c3ddc13dSArthur Eubanks     /*SpeedLevel*/ 3,
24*c3ddc13dSArthur Eubanks     /*SizeLevel*/ 0};
25*c3ddc13dSArthur Eubanks const OptimizationLevel OptimizationLevel::Os = {
26*c3ddc13dSArthur Eubanks     /*SpeedLevel*/ 2,
27*c3ddc13dSArthur Eubanks     /*SizeLevel*/ 1};
28*c3ddc13dSArthur Eubanks const OptimizationLevel OptimizationLevel::Oz = {
29*c3ddc13dSArthur Eubanks     /*SpeedLevel*/ 2,
30*c3ddc13dSArthur Eubanks     /*SizeLevel*/ 2};
31