bounds_check_elimination.h revision f384f88d4d1e89df82f47fbc7245a8acc9c2d49c
1f384f88d4d1e89df82f47fbc7245a8acc9c2d49cMingyao Yang/* 2f384f88d4d1e89df82f47fbc7245a8acc9c2d49cMingyao Yang * Copyright (C) 2014 The Android Open Source Project 3f384f88d4d1e89df82f47fbc7245a8acc9c2d49cMingyao Yang * 4f384f88d4d1e89df82f47fbc7245a8acc9c2d49cMingyao Yang * Licensed under the Apache License, Version 2.0 (the "License"); 5f384f88d4d1e89df82f47fbc7245a8acc9c2d49cMingyao Yang * you may not use this file except in compliance with the License. 6f384f88d4d1e89df82f47fbc7245a8acc9c2d49cMingyao Yang * You may obtain a copy of the License at 7f384f88d4d1e89df82f47fbc7245a8acc9c2d49cMingyao Yang * 8f384f88d4d1e89df82f47fbc7245a8acc9c2d49cMingyao Yang * http://www.apache.org/licenses/LICENSE-2.0 9f384f88d4d1e89df82f47fbc7245a8acc9c2d49cMingyao Yang * 10f384f88d4d1e89df82f47fbc7245a8acc9c2d49cMingyao Yang * Unless required by applicable law or agreed to in writing, software 11f384f88d4d1e89df82f47fbc7245a8acc9c2d49cMingyao Yang * distributed under the License is distributed on an "AS IS" BASIS, 12f384f88d4d1e89df82f47fbc7245a8acc9c2d49cMingyao Yang * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13f384f88d4d1e89df82f47fbc7245a8acc9c2d49cMingyao Yang * See the License for the specific language governing permissions and 14f384f88d4d1e89df82f47fbc7245a8acc9c2d49cMingyao Yang * limitations under the License. 15f384f88d4d1e89df82f47fbc7245a8acc9c2d49cMingyao Yang */ 16f384f88d4d1e89df82f47fbc7245a8acc9c2d49cMingyao Yang 17f384f88d4d1e89df82f47fbc7245a8acc9c2d49cMingyao Yang#ifndef ART_COMPILER_OPTIMIZING_BOUNDS_CHECK_ELIMINATION_H_ 18f384f88d4d1e89df82f47fbc7245a8acc9c2d49cMingyao Yang#define ART_COMPILER_OPTIMIZING_BOUNDS_CHECK_ELIMINATION_H_ 19f384f88d4d1e89df82f47fbc7245a8acc9c2d49cMingyao Yang 20f384f88d4d1e89df82f47fbc7245a8acc9c2d49cMingyao Yang#include "optimization.h" 21f384f88d4d1e89df82f47fbc7245a8acc9c2d49cMingyao Yang 22f384f88d4d1e89df82f47fbc7245a8acc9c2d49cMingyao Yangnamespace art { 23f384f88d4d1e89df82f47fbc7245a8acc9c2d49cMingyao Yang 24f384f88d4d1e89df82f47fbc7245a8acc9c2d49cMingyao Yangclass BoundsCheckElimination : public HOptimization { 25f384f88d4d1e89df82f47fbc7245a8acc9c2d49cMingyao Yang public: 26f384f88d4d1e89df82f47fbc7245a8acc9c2d49cMingyao Yang BoundsCheckElimination(HGraph* graph) : HOptimization(graph, true, "BCE") {} 27f384f88d4d1e89df82f47fbc7245a8acc9c2d49cMingyao Yang 28f384f88d4d1e89df82f47fbc7245a8acc9c2d49cMingyao Yang void Run() OVERRIDE; 29f384f88d4d1e89df82f47fbc7245a8acc9c2d49cMingyao Yang 30f384f88d4d1e89df82f47fbc7245a8acc9c2d49cMingyao Yang private: 31f384f88d4d1e89df82f47fbc7245a8acc9c2d49cMingyao Yang DISALLOW_COPY_AND_ASSIGN(BoundsCheckElimination); 32f384f88d4d1e89df82f47fbc7245a8acc9c2d49cMingyao Yang}; 33f384f88d4d1e89df82f47fbc7245a8acc9c2d49cMingyao Yang 34f384f88d4d1e89df82f47fbc7245a8acc9c2d49cMingyao Yang} // namespace art 35f384f88d4d1e89df82f47fbc7245a8acc9c2d49cMingyao Yang 36f384f88d4d1e89df82f47fbc7245a8acc9c2d49cMingyao Yang#endif // ART_COMPILER_OPTIMIZING_BOUNDS_CHECK_ELIMINATION_H_ 37