[Remarks] Emit variable info in auto-init remarks
authorFrancis Visoiu Mistrih <francisvm@yahoo.com>
Mon, 1 Mar 2021 21:07:02 +0000 (13:07 -0800)
committerFrancis Visoiu Mistrih <francisvm@yahoo.com>
Thu, 4 Mar 2021 20:51:22 +0000 (12:51 -0800)
commit365b78396abf18a1d9be7962c0831ea61b3f4dc1
tree1d20b57be1ef879846dc3773f7632e473182544d
parentd7834556b7ad3bbfc03ed5dd8d875d1d73c674c2
[Remarks] Emit variable info in auto-init remarks

This enhances the auto-init remark with information about the variable
that is auto-initialized.

This is based of debug info if available, or alloca names (mostly for
development purposes).

```
auto-init.c:4:7: remark: Call to memset inserted by -ftrivial-auto-var-init. Memory operation size: 4096 bytes.Variables: var (4096 bytes). [-Rpass-missed=annotation-remarks]
  int var[1024];
      ^
```

This allows to see things like partial initialization of a variable that
the optimizer won't be able to completely remove.

Differential Revision: https://reviews.llvm.org/D97734
llvm/include/llvm/Transforms/Utils/AutoInitRemark.h
llvm/lib/Transforms/Utils/AutoInitRemark.cpp
llvm/test/Transforms/Util/trivial-auto-var-init-call.ll
llvm/test/Transforms/Util/trivial-auto-var-init-store.ll