-
Notifications
You must be signed in to change notification settings - Fork 37
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
Get Anvill building with LLVM 15 #330
Conversation
Ok, the only remaining problem here is that the IR under @pgoodman Do you know where these IR files came from? |
@tetsuo-cpp I think someone uses anvill to make them in the past, then just uploaded those files raw :-/ |
Yeah they're definitely generated by Anvill. But I was hoping that the executable sources (that got built with Clang and then lifted back to IR with Anvill) would exist somewhere. Looks like maybe I'll just have to eyeball the IR to figure out what it's testing and see if I can replace them. I'll probably check in the new sources this time so we don't have the same problem again. |
3f00eb5
to
d2d0557
Compare
@2over12 pointed out that I can regenerate the $ opt --opaque-pointers ./anvill_passes/data/BaseFunctionPass.ll -S -o Test.ll So I've gone ahead and done that. Unit tests seem to be passing so I think this is good to go. |
The main change that might be unexpected here is the removal of the ConvertIntegerToPointerOperations pass.
We have an open issue (#303) to convert that pass to use opaque pointers and remove calls to
PointerType::getElementType
. With the introduction of LLVM 15, these calls have been removed entirely (they were deprecated in LLVM 14). So this pass no longer compiles.Instead of fiddling around with the preprocessor to only compile this pass with LLVM 14, I figured it'd be best to just remove it since it's not even being added to the pass manager right now.