1ade92778b99382413ff9c556c724dd3f447e5dfbZonr Chang/* 2ade92778b99382413ff9c556c724dd3f447e5dfbZonr Chang * Copyright 2012, The Android Open Source Project 3ade92778b99382413ff9c556c724dd3f447e5dfbZonr Chang * 4ade92778b99382413ff9c556c724dd3f447e5dfbZonr Chang * Licensed under the Apache License, Version 2.0 (the "License"); 5ade92778b99382413ff9c556c724dd3f447e5dfbZonr Chang * you may not use this file except in compliance with the License. 6ade92778b99382413ff9c556c724dd3f447e5dfbZonr Chang * You may obtain a copy of the License at 7ade92778b99382413ff9c556c724dd3f447e5dfbZonr Chang * 8ade92778b99382413ff9c556c724dd3f447e5dfbZonr Chang * http://www.apache.org/licenses/LICENSE-2.0 9ade92778b99382413ff9c556c724dd3f447e5dfbZonr Chang * 10ade92778b99382413ff9c556c724dd3f447e5dfbZonr Chang * Unless required by applicable law or agreed to in writing, software 11ade92778b99382413ff9c556c724dd3f447e5dfbZonr Chang * distributed under the License is distributed on an "AS IS" BASIS, 12ade92778b99382413ff9c556c724dd3f447e5dfbZonr Chang * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13ade92778b99382413ff9c556c724dd3f447e5dfbZonr Chang * See the License for the specific language governing permissions and 14ade92778b99382413ff9c556c724dd3f447e5dfbZonr Chang * limitations under the License. 15ade92778b99382413ff9c556c724dd3f447e5dfbZonr Chang */ 16ade92778b99382413ff9c556c724dd3f447e5dfbZonr Chang 17c72c4ddfcd79c74f70713da91a69569451b5c19eZonr Chang#ifndef BCC_RS_COMPILER_H 18c72c4ddfcd79c74f70713da91a69569451b5c19eZonr Chang#define BCC_RS_COMPILER_H 19ade92778b99382413ff9c556c724dd3f447e5dfbZonr Chang 20c72c4ddfcd79c74f70713da91a69569451b5c19eZonr Chang#include "bcc/Compiler.h" 21ade92778b99382413ff9c556c724dd3f447e5dfbZonr Chang 22ade92778b99382413ff9c556c724dd3f447e5dfbZonr Changnamespace bcc { 23ade92778b99382413ff9c556c724dd3f447e5dfbZonr Chang 24ade92778b99382413ff9c556c724dd3f447e5dfbZonr Changclass RSCompiler : public Compiler { 25ade92778b99382413ff9c556c724dd3f447e5dfbZonr Changprivate: 26ade92778b99382413ff9c556c724dd3f447e5dfbZonr Chang virtual bool beforeAddLTOPasses(Script &pScript, llvm::PassManager &pPM); 276a5fa14074200a18824defa0bffc64e5f2487152Tobias Grosser bool addInternalizeSymbolsPass(Script &pScript, llvm::PassManager &pPM); 286a5fa14074200a18824defa0bffc64e5f2487152Tobias Grosser bool addExpandForEachPass(Script &pScript, llvm::PassManager &pPM); 29ade92778b99382413ff9c556c724dd3f447e5dfbZonr Chang}; 30ade92778b99382413ff9c556c724dd3f447e5dfbZonr Chang 31ade92778b99382413ff9c556c724dd3f447e5dfbZonr Chang} // end namespace bcc 32ade92778b99382413ff9c556c724dd3f447e5dfbZonr Chang 33c72c4ddfcd79c74f70713da91a69569451b5c19eZonr Chang#endif // BCC_RS_COMPILER_H 34