summaryrefslogtreecommitdiff
path: root/clang/test/CodeGen/tbaa-reference.cpp
AgeCommit message (Collapse)Author
2024-12-04[Clang] Enable -fpointer-tbaa by default. (#117244)Florian Hahn
Support for more precise TBAA metadata has been added a while ago (behind the -fpointer-tbaa flag). The more precise TBAA metadata allows treating accesses of different pointer types as no-alias. This helps to remove more redundant loads and stores in a number of workloads. Some highlights on the impact across llvm-test-suite's MultiSource, SPEC2006 & SPEC2017 include: * +2% more NoAlias results for memory accesses * +3% more stores removed by DSE, * +4% more loops vectorized. This closes a relatively big gap to GCC, which has been supporting disambiguating based on pointer types for a long time. (https://clang.godbolt.org/z/K7Wbhrz4q) Pointer-TBAA support for pointers to builtin types has been added in https://github.com/llvm/llvm-project/pull/76612. Support for user-defined types has been added in https://github.com/llvm/llvm-project/pull/110569. There are 2 recent PRs with bug fixes for special cases uncovered during testing: * https://github.com/llvm/llvm-project/pull/116991 * https://github.com/llvm/llvm-project/pull/116596 PR: https://github.com/llvm/llvm-project/pull/117244
2024-10-22[TBAA] Extend pointer TBAA to pointers of non-builtin types. (#110569)Florian Hahn
Extend the logic added in 123c036bd361d (https://github.com/llvm/llvm-project/pull/76612) to support pointers to non-builtin types by using the mangled name of the canonical type. PR: https://github.com/llvm/llvm-project/pull/110569
2024-09-30[TBAA] Add tests with pointers to structs to tbaa-pointers.c.Florian Hahn
Precommit tests for follow-up improvements to Clang's TBAA emission. Also add variants with -pointer-tbaa to tbaa-reference.cpp.
2022-10-07[CodeGen] Convert tests to opaque pointers (NFC)Nikita Popov
Conversion performed using the script at: https://gist.github.com/nikic/98357b71fd67756b0f064c9517b62a34 These are only tests where no manual fixup was required.
2022-04-07[OpaquePtrs][Clang] Add -no-opaque-pointers to tests (NFC)Nikita Popov
This adds -no-opaque-pointers to clang tests whose output will change when opaque pointers are enabled by default. This is intended to be part of the migration approach described in https://discourse.llvm.org/t/enabling-opaque-pointers-by-default/61322/9. The patch has been produced by replacing %clang_cc1 with %clang_cc1 -no-opaque-pointers for tests that fail with opaque pointers enabled. Worth noting that this doesn't cover all tests, there's a remaining ~40 tests not using %clang_cc1 that will need a followup change. Differential Revision: https://reviews.llvm.org/D123115
2018-05-01Update existed CodeGen TBAA testsDanil Malyshev
Reviewers: hfinkel, kosarev, rjmccall Reviewed By: rjmccall Differential Revision: https://reviews.llvm.org/D44616 llvm-svn: 331292
2017-10-30[CodeGen] Generate TBAA info for reference loadsIvan A. Kosarev
Differential Revision: https://reviews.llvm.org/D39177 llvm-svn: 316896
2017-09-26Fix TBAA information for reference accessesIvan A. Kosarev
This patch fixes clang to decorate reference accesses as pointers and not as "omnipotent chars". Differential Revision: https://reviews.llvm.org/D38074 llvm-svn: 314209