These two math library functions can't write to errno, but they do
produce two results and store the second result to a pointer passed as
their second argument. Appropriately marking them as
memory(argmem: write) enables more optimizations on calls to them.
Details
Details
Diff Detail
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
Comment Actions
I don't have commit access; @xbolva00, can you merge this for me? Please use Daniel Woodworth <daniel.woodworth@intel.com> as my name/email address
Comment Actions
It's been a week, so it's time for a review ping.
@xbolva00, does this change needs more approvals? Should I nominate someone else to merge it?
llvm/lib/Transforms/Utils/BuildLibCalls.cpp | ||
---|---|---|
481–482 | this is not true with sanitizers, interceptors may check metadata Maybe we can add TargetLibraryInfo::hasSanitizer() and use it here |
llvm/lib/Transforms/Utils/BuildLibCalls.cpp | ||
---|---|---|
481–482 | If this is actually an issue, it would impact every libcall we mark with memory attributes; please move the discussion elsewhere (maybe a Discourse thread). |
this is not true with sanitizers, interceptors may check metadata
Maybe we can add TargetLibraryInfo::hasSanitizer() and use it here