summaryrefslogtreecommitdiff
path: root/clang/test/CodeGen/tbaa-array.cpp
AgeCommit message (Collapse)Author
2025-06-05[CodeGen] Add TBAA struct path info for array members (#137719)Bruno De Fraine
This enables the LLVM optimizer to view accesses to distinct struct members as independent, also for array members. For example, the following two stores no longer alias: struct S { int a[10]; int b; }; void test(S *p, int i) { p->a[i] = ...; p->b = ...; } Array members were already added to TBAA struct type nodes in commit 57493e29. Here, we extend a path tag for an array subscript expression.
2017-12-22[CodeGen] Represent array members in new-format TBAA type descriptorsIvan A. Kosarev
Now that in the new TBAA format we allow access types to be of any object types, including aggregate ones, it becomes critical to specify types of all sub-objects such aggregates comprise as their members. In order to meet this requirement, this patch enables generation of field descriptors for members of array types. Differential Revision: https://reviews.llvm.org/D41399 llvm-svn: 321352
2017-10-20[CodeGen] Fix generation of TBAA info for array-to-pointer conversionsIvan A. Kosarev
Resolves: Fatal error: Offset not zero at the point of scalar access. http://llvm.org/PR34992 Differential Revision: https://reviews.llvm.org/D39083 llvm-svn: 316211