diff options
Diffstat (limited to 'src/binaryen-c.h')
-rw-r--r-- | src/binaryen-c.h | 21 |
1 files changed, 20 insertions, 1 deletions
diff --git a/src/binaryen-c.h b/src/binaryen-c.h index 54cc73ace..da5362d24 100644 --- a/src/binaryen-c.h +++ b/src/binaryen-c.h @@ -400,6 +400,12 @@ typedef void* BinaryenFunctionRef; // at indexes 1 and 2, etc., that is, they share an index space. BinaryenFunctionRef BinaryenAddFunction(BinaryenModuleRef module, const char* name, BinaryenFunctionTypeRef type, BinaryenType* varTypes, BinaryenIndex numVarTypes, BinaryenExpressionRef body); +// Gets a function reference by name. +BinaryenFunctionRef BinaryenGetFunction(BinaryenModuleRef module, const char* name); + +// Removes a function by name. +void BinaryenRemoveFunction(BinaryenModuleRef module, const char* name); + // Imports typedef void* BinaryenImportRef; @@ -451,7 +457,7 @@ void BinaryenModulePrintAsmjs(BinaryenModuleRef module); // @return 0 if an error occurred, 1 if validated succesfully int BinaryenModuleValidate(BinaryenModuleRef module); -// Run the standard optimization passes on the module. +// Runs the standard optimization passes on the module. void BinaryenModuleOptimize(BinaryenModuleRef module); // Runs the specified passes on the module. @@ -475,6 +481,19 @@ BinaryenModuleRef BinaryenModuleRead(char* input, size_t inputSize); void BinaryenModuleInterpret(BinaryenModuleRef module); // +// ========== Function Operations ========== +// + +// Gets the body of the function. +BinaryenExpressionRef BinaryenFunctionGetBody(BinaryenFunctionRef func); + +// Runs the standard optimization passes on the function. +void BinaryenFunctionOptimize(BinaryenFunctionRef func, BinaryenModuleRef module); + +// Runs the specified passes on the function. +void BinaryenFunctionRunPasses(BinaryenFunctionRef func, BinaryenModuleRef module, const char **passes, BinaryenIndex numPasses); + +// // ========== CFG / Relooper ========== // // General usage is (1) create a relooper, (2) create blocks, (3) add |