1db169187dea4602e4ad32058762d23d474753fd0Stephen Hines/* 2db169187dea4602e4ad32058762d23d474753fd0Stephen Hines * Copyright 2012, The Android Open Source Project 3db169187dea4602e4ad32058762d23d474753fd0Stephen Hines * 4db169187dea4602e4ad32058762d23d474753fd0Stephen Hines * Licensed under the Apache License, Version 2.0 (the "License"); 5db169187dea4602e4ad32058762d23d474753fd0Stephen Hines * you may not use this file except in compliance with the License. 6db169187dea4602e4ad32058762d23d474753fd0Stephen Hines * You may obtain a copy of the License at 7db169187dea4602e4ad32058762d23d474753fd0Stephen Hines * 8db169187dea4602e4ad32058762d23d474753fd0Stephen Hines * http://www.apache.org/licenses/LICENSE-2.0 9db169187dea4602e4ad32058762d23d474753fd0Stephen Hines * 10db169187dea4602e4ad32058762d23d474753fd0Stephen Hines * Unless required by applicable law or agreed to in writing, software 11db169187dea4602e4ad32058762d23d474753fd0Stephen Hines * distributed under the License is distributed on an "AS IS" BASIS, 12db169187dea4602e4ad32058762d23d474753fd0Stephen Hines * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13db169187dea4602e4ad32058762d23d474753fd0Stephen Hines * See the License for the specific language governing permissions and 14db169187dea4602e4ad32058762d23d474753fd0Stephen Hines * limitations under the License. 15db169187dea4602e4ad32058762d23d474753fd0Stephen Hines */ 16db169187dea4602e4ad32058762d23d474753fd0Stephen Hines 17c72c4ddfcd79c74f70713da91a69569451b5c19eZonr Chang#ifndef BCC_RS_TRANSFORMS_H 18c72c4ddfcd79c74f70713da91a69569451b5c19eZonr Chang#define BCC_RS_TRANSFORMS_H 197a66e6cbb1ae32cd56b19822c4e66560deb857dbShih-wei Liao 207a66e6cbb1ae32cd56b19822c4e66560deb857dbShih-wei Liaonamespace llvm { 217a66e6cbb1ae32cd56b19822c4e66560deb857dbShih-wei Liao class ModulePass; 22b7bce7436876884dfd78ec41d147ddbe47e37cbdTim Murray class FunctionPass; 237a66e6cbb1ae32cd56b19822c4e66560deb857dbShih-wei Liao} 24db169187dea4602e4ad32058762d23d474753fd0Stephen Hines 25db169187dea4602e4ad32058762d23d474753fd0Stephen Hinesnamespace bcc { 26db169187dea4602e4ad32058762d23d474753fd0Stephen Hines 274165d29822fc7caf81e435995ff6189608fc0323Dean De Leoextern const char BCC_INDEX_VAR_NAME[]; 284165d29822fc7caf81e435995ff6189608fc0323Dean De Leo 297a66e6cbb1ae32cd56b19822c4e66560deb857dbShih-wei Liaollvm::ModulePass * 304e7a50685ae18a24087f6f2a51c604e71fab69e2Matt WalacreateRSKernelExpandPass(bool pEnableStepOpt); 317a66e6cbb1ae32cd56b19822c4e66560deb857dbShih-wei Liao 32b7bce7436876884dfd78ec41d147ddbe47e37cbdTim Murrayllvm::FunctionPass * 331d93a190e62ec1588b4724ca8759216b2d0b76d7David GrosscreateRSInvariantPass(); 341d93a190e62ec1588b4724ca8759216b2d0b76d7David Gross 351d93a190e62ec1588b4724ca8759216b2d0b76d7David Grossllvm::FunctionPass * 36b7bce7436876884dfd78ec41d147ddbe47e37cbdTim MurraycreateRSInvokeHelperPass(); 37b7bce7436876884dfd78ec41d147ddbe47e37cbdTim Murray 381253c195dd7911ad91bd66790f03e4c2f8888ad2Stephen Hinesllvm::ModulePass * createRSEmbedInfoPass(); 3986a0b797c221d4c3373dc10c8229b75b6747f6e7Stephen Hines 40750ee65e129a2baef2dc5bb9ad210b45c9184926Stephen Hinesllvm::ModulePass * createRSGlobalInfoPass(bool pSkipConstants); 41750ee65e129a2baef2dc5bb9ad210b45c9184926Stephen Hines 429fe081b8bae8a95d903f8fa8dc0a7590ae706606Pirama Arumuga Nainarllvm::ModulePass * createRSScreenFunctionsPass(); 431e0557ae75ae780352845bd2ba0f4babdc5ae4e6Pirama Arumuga Nainar 449fe081b8bae8a95d903f8fa8dc0a7590ae706606Pirama Arumuga Nainarllvm::ModulePass * createRSIsThreadablePass(); 451e0557ae75ae780352845bd2ba0f4babdc5ae4e6Pirama Arumuga Nainar 468c24f8d1d75b619130e8bfce204ed9695362d4a1Pirama Arumuga Nainarllvm::ModulePass * createRSX86_64CallConvPass(); 478c24f8d1d75b619130e8bfce204ed9695362d4a1Pirama Arumuga Nainar 4809c7a41f73602bec33e9d392cc959d78931f73c4Dean De Leollvm::ModulePass * createRSAddDebugInfoPass(); 4909c7a41f73602bec33e9d392cc959d78931f73c4Dean De Leo 50d2d5ee3893220cec256c829a4740a718232f84acPirama Arumuga Nainarllvm::FunctionPass *createRSX86TranslateGEPPass(); 51d2d5ee3893220cec256c829a4740a718232f84acPirama Arumuga Nainar 527a66e6cbb1ae32cd56b19822c4e66560deb857dbShih-wei Liao} // end namespace bcc 53db169187dea4602e4ad32058762d23d474753fd0Stephen Hines 54c72c4ddfcd79c74f70713da91a69569451b5c19eZonr Chang#endif // BCC_RS_TRANSFORMS_H 55