diff options
author | Andrey Churbanov <Andrey.Churbanov@intel.com> | 2015-08-05 11:23:10 +0000 |
---|---|---|
committer | Andrey Churbanov <Andrey.Churbanov@intel.com> | 2015-08-05 11:23:10 +0000 |
commit | edc370e53d5aaefd7371dd0a9efdbb9e0b2500bf (patch) | |
tree | c58d1d05b18a82814e15cce73cdae8428698b4d7 /openmp/runtime/src/z_Linux_util.c | |
parent | 368b70ef9586b901082eb002e3b39e625872aa7e (diff) | |
download | bcm5719-llvm-edc370e53d5aaefd7371dd0a9efdbb9e0b2500bf.tar.gz bcm5719-llvm-edc370e53d5aaefd7371dd0a9efdbb9e0b2500bf.zip |
D11301: Remove the __kmp_invoke_microtask() that relies on libffi
llvm-svn: 244031
Diffstat (limited to 'openmp/runtime/src/z_Linux_util.c')
-rw-r--r-- | openmp/runtime/src/z_Linux_util.c | 56 |
1 files changed, 1 insertions, 55 deletions
diff --git a/openmp/runtime/src/z_Linux_util.c b/openmp/runtime/src/z_Linux_util.c index 133a5fe8007..41e6273796b 100644 --- a/openmp/runtime/src/z_Linux_util.c +++ b/openmp/runtime/src/z_Linux_util.c @@ -60,12 +60,6 @@ #include <ctype.h> #include <fcntl.h> -// For non-x86 architecture -#if KMP_COMPILER_GCC && !(KMP_ARCH_X86 || KMP_ARCH_X86_64 || KMP_ARCH_PPC64 || KMP_ARCH_AARCH64) -# include <stdbool.h> -# include <ffi.h> -#endif - /* ------------------------------------------------------------------------ */ /* ------------------------------------------------------------------------ */ @@ -2620,55 +2614,7 @@ __kmp_get_load_balance( int max ) #endif // USE_LOAD_BALANCE - -#if KMP_COMPILER_GCC && !(KMP_ARCH_X86 || KMP_ARCH_X86_64 || KMP_ARCH_PPC64 || KMP_ARCH_AARCH64) - -int __kmp_invoke_microtask( microtask_t pkfn, int gtid, int tid, int argc, - void *p_argv[] -#if OMPT_SUPPORT - , void **exit_frame_ptr -#endif -) -{ - int argc_full = argc + 2; - int i; - ffi_cif cif; - ffi_type *types[argc_full]; - void *args[argc_full]; - void *idp[2]; - -#if OMPT_SUPPORT - *exit_frame_ptr = __builtin_frame_address(0); -#endif - /* We're only passing pointers to the target. */ - for (i = 0; i < argc_full; i++) - types[i] = &ffi_type_pointer; - - /* Ugly double-indirection, but that's how it goes... */ - idp[0] = >id; - idp[1] = &tid; - args[0] = &idp[0]; - args[1] = &idp[1]; - - for (i = 0; i < argc; i++) - args[2 + i] = &p_argv[i]; - - if (ffi_prep_cif(&cif, FFI_DEFAULT_ABI, argc_full, - &ffi_type_void, types) != FFI_OK) - abort(); - - ffi_call(&cif, (void (*)(void))pkfn, NULL, args); - -#if OMPT_SUPPORT - *exit_frame_ptr = 0; -#endif - - return 1; -} - -#endif // KMP_COMPILER_GCC && !(KMP_ARCH_X86 || KMP_ARCH_X86_64 || KMP_ARCH_PPC64) - -#if KMP_ARCH_PPC64 || KMP_ARCH_AARCH64 +#if !(KMP_ARCH_X86 || KMP_ARCH_X86_64 || KMP_MIC) // we really only need the case with 1 argument, because CLANG always build // a struct of pointers to shared variables referenced in the outlined function |