SuccessChanges

Summary

  1. [IR] Inline AttrBuilder::addAttribute. It just sets 1 bit. NFC. (details)
  2. [DSE,MemorySSA] Return early when hitting a MemoryPhi. (details)
  3. [Attributor][NFC] rerun update_test_checks without --scrub-attributes (details)
  4. [Attributor][NFC] Do not manifest noundef for positions to be changed to undef (details)
  5. [NFCI][Local] Rewrite EliminateDuplicatePHINodes to optionally check hashing invariants (details)
  6. [NFC][Local] EliminateDuplicatePHINodes(): add STATISTIC() (details)
Commit 8e5b1557e5b32ec59336b0c80f1e35bf5d626ba6 by benny.kra
[IR] Inline AttrBuilder::addAttribute. It just sets 1 bit. NFC.
The file was modifiedllvm/include/llvm/IR/Attributes.h
The file was modifiedllvm/lib/IR/Attributes.cpp
Commit 31cdb29de46d08af3b721ce62377b6faa614cc32 by flo
[DSE,MemorySSA] Return early when hitting a MemoryPhi.

A MemoryPhi can never be eliminated. If we hit one, return the Phi, so
the caller can continue traversing the incoming accesses.

This saves some unnecessary read clobber checks and improves
compile-time
http://llvm-compile-time-tracker.com/compare.php?from=1ffc58b6d098ce8fa71f3a80fe75b990f633f921&to=d0fa8d1982380b57d7b6067528104bc373dbe07a&stat=instructions
The file was modifiedllvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
Commit 6ce5b74b82ab4667dde688860f2d3a7be88e46da by sstipanovic
[Attributor][NFC] rerun update_test_checks without --scrub-attributes
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/variadic.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/control-flow.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/basictest.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/crash.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/reserve-tbaa.ll
The file was modifiedllvm/test/Transforms/Attributor/value-simplify.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/control-flow2.ll
The file was modifiedllvm/test/Transforms/Attributor/IPConstantProp/arg-type-mismatch.ll
The file was modifiedllvm/test/Transforms/Attributor/dereferenceable-2.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/inalloca.ll
The file was modifiedllvm/test/Transforms/Attributor/liveness.ll
The file was modifiedllvm/test/Transforms/Attributor/callbacks.ll
The file was modifiedllvm/test/Transforms/Attributor/IPConstantProp/global.ll
The file was modifiedllvm/test/Transforms/Attributor/alwaysinline.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/byval-2.ll
The file was modifiedllvm/test/Transforms/Attributor/IPConstantProp/musttail-call.ll
The file was modifiedllvm/test/Transforms/Attributor/depgraph.ll
The file was modifiedllvm/test/Transforms/Attributor/noundef.ll
The file was modifiedllvm/test/Transforms/Attributor/IPConstantProp/naked-return.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/dbg.ll
The file was modifiedllvm/test/Transforms/Attributor/nosync.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/alignment.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/pr32917.ll
The file was modifiedllvm/test/Transforms/Attributor/IPConstantProp/solve-after-each-resolving-undefs-for-function.ll
The file was modifiedllvm/test/Transforms/Attributor/lvi-after-jumpthreading.ll
The file was modifiedllvm/test/Transforms/Attributor/noreturn.ll
The file was modifiedllvm/test/Transforms/Attributor/IPConstantProp/2009-09-24-byval-ptr.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/chained.ll
The file was modifiedllvm/test/Transforms/Attributor/IPConstantProp/PR16052.ll
The file was modifiedllvm/test/Transforms/Attributor/noreturn_async.ll
The file was modifiedllvm/test/Transforms/Attributor/potential.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/pr33641_remove_arg_dbgvalue.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/profile.ll
The file was modifiedllvm/test/Transforms/Attributor/IPConstantProp/openmp_parallel_for.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/nonzero-address-spaces.ll
The file was modifiedllvm/test/Transforms/Attributor/heap_to_stack.ll
The file was modifiedllvm/test/Transforms/Attributor/allow_list.ll
The file was modifiedllvm/test/Transforms/Attributor/noalias.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/musttail.ll
The file was modifiedllvm/test/Transforms/Attributor/lvi-for-ashr.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/2008-09-08-CGUpdateSelfEdge.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/live_called_from_dead.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/live_called_from_dead_2.ll
The file was modifiedllvm/test/Transforms/Attributor/IPConstantProp/fp-bc-icmp-const-fold.ll
The file was modifiedllvm/test/Transforms/Attributor/nocapture-2.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/2008-07-02-array-indexing.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/X86/min-legal-vector-width.ll
The file was modifiedllvm/test/Transforms/Attributor/nonnull.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/invalidation.ll
The file was modifiedllvm/test/Transforms/Attributor/IPConstantProp/return-argument.ll
The file was modifiedllvm/test/Transforms/Attributor/new_attributes.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/naked_functions.ll
The file was modifiedllvm/test/Transforms/Attributor/norecurse.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/2008-02-01-ReturnAttrs.ll
The file was modifiedllvm/test/Transforms/Attributor/IPConstantProp/remove-call-inst.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/aggregate-promote.ll
The file was modifiedllvm/test/Transforms/Attributor/nofree.ll
The file was modifiedllvm/test/Transforms/Attributor/nounwind.ll
The file was modifiedllvm/test/Transforms/Attributor/readattrs.ll
The file was modifiedllvm/test/Transforms/Attributor/IPConstantProp/recursion.ll
The file was modifiedllvm/test/Transforms/Attributor/willreturn.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/byval.ll
The file was modifiedllvm/test/Transforms/Attributor/internal-noalias.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/pr27568.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/tail.ll
The file was modifiedllvm/test/Transforms/Attributor/IPConstantProp/arg-count-mismatch.ll
The file was modifiedllvm/test/Transforms/Attributor/IPConstantProp/2008-06-09-WeakProp.ll
The file was modifiedllvm/test/Transforms/Attributor/IPConstantProp/multiple_callbacks.ll
The file was modifiedllvm/test/Transforms/Attributor/IPConstantProp/return-constants.ll
The file was modifiedllvm/test/Transforms/Attributor/range.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/sret.ll
The file was modifiedllvm/test/Transforms/Attributor/IPConstantProp/dangling-block-address.ll
The file was modifiedllvm/test/Transforms/Attributor/align.ll
The file was modifiedllvm/test/Transforms/Attributor/IPConstantProp/comdat-ipo.ll
The file was modifiedllvm/test/Transforms/Attributor/memory_locations.ll
The file was modifiedllvm/test/Transforms/Attributor/undefined_behavior.ll
The file was modifiedllvm/test/Transforms/Attributor/IPConstantProp/PR43857.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/2008-09-07-CGUpdate.ll
The file was modifiedllvm/test/Transforms/Attributor/misc.ll
The file was modifiedllvm/test/Transforms/Attributor/read_write_returned_arguments_scc.ll
The file was modifiedllvm/test/Transforms/Attributor/noreturn_sync.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/X86/thiscall.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/X86/attributes.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/attrs.ll
The file was modifiedllvm/test/Transforms/Attributor/dereferenceable-1.ll
The file was modifiedllvm/test/Transforms/Attributor/nocapture-1.ll
The file was modifiedllvm/test/Transforms/Attributor/IPConstantProp/return-constant.ll
The file was modifiedllvm/test/Transforms/Attributor/misc_crash.ll
The file was modifiedllvm/test/Transforms/Attributor/IPConstantProp/deadarg.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/fp80.ll
The file was modifiedllvm/test/Transforms/Attributor/liveness_chains.ll
The file was modifiedllvm/test/Transforms/Attributor/returned.ll
The file was modifiedllvm/test/Transforms/Attributor/IPConstantProp/thread_local_acs.ll
The file was modifiedllvm/test/Transforms/Attributor/IPConstantProp/pthreads.ll
The file was modifiedllvm/test/Transforms/Attributor/IPConstantProp/PR26044.ll
Commit 1364d856f4bf79e6d40da259c816109b77581184 by okuraofvegetable
[Attributor][NFC] Do not manifest noundef for positions to be changed to undef

This patch fixes AANoUndef manifestation.
We should not manifest noundef for positions that will be changed to undef.

Reviewed By: jdoerfert

Differential Revision: https://reviews.llvm.org/D86835
The file was modifiedllvm/lib/Transforms/IPO/AttributorAttributes.cpp
Commit 961483a5ea7c0e628c025187287d1658457ffcb3 by lebedev.ri
[NFCI][Local] Rewrite EliminateDuplicatePHINodes to optionally check hashing invariants

EarlyCSE has a mode to verify the invariant that hash equality equals
key equality, but EliminateDuplicatePHINodes() doesn't.

I've verified that this would have caught the stage2-stage3 mismatches
5ec2b757cc7d37ff0d03b36ee863b0962fe78108 revert has fixed,
that were introduced last time in 3e69871ab5a66fb55913a2a2f5e7f5b42899a4c9.
The file was modifiedllvm/lib/Transforms/Utils/Local.cpp
Commit 1dcb936cf693b7f7abd271edc27df13425ebaac0 by lebedev.ri
[NFC][Local] EliminateDuplicatePHINodes(): add STATISTIC()
The file was modifiedllvm/lib/Transforms/Utils/Local.cpp