[all-commits] [llvm/llvm-project] b672c6: [Attributor][NFCI] Merge MemoryEffects explicitly
Johannes Doerfert via All-commits
all-commits at lists.llvm.org
Mon Jul 3 11:57:54 PDT 2023
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: b672c602c71ae2275644c47ebd9033ff86488b74
https://github.com/llvm/llvm-project/commit/b672c602c71ae2275644c47ebd9033ff86488b74
Author: Johannes Doerfert <johannes at jdoerfert.de>
Date: 2023-07-03 (Mon, 03 Jul 2023)
Changed paths:
M llvm/lib/Transforms/IPO/Attributor.cpp
M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
M llvm/test/Transforms/Attributor/ArgumentPromotion/2008-07-02-array-indexing.ll
M llvm/test/Transforms/Attributor/ArgumentPromotion/X86/attributes.ll
M llvm/test/Transforms/Attributor/ArgumentPromotion/X86/min-legal-vector-width.ll
M llvm/test/Transforms/Attributor/ArgumentPromotion/byval.ll
M llvm/test/Transforms/Attributor/ArgumentPromotion/chained.ll
M llvm/test/Transforms/Attributor/ArgumentPromotion/control-flow.ll
M llvm/test/Transforms/Attributor/ArgumentPromotion/control-flow2.ll
M llvm/test/Transforms/Attributor/ArgumentPromotion/crash.ll
M llvm/test/Transforms/Attributor/ArgumentPromotion/inalloca.ll
M llvm/test/Transforms/Attributor/ArgumentPromotion/live_called_from_dead_2.ll
M llvm/test/Transforms/Attributor/ArgumentPromotion/musttail.ll
M llvm/test/Transforms/Attributor/IPConstantProp/2009-09-24-byval-ptr.ll
M llvm/test/Transforms/Attributor/IPConstantProp/PR26044.ll
M llvm/test/Transforms/Attributor/IPConstantProp/arg-count-mismatch.ll
M llvm/test/Transforms/Attributor/IPConstantProp/return-argument.ll
M llvm/test/Transforms/Attributor/IPConstantProp/return-constant.ll
M llvm/test/Transforms/Attributor/IPConstantProp/return-constants.ll
M llvm/test/Transforms/Attributor/align.ll
M llvm/test/Transforms/Attributor/call-simplify-pointer-info.ll
M llvm/test/Transforms/Attributor/cb_liveness_disabled.ll
M llvm/test/Transforms/Attributor/cb_liveness_enabled.ll
M llvm/test/Transforms/Attributor/cb_range_disabled.ll
M llvm/test/Transforms/Attributor/cb_range_enabled.ll
M llvm/test/Transforms/Attributor/dereferenceable-1.ll
M llvm/test/Transforms/Attributor/internal-noalias.ll
M llvm/test/Transforms/Attributor/internalize.ll
M llvm/test/Transforms/Attributor/liveness_chains.ll
M llvm/test/Transforms/Attributor/memory_locations.ll
M llvm/test/Transforms/Attributor/misc.ll
M llvm/test/Transforms/Attributor/misc_crash.ll
M llvm/test/Transforms/Attributor/noalias.ll
M llvm/test/Transforms/Attributor/nocapture-1.ll
M llvm/test/Transforms/Attributor/nocapture-2.ll
M llvm/test/Transforms/Attributor/nofpclass.ll
M llvm/test/Transforms/Attributor/nonnull.ll
M llvm/test/Transforms/Attributor/norecurse.ll
M llvm/test/Transforms/Attributor/nosync.ll
M llvm/test/Transforms/Attributor/pointer-info.ll
M llvm/test/Transforms/Attributor/potential.ll
M llvm/test/Transforms/Attributor/range.ll
M llvm/test/Transforms/Attributor/readattrs.ll
M llvm/test/Transforms/Attributor/returned.ll
M llvm/test/Transforms/Attributor/undefined_behavior.ll
M llvm/test/Transforms/Attributor/value-simplify-assume.ll
M llvm/test/Transforms/Attributor/value-simplify-gpu.ll
M llvm/test/Transforms/Attributor/value-simplify-instances.ll
M llvm/test/Transforms/Attributor/value-simplify-local-remote.ll
M llvm/test/Transforms/Attributor/value-simplify-pointer-info.ll
M llvm/test/Transforms/Attributor/value-simplify-reachability.ll
M llvm/test/Transforms/Attributor/value-simplify.ll
M llvm/test/Transforms/Attributor/willreturn.ll
M llvm/test/Transforms/OpenMP/parallel_deletion.ll
M llvm/test/Transforms/OpenMP/remove_globalization.ll
M llvm/test/Transforms/OpenMP/replace_globalization.ll
M llvm/test/Transforms/OpenMP/spmdization_guarding_two_reaching_kernels.ll
M llvm/test/Transforms/OpenMP/spmdization_no_guarding_two_reaching_kernels.ll
Log Message:
-----------
[Attributor][NFCI] Merge MemoryEffects explicitly
We had some custom handling for existing MemoryEffects but we now move
it to the place we check other existing attributes before we manifest
new ones. If we later decide to curb duplication (of attributes on the
call site and callee), we can do that at a single location and for all
attributes.
The test changes basically add known `memory` callee information to the
call sites.
Commit: 77dbd1d712729e275bb2dca586cdfbedfc063713
https://github.com/llvm/llvm-project/commit/77dbd1d712729e275bb2dca586cdfbedfc063713
Author: Johannes Doerfert <johannes at jdoerfert.de>
Date: 2023-07-03 (Mon, 03 Jul 2023)
Changed paths:
M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
M llvm/test/Transforms/Attributor/assumes_info.ll
M llvm/test/Transforms/OpenMP/remove_globalization.ll
M llvm/test/Transforms/OpenMP/replace_globalization.ll
M llvm/test/Transforms/OpenMP/spmdization_guarding.ll
M llvm/test/Transforms/OpenMP/value-simplify-openmp-opt.ll
Log Message:
-----------
[Attributor][NFCI] Manifest assumption attributes explicitly
We had some custom manifest for assumption attributes but we use the
generic manifest logic. If we later decide to curb duplication (of
attributes on the call site and callee), we can do that at a single
location and for all attributes.
The test changes basically add known `llvm.assume` callee information to
the call sites.
Commit: f086f383d882dc56d485470efdc306784f6e8ed9
https://github.com/llvm/llvm-project/commit/f086f383d882dc56d485470efdc306784f6e8ed9
Author: Johannes Doerfert <johannes at jdoerfert.de>
Date: 2023-07-03 (Mon, 03 Jul 2023)
Changed paths:
M llvm/include/llvm/Transforms/IPO/Attributor.h
M llvm/lib/Target/AMDGPU/AMDGPUAttributor.cpp
M llvm/lib/Transforms/IPO/Attributor.cpp
M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
Log Message:
-----------
[Attributor][NFCI] Move attribute collection and manifest to Attributor
Before, we checked and manifested attributes right in the IR. This was
bad as we modified the IR before the manifest stage. Now we can
add/remove/inspect attributes w/o going to the IR (except for the
initial query).
Compare: https://github.com/llvm/llvm-project/compare/9987646057d9...f086f383d882
More information about the All-commits
mailing list