diff --git a/llvm/tools/hpvm/test/unitTests/MallocIntrinsic.c b/llvm/tools/hpvm/test/unitTests/MallocIntrinsic.c new file mode 100644 index 0000000000000000000000000000000000000000..fbc3d3ef0802198e71f69cd1cbd2347a413e2a3e --- /dev/null +++ b/llvm/tools/hpvm/test/unitTests/MallocIntrinsic.c @@ -0,0 +1,38 @@ +#include <stdlib.h> +#include "visc.h" + +struct Root { + int *input; + int *output; +}; + +void PipeRoot(int *In, int *Out) { + __visc__hint (CPU_TARGET); + __visc__attributes(1, In, 1, Out); + + Out = (int *)__visc__malloc(*In); + + __visc__return(1, Out); +} + +int main(void) { + int In, Out; + + // struct Root RootArgs; + // RootArgs.input = (int *)&In; + // RootArgs.output = (int *)&Out; + + struct Root* RootArgs = (struct Root *) malloc(sizeof(struct Root)); + RootArgs->input = (int *)&In; + RootArgs->output = (int *)&Out; + + __visc__init(); + + void* PipeDFG = __visc__launch(0, PipeRoot, (void *) RootArgs); + __visc__wait(PipeDFG); + + __visc__cleanup(); + + return 0; +} +