[all-commits] [llvm/llvm-project] 8266d4: [Attributor] Improve AAUnderlyingObjects (#104835)
Johannes Doerfert via All-commits
all-commits at lists.llvm.org
Tue Aug 20 12:05:42 PDT 2024
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 8266d47cd18eaf8755fba2a496c799c931f3bf6c
https://github.com/llvm/llvm-project/commit/8266d47cd18eaf8755fba2a496c799c931f3bf6c
Author: Johannes Doerfert <johannes at jdoerfert.de>
Date: 2024-08-20 (Tue, 20 Aug 2024)
Changed paths:
M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
M llvm/test/Transforms/Attributor/call-simplify-pointer-info.ll
M llvm/test/Transforms/Attributor/multiple-offsets-pointer-info.ll
M llvm/test/Transforms/Attributor/value-simplify-pointer-info.ll
Log Message:
-----------
[Attributor] Improve AAUnderlyingObjects (#104835)
- Allocas and GlobalValues cannot be simplified, so we should not try.
- If we never used any assumed state, the AAUnderlyingObjects doesn't
require an additional update.
- If we have seen an object (or it's underlying object) before, we do
not need to inspect it anymore.
The original logic for "SeenObjects" was flawed and caused us to add
intermediate values to the underlying object list if a PHI or select
instruction referenced the same underlying object twice. The test
changes are all instances of this situation and we now correctly derive
`memory(none)` for the functions that only access stack memory.
---------
Co-authored-by: Shilei Tian <i at tianshilei.me>
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list