Details
Diff Detail
Event Timeline
LGTM w/ inline comments
lib/Transforms/Instrumentation/MemorySanitizer.cpp | ||
---|---|---|
434 | 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. | |
2983 | 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 | ||
---|---|---|
2888 | Should it be += (8 - ArgSize) ? |
lib/Transforms/Instrumentation/MemorySanitizer.cpp | ||
---|---|---|
2888 | 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 | ||
---|---|---|
2888 | 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 | ||
---|---|---|
2888 | 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 | ||
---|---|---|
2888 | Yes, I think it's less confusing. |
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.