[llvm-dev] RFC: Representing unions in TBAA

Hal Finkel via llvm-dev llvm-dev at lists.llvm.org
Thu Mar 9 11:01:51 PST 2017


On 03/09/2017 12:21 PM, Steven Perron wrote:
> I could make something like Daniel's suggestion work.  The main 
> question I still have is how we tell the difference between the 
> "old-style" DAG and the "new-style" DAG?  I don't know if there is 
> some standard way of doing this.  Do we just base it on the version of 
> llvm-ir?

We don't generally use IR version like that. Either make the format 
incompatible so that you can tell them apart, or we'll add a separate 
tag type (!tbaa2 or whatever).

> Would there be a need to maintain different code for both type of 
> DAG?  If we change clang to generate the new-style DAG, things will be 
> fine for C/C++.  However, will this force other components that 
> generate llvm-ir to change?
> In general, what kind of backwards compatibility do we need to keep?

There are other frontends that generate TBAA, and there might not be a 
clear reason to make them change. The existing format is well defined, 
it just does not match C/C++ semantics well enough for our needs. On the 
other hand, if the new format subsumes the old one, we might just expect 
people to migrate. Let's make that decision separately. Assume for now 
that we'll have both at the same time and we'll change what Clang does.

  -Hal

> Later,
> Steven Perron
>

-- 
Hal Finkel
Lead, Compiler Technology and Programming Languages
Leadership Computing Facility
Argonne National Laboratory

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20170309/89ba00e7/attachment.html>


More information about the llvm-dev mailing list