[llvm-dev] Using TBAA type descriptor's name as hints for optimizations

Juneyoung Lee via llvm-dev
Fri, 23 Apr 2021 18:03:46 -0000

Hello all,

There was a discussion (https://reviews.llvm.org/D100717) about whether
using TBAA type descriptor metadata's type name as hints for optimizations
is okay.

The patch is using the type name to determine whether converting memcpy to
load/store of integer is beneficial or not.
If the memcpy was copying a struct containing a pointer member, this
becomes the source of a lot of inttoptr casts because the later store
forwarding needs them.
The introduced inttoptr casts are later removed by cast elimination
(`inttoptr(ptrtoint p) -> p`), but there are issues (e.g.
http://llvm.org/pr34548) which is deeply related with its validity.

A suggested clarification to LangRef is made at
https://reviews.llvm.org/D101185 as well -
feel free to leave comments here and there.

Thanks,
Juneyoung
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
<http://lists.llvm.org/pipermail/llvm-dev/attachments/20210424/6f355ab0/attachment.html>