jhuber6 wrote:

@yxsamliu Here's the general problem, the `__hipRegisterManagedVar` call takes 
the following arguments.
```c
 __hipRegisterManagedVar(void ** handle, char *ManagedVarPtr, char *VarPtr, 
const char *VarName, size_t Size, unsigned Alignment)
```

But the struct that we store this information is (inherited from OpenMP) just 
the following:
```c
struct __tgt_offload_entry {                                                    
                                                                                
                                         
   void    *addr;        
   char    *name;                                                               
                                                            
   size_t  size;                                                                
                                                   
   int32_t flags;                                                               
                                                                                
                                               
   int32_t data;                  
};
```
I'd like to avoid modifying this struct to avoid breaking ABI with OpenMP. 
Perhaps I should make `addr` a pointer to a struct and just GEP the two values.

https://github.com/llvm/llvm-project/pull/123359
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to