[Attributor] Teach AAPointerInfo to look into aggregates
authorJohannes Doerfert <johannes@jdoerfert.de>
Wed, 31 Aug 2022 19:13:42 +0000 (12:13 -0700)
committerJohannes Doerfert <johannes@jdoerfert.de>
Mon, 12 Sep 2022 03:16:11 +0000 (20:16 -0700)
commit4ed0a88cd8a77370073feb270d77a9e8b27bd68c
treef440b415e8f6587753e845fa36e9ae0f1963c18d
parentb046ebdc01913668361009b2fc259302d2329f29
[Attributor] Teach AAPointerInfo to look into aggregates

If we have a constant aggregate, e.g., as an initializer, we usually
failed to extract the proper value/type from it. This patch provides the
size and offset information necessary to extract the right part of the
constant.
llvm/include/llvm/Transforms/IPO/Attributor.h
llvm/lib/Target/AMDGPU/AMDGPUAttributor.cpp
llvm/lib/Transforms/IPO/Attributor.cpp
llvm/lib/Transforms/IPO/AttributorAttributes.cpp
llvm/test/Transforms/Attributor/ArgumentPromotion/aggregate-promote.ll
llvm/test/Transforms/Attributor/ArgumentPromotion/fp80.ll
llvm/test/Transforms/Attributor/IPConstantProp/openmp_parallel_for.ll
llvm/test/Transforms/Attributor/value-simplify-pointer-info-struct.ll [new file with mode: 0644]
llvm/test/Transforms/OpenMP/remove_globalization.ll