[all-commits] [llvm/llvm-project] 02a4fc: [Attributor] Port AANonNull to the isImpliedByIR i...
Johannes Doerfert via All-commits
all-commits at lists.llvm.org
Sun Jul 9 16:05:03 PDT 2023
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 02a4fcec6bb2d0eec645c039d17cf947269d5fa1
https://github.com/llvm/llvm-project/commit/02a4fcec6bb2d0eec645c039d17cf947269d5fa1
Author: Johannes Doerfert <johannes at jdoerfert.de>
Date: 2023-07-09 (Sun, 09 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
M llvm/lib/Transforms/IPO/OpenMPOpt.cpp
M llvm/test/Transforms/Attributor/ArgumentPromotion/attrs.ll
M llvm/test/Transforms/Attributor/ArgumentPromotion/byval-2.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/variadic.ll
M llvm/test/Transforms/Attributor/IPConstantProp/openmp_parallel_for.ll
M llvm/test/Transforms/Attributor/callbacks.ll
M llvm/test/Transforms/Attributor/callgraph.ll
M llvm/test/Transforms/Attributor/chain.ll
M llvm/test/Transforms/Attributor/depgraph.ll
M llvm/test/Transforms/Attributor/dereferenceable-1.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/nocapture-2.ll
M llvm/test/Transforms/Attributor/nofree.ll
M llvm/test/Transforms/Attributor/nonnull.ll
M llvm/test/Transforms/Attributor/noundef.ll
M llvm/test/Transforms/Attributor/openmp_parallel.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/value-simplify-instances.ll
M llvm/test/Transforms/Attributor/value-simplify-pointer-info-struct.ll
M llvm/test/Transforms/Attributor/value-simplify-pointer-info.ll
M llvm/test/Transforms/Attributor/value-simplify.ll
M llvm/test/Transforms/OpenMP/parallel_deletion.ll
M llvm/test/Transforms/OpenMP/parallel_region_merging.ll
M llvm/test/Transforms/OpenMP/value-simplify-openmp-opt.ll
Log Message:
-----------
[Attributor] Port AANonNull to the isImpliedByIR interface
AANonNull is now the first AA that is always queried via the new APIs
and not created manually. Others will follow shortly to avoid trivial
AAs whenever possible.
This commit introduced some helper logic that will make it simpler to
port the next one. It also untangles AADereferenceable and AANonNull
such that the former does not keep a handle on the latter. Finally,
we stop deducing `nonnull` for `undef`, which was incorrect.
Commit: aae749b275b3d568e9a8793b55fc953bcc90629b
https://github.com/llvm/llvm-project/commit/aae749b275b3d568e9a8793b55fc953bcc90629b
Author: Johannes Doerfert <johannes at jdoerfert.de>
Date: 2023-07-09 (Sun, 09 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
M llvm/test/Transforms/Attributor/ArgumentPromotion/variadic.ll
M llvm/test/Transforms/Attributor/IPConstantProp/pthreads.ll
M llvm/test/Transforms/Attributor/callbacks.ll
M llvm/test/Transforms/Attributor/convergent.ll
M llvm/test/Transforms/Attributor/memory_locations.ll
M llvm/test/Transforms/Attributor/noalias.ll
M llvm/test/Transforms/Attributor/nocapture-1.ll
M llvm/test/Transforms/Attributor/norecurse.ll
M llvm/test/Transforms/Attributor/nosync.ll
M llvm/test/Transforms/Attributor/noundef.ll
M llvm/test/Transforms/Attributor/readattrs.ll
M llvm/test/Transforms/Attributor/undefined_behavior.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
Log Message:
-----------
[Attributor] Port AANoAlias to the isImpliedByIR interface
As part of this we do not annotate literal `null` and `undef/poison` as
`noalias` anymore. This was not really needed anyway.
Commit: 59fd6105588179315706bf5c4f0dbe6684f6a183
https://github.com/llvm/llvm-project/commit/59fd6105588179315706bf5c4f0dbe6684f6a183
Author: Johannes Doerfert <johannes at jdoerfert.de>
Date: 2023-07-09 (Sun, 09 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
M llvm/test/Transforms/Attributor/ArgumentPromotion/2008-07-02-array-indexing.ll
M llvm/test/Transforms/Attributor/ArgumentPromotion/control-flow.ll
M llvm/test/Transforms/Attributor/ArgumentPromotion/dbg.ll
M llvm/test/Transforms/Attributor/ArgumentPromotion/inalloca.ll
M llvm/test/Transforms/Attributor/ArgumentPromotion/tail.ll
M llvm/test/Transforms/Attributor/IPConstantProp/arg-type-mismatch.ll
M llvm/test/Transforms/Attributor/IPConstantProp/openmp_parallel_for.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/thread_local_acs.ll
M llvm/test/Transforms/Attributor/align.ll
M llvm/test/Transforms/Attributor/allow_list.ll
M llvm/test/Transforms/Attributor/call-simplify-pointer-info.ll
M llvm/test/Transforms/Attributor/depgraph.ll
M llvm/test/Transforms/Attributor/dereferenceable-2-inseltpoison.ll
M llvm/test/Transforms/Attributor/dereferenceable-2.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/noalias.ll
M llvm/test/Transforms/Attributor/nocapture-1.ll
M llvm/test/Transforms/Attributor/nocapture-2.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/noundef.ll
M llvm/test/Transforms/Attributor/openmp_parallel.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/value-simplify-instances.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
Log Message:
-----------
[Attributor] Port AANoUndef to the isImpliedByIR interface
Commit: ebec3dd1bf516ada75f685e65cd344838f8ee4c5
https://github.com/llvm/llvm-project/commit/ebec3dd1bf516ada75f685e65cd344838f8ee4c5
Author: Johannes Doerfert <johannes at jdoerfert.de>
Date: 2023-07-09 (Sun, 09 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
M llvm/test/Transforms/Attributor/IPConstantProp/pthreads.ll
M llvm/test/Transforms/Attributor/callbacks.ll
M llvm/test/Transforms/Attributor/liveness.ll
M llvm/test/Transforms/Attributor/memory_locations.ll
M llvm/test/Transforms/Attributor/noalias.ll
M llvm/test/Transforms/Attributor/nocapture-1.ll
M llvm/test/Transforms/Attributor/nonnull.ll
M llvm/test/Transforms/Attributor/noundef.ll
M llvm/test/Transforms/Attributor/undefined_behavior.ll
M llvm/test/Transforms/Attributor/value-simplify-local-remote.ll
M llvm/test/Transforms/Attributor/value-simplify.ll
Log Message:
-----------
[Attributor] Port AANoCapture to the isImpliedByIR interface
AANoCapture is now the first non-boolean AA that is always queried via
the new APIs and not created manually.
We explicitly do not manifest nocapture for `null` and `undef` anymore.
Commit: 5163779232cd786b2da44b6aa2afb26770a65a0a
https://github.com/llvm/llvm-project/commit/5163779232cd786b2da44b6aa2afb26770a65a0a
Author: Johannes Doerfert <johannes at jdoerfert.de>
Date: 2023-07-09 (Sun, 09 Jul 2023)
Changed paths:
M llvm/lib/Transforms/IPO/Attributor.cpp
M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
Log Message:
-----------
[Attributor] Port AANoFree to the isImpliedByIR interface
Commit: 0348652cb03b8b1f559bda377663ffd7404fc7ac
https://github.com/llvm/llvm-project/commit/0348652cb03b8b1f559bda377663ffd7404fc7ac
Author: Johannes Doerfert <johannes at jdoerfert.de>
Date: 2023-07-09 (Sun, 09 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
M llvm/test/Transforms/Attributor/willreturn.ll
Log Message:
-----------
[Attributor] Port AAWillReturn to the checkAndQueryIRAttr interface
Commit: 6e7eb729c04526fbff43a67631850a376360e523
https://github.com/llvm/llvm-project/commit/6e7eb729c04526fbff43a67631850a376360e523
Author: Johannes Doerfert <johannes at jdoerfert.de>
Date: 2023-07-09 (Sun, 09 Jul 2023)
Changed paths:
M llvm/lib/Transforms/IPO/Attributor.cpp
M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
Log Message:
-----------
[Attributor] Port AAMustProgress to the checkAndQueryIRAttr interface
Commit: c33fa5a6f8f353f534492ba02a51739a116be73f
https://github.com/llvm/llvm-project/commit/c33fa5a6f8f353f534492ba02a51739a116be73f
Author: Johannes Doerfert <johannes at jdoerfert.de>
Date: 2023-07-09 (Sun, 09 Jul 2023)
Changed paths:
M llvm/lib/Transforms/IPO/Attributor.cpp
M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
Log Message:
-----------
[Attributor] Port AANoUnwind to the isImpliedByIR interface
Commit: c2727286244833849df5a88b09bd14bc094a9dda
https://github.com/llvm/llvm-project/commit/c2727286244833849df5a88b09bd14bc094a9dda
Author: Johannes Doerfert <johannes at jdoerfert.de>
Date: 2023-07-09 (Sun, 09 Jul 2023)
Changed paths:
M llvm/lib/Transforms/IPO/Attributor.cpp
M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
Log Message:
-----------
[Attributor] Port AANoSync to the isImpliedByIR interface
Commit: 18d9f7ebbaa6022fb924c1607a0edc7ebe6ec8b8
https://github.com/llvm/llvm-project/commit/18d9f7ebbaa6022fb924c1607a0edc7ebe6ec8b8
Author: Johannes Doerfert <johannes at jdoerfert.de>
Date: 2023-07-09 (Sun, 09 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] Port AANoReturn to the isImpliedByIR interface
Commit: ba7cc56782dbf4a26c0a043dd33c7949366e2b0d
https://github.com/llvm/llvm-project/commit/ba7cc56782dbf4a26c0a043dd33c7949366e2b0d
Author: Johannes Doerfert <johannes at jdoerfert.de>
Date: 2023-07-09 (Sun, 09 Jul 2023)
Changed paths:
M llvm/lib/Transforms/IPO/Attributor.cpp
M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
Log Message:
-----------
[Attributor] Port AANoRecurse to the isImpliedByIR interface
Compare: https://github.com/llvm/llvm-project/compare/bfd94882f264...ba7cc56782db
More information about the All-commits
mailing list