Is there a way to avoid adding many is_device_ptr clauses every time program enters the target region? I like the llvm_target_alloc_shared API can handle internally the device pointer and make it accessible from the target region as well.