This is an archive of the discontinued LLVM Phabricator instance.

[analyzer] RegionStore: Add some debug dumps on interesting events
AcceptedPublic

Authored by Charusso on Jun 3 2020, 1:56 AM.

Details

Reviewers
NoQ
Summary

-

Diff Detail

Event Timeline

Charusso created this revision.Jun 3 2020, 1:56 AM

Story: I was looking at the va_list test files and I was very curious why I cannot catch its binding as a struct. So I have checked out an implementation:

typedef struct {
   unsigned int gp_offset;
   unsigned int fp_offset;
   void *overflow_arg_area;
   void *reg_save_area;
} va_list[1];

The answer was: bindArray(). I believe it is convenient to see immediately what we model.

NoQ accepted this revision.Jun 3 2020, 4:34 AM

I think this is actually mildly useful; will save like 10 minutes stepping in the debugger every time the problem turns out to be in RegionStore.

This revision is now accepted and ready to land.Jun 3 2020, 4:34 AM