Experiment with the ipo effects on LLVM#47844
Experiment with the ipo effects on LLVM#47844gbaraldi wants to merge 10 commits intoJuliaLang:masterfrom
Conversation
deca8d3 to
a9aedb3
Compare
|
LLVM didn't really like speculatable coming there, I will need to think this a bit more through. |
a9aedb3 to
e1383f3
Compare
| #if JL_LLVM_VERSION >= 140000 | ||
| AttrBuilder attr(C); | ||
| #else | ||
| AttrBuilder attr; |
There was a problem hiding this comment.
Perhaps we could prefix all of the custom string attributes with julia. to avoid any namespace collisions
There was a problem hiding this comment.
Yeah, they are there mostly for debugging, we probably want a smarter way to encode this
| attr.addAttribute("nothrow"); | ||
| attr.addAttribute(Attribute::NoUnwind); // Is this even correct, because nothrow allows for try/catch | ||
| } | ||
| if (terminates == 1){ |
There was a problem hiding this comment.
Add mustprogress here too?
There was a problem hiding this comment.
willreturn already implies mustprogress but I guess it's fine adding both
| if (nonoverlayed == 1) | ||
| attr.addAttribute("nonoverlayed"); |
There was a problem hiding this comment.
Well do you have some idea to use this attribute? It's very Julia-compiler specific attribute.
There was a problem hiding this comment.
Not really, I just wanted to see if I was getting all the effects correctly at the LLVM level, those string like attributes were just for debugging.
2a4f204 to
eb13558
Compare
eb13558 to
4b80689
Compare
I'm not sure about the correctness of this. Basically playing with it and asking for help.
This is very similar to what #32368 wanted to do