RSTransforms.h revision 750ee65e129a2baef2dc5bb9ad210b45c9184926
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
277a66e6cbb1ae32cd56b19822c4e66560deb857dbShih-wei Liaollvm::ModulePass *
2825eb586bb055ae07c7e82a2b1bdbd6936641580cStephen HinescreateRSForEachExpandPass(bool pEnableStepOpt);
297a66e6cbb1ae32cd56b19822c4e66560deb857dbShih-wei Liao
30b7bce7436876884dfd78ec41d147ddbe47e37cbdTim Murrayllvm::FunctionPass *
311d93a190e62ec1588b4724ca8759216b2d0b76d7David GrosscreateRSInvariantPass();
321d93a190e62ec1588b4724ca8759216b2d0b76d7David Gross
331d93a190e62ec1588b4724ca8759216b2d0b76d7David Grossllvm::FunctionPass *
34b7bce7436876884dfd78ec41d147ddbe47e37cbdTim MurraycreateRSInvokeHelperPass();
35b7bce7436876884dfd78ec41d147ddbe47e37cbdTim Murray
361253c195dd7911ad91bd66790f03e4c2f8888ad2Stephen Hinesllvm::ModulePass * createRSEmbedInfoPass();
3786a0b797c221d4c3373dc10c8229b75b6747f6e7Stephen Hines
38750ee65e129a2baef2dc5bb9ad210b45c9184926Stephen Hinesllvm::ModulePass * createRSGlobalInfoPass(bool pSkipConstants);
39750ee65e129a2baef2dc5bb9ad210b45c9184926Stephen Hines
409fe081b8bae8a95d903f8fa8dc0a7590ae706606Pirama Arumuga Nainarllvm::ModulePass * createRSScreenFunctionsPass();
411e0557ae75ae780352845bd2ba0f4babdc5ae4e6Pirama Arumuga Nainar
429fe081b8bae8a95d903f8fa8dc0a7590ae706606Pirama Arumuga Nainarllvm::ModulePass * createRSIsThreadablePass();
431e0557ae75ae780352845bd2ba0f4babdc5ae4e6Pirama Arumuga Nainar
448c24f8d1d75b619130e8bfce204ed9695362d4a1Pirama Arumuga Nainarllvm::ModulePass * createRSX86_64CallConvPass();
458c24f8d1d75b619130e8bfce204ed9695362d4a1Pirama Arumuga Nainar
467a66e6cbb1ae32cd56b19822c4e66560deb857dbShih-wei Liao} // end namespace bcc
47db169187dea4602e4ad32058762d23d474753fd0Stephen Hines
48c72c4ddfcd79c74f70713da91a69569451b5c19eZonr Chang#endif // BCC_RS_TRANSFORMS_H
49