Basic Alias Analysis in LLVM currently has a special case for allocation functions (including operator new) that essentially assumes that they are inaccessiblememonly. Operator new is not currently annotated with inaccessiblememonly because that is not technically correct (especially considering global replacement functions). This patch allows that case to be removed (D117180) allowing operator new to be correct when needed without causing the significant regression that we found when removing the special case).
Diff Detail
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
clang/lib/CodeGen/CGCall.cpp | ||
---|---|---|
2071 | This should be Attribute::InacccessibleMemOnly. It's not a string attribute. |
Comment Actions
- Use proper attribute
clang/lib/CodeGen/CGCall.cpp | ||
---|---|---|
2071 | Thanks, I tried to look for a list but I didn't have any luck (and my IDE was having trouble loading the CMake project so I couldn't jump to definition on another attribute). |
This should be Attribute::InacccessibleMemOnly. It's not a string attribute.