Details
Diff Detail
- Repository
- rL LLVM
Event Timeline
LGTM w/ inline comments
lib/Transforms/Instrumentation/MemorySanitizer.cpp | ||
---|---|---|
437 ↗ | (On Diff #18773) | Please reuse VAArgSizeTLS instead of creating a new member variable, with a comment somewhere in VarArgHelper that it is used to pass the full argument size (effectively, all arguments on MIPS64 go to the overflow area in terms of X86_64). It's confusing, unless you want to rename __msan_va_arg_overflow_size_tls as well. |
2979 ↗ | (On Diff #18773) | Above, we use the following to check for MIPS64: case Triple::mips64: case Triple::mips64el: Do you need to check for Triple::mips64 here as well? |
Changes in this revision:
- removed VAArgSizeTLS
- adding support for mips64 EB (big endian)
@eugenis any comment/suggestion on this? This will provide provide msan for VarArgs on mips64/mips64el.
Sorry for the delay, I've been travelling for the last 2 weeks.
lib/Transforms/Instrumentation/MemorySanitizer.cpp | ||
---|---|---|
2889 ↗ | (On Diff #19220) | Should it be += (8 - ArgSize) ? |
lib/Transforms/Instrumentation/MemorySanitizer.cpp | ||
---|---|---|
2889 ↗ | (On Diff #19220) | For variable args, types char and short int are automatically promoted to int, so anything less than size 8 is of size 4. |
lib/Transforms/Instrumentation/MemorySanitizer.cpp | ||
---|---|---|
2889 ↗ | (On Diff #19220) | If you want to rely on that, then please add a CHECK that ArgSize == 4. |
Changes in this revision:
- as per @eugenis suggestion changed += ArgSize to += (8 - ArgSize)
lib/Transforms/Instrumentation/MemorySanitizer.cpp | ||
---|---|---|
2889 ↗ | (On Diff #19220) | Going ahead with += (8 - ArgSize) in next revision, as it matches the context, and I don't want another CHECK. |
Looks good.
lib/Transforms/Instrumentation/MemorySanitizer.cpp | ||
---|---|---|
2889 ↗ | (On Diff #19220) | Yes, I think it's less confusing. |