This is an archive of the discontinued LLVM Phabricator instance.

[AddressSanitizer] Refactor: Permit >1 interesting operands per instruction
ClosedPublic

Authored by thejh on Apr 6 2020, 6:05 PM.

Details

Summary

Refactor getInterestingMemoryOperands() so that information about the
pointer operand is returned through an array of structures instead of
passing each piece of information separately by-value.

This is in preparation for returning information about multiple pointer
operands from a single instruction.

A side effect is that, instead of repeatedly generating the same
information through isInterestingMemoryAccess(), it is now simply collected
once and then passed around; that's probably more efficient.

HWAddressSanitizer has a bunch of copypasted code from AddressSanitizer,
so these changes have to be duplicated.

This is patch 3/4 of a patch series:
https://reviews.llvm.org/D77616 [PATCH 1/4] [AddressSanitizer] Refactor ClDebug{Min,Max} handling
https://reviews.llvm.org/D77617 [PATCH 2/4] [AddressSanitizer] Split out memory intrinsic handling
https://reviews.llvm.org/D77618 [PATCH 3/4] [AddressSanitizer] Refactor: Permit >1 interesting operands per instruction
https://reviews.llvm.org/D77619 [PATCH 4/4] [AddressSanitizer] Instrument byval call arguments

Diff Detail

Event Timeline

thejh created this revision.Apr 6 2020, 6:05 PM
thejh edited the summary of this revision. (Show Details)Apr 6 2020, 6:13 PM
thejh added reviewers: kcc, glider.
thejh updated this revision to Diff 257387.Apr 14 2020, 9:49 AM

fix clang-format warnings

thejh updated this revision to Diff 257438.Apr 14 2020, 12:03 PM

move one declaration from patch 3 to patch 2

glider accepted this revision.Apr 16 2020, 6:47 AM
This revision is now accepted and ready to land.Apr 16 2020, 6:47 AM
thejh updated this revision to Diff 259927.Apr 24 2020, 10:36 AM

rebase to make harbormaster happy

thejh updated this revision to Diff 260222.Apr 26 2020, 11:59 PM

resend patch to trigger new build

thejh updated this revision to Diff 261151.Apr 30 2020, 2:01 AM
glider updated this revision to Diff 261229.Apr 30 2020, 7:44 AM

fix what I broke

This revision was automatically updated to reflect the committed changes.