blob: 04e8460163bb175d1bed3bb9459c5ceb05cfbc2b [file] [log] [blame]
Stephen Hinesdb169182012-01-05 18:46:36 -08001/*
2 * Copyright 2012, 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
Zonr Changc72c4dd2012-04-12 15:38:53 +080017#ifndef BCC_RS_TRANSFORMS_H
18#define BCC_RS_TRANSFORMS_H
Shih-wei Liao7a66e6c2012-04-25 04:04:15 -070019
Shih-wei Liao7a66e6c2012-04-25 04:04:15 -070020namespace llvm {
21 class ModulePass;
Tim Murrayb7bce742014-11-03 16:17:30 -080022 class FunctionPass;
Shih-wei Liao7a66e6c2012-04-25 04:04:15 -070023}
Stephen Hinesdb169182012-01-05 18:46:36 -080024
25namespace bcc {
26
Dean De Leo4165d292015-11-25 12:55:21 +000027extern const char BCC_INDEX_VAR_NAME[];
28
Shih-wei Liao7a66e6c2012-04-25 04:04:15 -070029llvm::ModulePass *
Matt Wala4e7a5062015-07-30 16:27:51 -070030createRSKernelExpandPass(bool pEnableStepOpt);
Stephen Hinesdb169182012-01-05 18:46:36 -080031
Tim Murrayb7bce742014-11-03 16:17:30 -080032llvm::FunctionPass *
David Gross1d93a192015-03-25 14:59:27 -070033createRSInvariantPass();
34
35llvm::FunctionPass *
Tim Murrayb7bce742014-11-03 16:17:30 -080036createRSInvokeHelperPass();
37
Stephen Hines1253c192014-05-08 18:18:01 -070038llvm::ModulePass * createRSEmbedInfoPass();
Stephen Hines86a0b792012-11-06 20:04:47 -080039
Stephen Hines750ee652015-04-16 16:24:18 -070040llvm::ModulePass * createRSGlobalInfoPass(bool pSkipConstants);
41
Pirama Arumuga Nainar9fe081b2015-01-27 14:09:19 -080042llvm::ModulePass * createRSScreenFunctionsPass();
Pirama Arumuga Nainar1e0557a2014-12-02 15:02:18 -080043
Pirama Arumuga Nainar9fe081b2015-01-27 14:09:19 -080044llvm::ModulePass * createRSIsThreadablePass();
Pirama Arumuga Nainar1e0557a2014-12-02 15:02:18 -080045
Pirama Arumuga Nainar8c24f8d2015-03-17 13:11:25 -070046llvm::ModulePass * createRSX86_64CallConvPass();
47
Dean De Leo09c7a412015-11-25 12:45:45 +000048llvm::ModulePass * createRSAddDebugInfoPass();
49
Pirama Arumuga Nainard2d5ee32016-04-12 14:04:50 -070050llvm::FunctionPass *createRSX86TranslateGEPPass();
51
Shih-wei Liao7a66e6c2012-04-25 04:04:15 -070052} // end namespace bcc
53
Zonr Changc72c4dd2012-04-12 15:38:53 +080054#endif // BCC_RS_TRANSFORMS_H