[llvm-dev] RFC: Representing unions in TBAA

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


On 03/09/2017 12:58 PM, Flamedoge wrote:
> As far as my limited understanding goes, this should be a bugfix 
> (correctness) and it should trump backward compatibility requirement. 
> It makes no sense to me to continue backward compatible incorrectness.

The TBAA scheme is internally self-consistent and there are other 
(non-C/C++) frontends that are using it in a completely well-defined 
way. The bug, as such, is in the mapping between C/C++ and the TBAA 
metadata. That, indeed, we'll just change once we have something to 
target that can correctly represent the required semantics.

  -Hal

>
> Kevin
>
> On Thu, Mar 9, 2017 at 10:21 AM, Steven Perron via llvm-dev 
> <llvm-dev at lists.llvm.org <mailto:llvm-dev at lists.llvm.org>> 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?
>     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?
>     Later,
>     Steven Perron
>
>
>     _______________________________________________
>     LLVM Developers mailing list
>     llvm-dev at lists.llvm.org <mailto:llvm-dev at lists.llvm.org>
>     http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
>     <http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev>
>
>

-- 
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/b81286c7/attachment-0001.html>


More information about the llvm-dev mailing list