Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Typed pointers support will be dropped in LLVM 17 #6053

Open
gerekon opened this issue Feb 1, 2023 · 1 comment
Open

Typed pointers support will be dropped in LLVM 17 #6053

gerekon opened this issue Feb 1, 2023 · 1 comment

Comments

@gerekon
Copy link

gerekon commented Feb 1, 2023

Hi guys,

In Espressif we are trying to use GLOW for our chips. During porting our LLVM fork to support glow we faced a problem. There are a lot of uses of getPointerElementType in your code base what conflicts with LLVM opaque pointers mode feature. Staring from LLVM 15 that mode is the default, so we had to disable it in our Glow port manually. But starting form LLVM 16 Typed pointers are supported on a best-effort basis only and not tested and in LLVM 17 Typed pointers are not supported..

So my question is do you have any plans to update you code base according to opaque pointers migration rules because LLVM 17 will become incompatible with it?

@gerekon gerekon changed the title Opaque pointers mode is default starting from LLVM 15 Typed pointers support will be dropped in LLVM 17 Feb 1, 2023
@opti-mix
Copy link
Contributor

opti-mix commented Feb 2, 2023

@gerekon This is a very good question. Ideally, we should make the effort to make the code base compatible with opaque pointers. Many uses are easy to fix. But there are some cases, where the code e.g. iterates over the function arguments and their types and then if a type of an argument is a pointer type we need to do something. E.g. in LLVMIRGen::getDebugType. We'd need to see how to handle such complex cases.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants