diff --git a/llvm/tools/hpvm/test/unitTests/PipelineIntrinsics.c b/llvm/tools/hpvm/test/unitTests/PipelineIntrinsics.c new file mode 100644 index 0000000000000000000000000000000000000000..0c1932129266eb55564b199d2451b73c0ce21a73 --- /dev/null +++ b/llvm/tools/hpvm/test/unitTests/PipelineIntrinsics.c @@ -0,0 +1,35 @@ +#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); + __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; +} +