blob: 72fa71ea9449c8880ceefd818ae6ec0accfde8ea [file] [log] [blame]
Mark Mendell0616ae02015-04-17 12:49:27 -04001/*
2 * Copyright (C) 2015 The Android Open Source Project
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16
Vladimir Marko0f7dca42015-11-02 14:36:43 +000017#ifndef ART_COMPILER_OPTIMIZING_PC_RELATIVE_FIXUPS_X86_H_
18#define ART_COMPILER_OPTIMIZING_PC_RELATIVE_FIXUPS_X86_H_
Mark Mendell0616ae02015-04-17 12:49:27 -040019
20#include "nodes.h"
21#include "optimization.h"
22
23namespace art {
Aart Bikd1c40452016-03-02 16:06:13 -080024
25class CodeGenerator;
26
Mark Mendell0616ae02015-04-17 12:49:27 -040027namespace x86 {
28
Vladimir Marko0f7dca42015-11-02 14:36:43 +000029class PcRelativeFixups : public HOptimization {
Mark Mendell0616ae02015-04-17 12:49:27 -040030 public:
Aart Bikd1c40452016-03-02 16:06:13 -080031 PcRelativeFixups(HGraph* graph, CodeGenerator* codegen, OptimizingCompilerStats* stats)
Wojciech Staszkiewicz5319d3c2016-08-01 17:48:59 -070032 : HOptimization(graph, kPcRelativeFixupsX86PassName, stats),
Aart Bikd1c40452016-03-02 16:06:13 -080033 codegen_(codegen) {}
Mark Mendell0616ae02015-04-17 12:49:27 -040034
Wojciech Staszkiewicz5319d3c2016-08-01 17:48:59 -070035 static constexpr const char* kPcRelativeFixupsX86PassName = "pc_relative_fixups_x86";
36
Mark Mendell0616ae02015-04-17 12:49:27 -040037 void Run() OVERRIDE;
Aart Bikd1c40452016-03-02 16:06:13 -080038
39 private:
40 CodeGenerator* codegen_;
Mark Mendell0616ae02015-04-17 12:49:27 -040041};
42
43} // namespace x86
44} // namespace art
45
Vladimir Marko0f7dca42015-11-02 14:36:43 +000046#endif // ART_COMPILER_OPTIMIZING_PC_RELATIVE_FIXUPS_X86_H_