[all-commits] [llvm/llvm-project] aafdc9: [Attributor] Make isImpliedByIR and hasAssumedIRAt...
Johannes Doerfert via All-commits
all-commits at lists.llvm.org
Mon Jul 3 16:08:29 PDT 2023
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: aafdc9ea264490d42c9a85422a8ffca652959291
https://github.com/llvm/llvm-project/commit/aafdc9ea264490d42c9a85422a8ffca652959291
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/Transforms/IPO/Attributor.cpp
M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
Log Message:
-----------
[Attributor] Make isImpliedByIR and hasAssumedIRAttr more useful
Checking more than one attribute kind was never done and we want to
later check the IR w/o creating an AA as fallback.
Commit: 369930bc20ec247775646d73d493416774d1944e
https://github.com/llvm/llvm-project/commit/369930bc20ec247775646d73d493416774d1944e
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/test/Transforms/Attributor/ArgumentPromotion/2008-02-01-ReturnAttrs.ll
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/X86/thiscall.ll
M llvm/test/Transforms/Attributor/ArgumentPromotion/aggregate-promote.ll
M llvm/test/Transforms/Attributor/ArgumentPromotion/alignment.ll
M llvm/test/Transforms/Attributor/ArgumentPromotion/attrs.ll
M llvm/test/Transforms/Attributor/ArgumentPromotion/basictest.ll
M llvm/test/Transforms/Attributor/ArgumentPromotion/byval-2.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/inalloca.ll
M llvm/test/Transforms/Attributor/ArgumentPromotion/live_called_from_dead.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/ArgumentPromotion/pr32917.ll
M llvm/test/Transforms/Attributor/ArgumentPromotion/pr33641_remove_arg_dbgvalue.ll
M llvm/test/Transforms/Attributor/ArgumentPromotion/reserve-tbaa.ll
M llvm/test/Transforms/Attributor/ArgumentPromotion/sret.ll
M llvm/test/Transforms/Attributor/IPConstantProp/PR16052.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/arg-type-mismatch.ll
M llvm/test/Transforms/Attributor/IPConstantProp/musttail-call.ll
M llvm/test/Transforms/Attributor/IPConstantProp/remove-call-inst.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/IPConstantProp/solve-after-each-resolving-undefs-for-function.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/convergent.ll
M llvm/test/Transforms/Attributor/dereferenceable-1.ll
M llvm/test/Transforms/Attributor/internal-noalias.ll
M llvm/test/Transforms/Attributor/liveness.ll
M llvm/test/Transforms/Attributor/memory_locations.ll
M llvm/test/Transforms/Attributor/misc.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/nodelete.ll
M llvm/test/Transforms/Attributor/nofpclass-arithmetic-fence.ll
M llvm/test/Transforms/Attributor/nofpclass-canonicalize.ll
M llvm/test/Transforms/Attributor/nofpclass-ceil.ll
M llvm/test/Transforms/Attributor/nofpclass-copysign.ll
M llvm/test/Transforms/Attributor/nofpclass-exp.ll
M llvm/test/Transforms/Attributor/nofpclass-floor.ll
M llvm/test/Transforms/Attributor/nofpclass-fma.ll
M llvm/test/Transforms/Attributor/nofpclass-fptrunc.ll
M llvm/test/Transforms/Attributor/nofpclass-ldexp.ll
M llvm/test/Transforms/Attributor/nofpclass-log.ll
M llvm/test/Transforms/Attributor/nofpclass-minimum-maximum.ll
M llvm/test/Transforms/Attributor/nofpclass-minnum-maxnum.ll
M llvm/test/Transforms/Attributor/nofpclass-nearbyint.ll
M llvm/test/Transforms/Attributor/nofpclass-powi.ll
M llvm/test/Transforms/Attributor/nofpclass-rint.ll
M llvm/test/Transforms/Attributor/nofpclass-round.ll
M llvm/test/Transforms/Attributor/nofpclass-roundeven.ll
M llvm/test/Transforms/Attributor/nofpclass-sin-cos.ll
M llvm/test/Transforms/Attributor/nofpclass-sqrt.ll
M llvm/test/Transforms/Attributor/nofpclass-trunc.ll
M llvm/test/Transforms/Attributor/nofpclass.ll
M llvm/test/Transforms/Attributor/nofree.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/read_write_returned_arguments_scc.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.ll
M llvm/test/Transforms/Attributor/willreturn.ll
Log Message:
-----------
[Attributor] Manifest attributes implied by the IR
If an attribute is implied by the IR we do not (always) create an AA
anymore. To keep test coverage, and given the lack of a good heuristic
to decide otherwise, we will now also manifest such attributes.
Compare: https://github.com/llvm/llvm-project/compare/1a715d9b33a1...369930bc20ec
More information about the All-commits
mailing list