This is an archive of the discontinued LLVM Phabricator instance.

Rollback assumeAligned in MemorySanitizer
ClosedPublic

Authored by gchatelet on Dec 11 2019, 2:06 AM.

Details

Summary

Rollback of parts of D71213. After digging more into the code I think we should leave 0 when creating the instructions (CreateMemcpy, CreateMaskedStore, CreateMaskedLoad). It's probably fine for MemorySanitizer because Alignement is resolved but I'm having a hard time convincing myself it has no impact at all (although tests are passing).

Diff Detail

Event Timeline

gchatelet created this revision.Dec 11 2019, 2:06 AM
Herald added a project: Restricted Project. · View Herald TranscriptDec 11 2019, 2:06 AM
courbet accepted this revision.Dec 11 2019, 2:15 AM
courbet added inline comments.
llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
2925–2926

getValueOr(0) ? Here and below.

This revision is now accepted and ready to land.Dec 11 2019, 2:15 AM
gchatelet marked 2 inline comments as done.Dec 11 2019, 3:34 AM

Thx

llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
2925–2926

Unfortunately no, getValueOr() takes an Align which by definition can't be 0.
I'll clean this up in subsequent patches by modifying CreateMaskedStore

This revision was automatically updated to reflect the committed changes.
gchatelet marked an inline comment as done.