[PATCH] D94743: [Attributor][FIX] Do not delete non`-mustprogress` calls

Johannes Doerfert via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Jan 14 20:01:54 PST 2021


jdoerfert created this revision.
jdoerfert added reviewers: nikic, efriedma, xbolva00, fhahn, sstefan1, uenoku, homerdin, baziotis, atmnpatel.
Herald added subscribers: okura, kuter, arphaman, bollu, hiraditya.
jdoerfert requested review of this revision.
Herald added a subscriber: bbn.
Herald added a project: LLVM.

Even if a call has no side-effects and cannot unwind, we need to
preserve it unless it is `mustprogress`, termination is a thing now.

Came up as part of D94633 <https://reviews.llvm.org/D94633>, test case included in mustprogress.ll


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D94743

Files:
  llvm/lib/Transforms/IPO/AttributorAttributes.cpp
  llvm/test/Transforms/Attributor/ArgumentPromotion/2008-07-02-array-indexing.ll
  llvm/test/Transforms/Attributor/ArgumentPromotion/2008-09-07-CGUpdate.ll
  llvm/test/Transforms/Attributor/ArgumentPromotion/X86/attributes.ll
  llvm/test/Transforms/Attributor/ArgumentPromotion/X86/min-legal-vector-width.ll
  llvm/test/Transforms/Attributor/ArgumentPromotion/aggregate-promote.ll
  llvm/test/Transforms/Attributor/ArgumentPromotion/attrs.ll
  llvm/test/Transforms/Attributor/ArgumentPromotion/byval-2.ll
  llvm/test/Transforms/Attributor/ArgumentPromotion/byval.ll
  llvm/test/Transforms/Attributor/ArgumentPromotion/chained.ll
  llvm/test/Transforms/Attributor/ArgumentPromotion/control-flow.ll
  llvm/test/Transforms/Attributor/ArgumentPromotion/crash.ll
  llvm/test/Transforms/Attributor/ArgumentPromotion/inalloca.ll
  llvm/test/Transforms/Attributor/ArgumentPromotion/invalidation.ll
  llvm/test/Transforms/Attributor/ArgumentPromotion/live_called_from_dead.ll
  llvm/test/Transforms/Attributor/ArgumentPromotion/live_called_from_dead_2.ll
  llvm/test/Transforms/Attributor/ArgumentPromotion/musttail.ll
  llvm/test/Transforms/Attributor/ArgumentPromotion/nonzero-address-spaces.ll
  llvm/test/Transforms/Attributor/ArgumentPromotion/pr27568.ll
  llvm/test/Transforms/Attributor/ArgumentPromotion/pr32917.ll
  llvm/test/Transforms/Attributor/ArgumentPromotion/reserve-tbaa.ll
  llvm/test/Transforms/Attributor/ArgumentPromotion/sret.ll
  llvm/test/Transforms/Attributor/ArgumentPromotion/tail.ll
  llvm/test/Transforms/Attributor/ArgumentPromotion/variadic.ll
  llvm/test/Transforms/Attributor/IPConstantProp/2009-09-24-byval-ptr.ll
  llvm/test/Transforms/Attributor/IPConstantProp/PR16052.ll
  llvm/test/Transforms/Attributor/IPConstantProp/PR43857.ll
  llvm/test/Transforms/Attributor/IPConstantProp/multiple_callbacks.ll
  llvm/test/Transforms/Attributor/IPConstantProp/musttail-call.ll
  llvm/test/Transforms/Attributor/IPConstantProp/recursion.ll
  llvm/test/Transforms/Attributor/IPConstantProp/return-constant.ll
  llvm/test/Transforms/Attributor/IPConstantProp/solve-after-each-resolving-undefs-for-function.ll
  llvm/test/Transforms/Attributor/align.ll
  llvm/test/Transforms/Attributor/allow_list.ll
  llvm/test/Transforms/Attributor/alwaysinline.ll
  llvm/test/Transforms/Attributor/depgraph.ll
  llvm/test/Transforms/Attributor/dereferenceable-1.ll
  llvm/test/Transforms/Attributor/heap_to_stack.ll
  llvm/test/Transforms/Attributor/internal-noalias.ll
  llvm/test/Transforms/Attributor/internalize.ll
  llvm/test/Transforms/Attributor/liveness.ll
  llvm/test/Transforms/Attributor/lvi-after-jumpthreading.ll
  llvm/test/Transforms/Attributor/memory_locations.ll
  llvm/test/Transforms/Attributor/misc_crash.ll
  llvm/test/Transforms/Attributor/mustprogress.ll
  llvm/test/Transforms/Attributor/noalias.ll
  llvm/test/Transforms/Attributor/nocapture-1.ll
  llvm/test/Transforms/Attributor/nocapture-2.ll
  llvm/test/Transforms/Attributor/nofree.ll
  llvm/test/Transforms/Attributor/nonnull.ll
  llvm/test/Transforms/Attributor/norecurse.ll
  llvm/test/Transforms/Attributor/noreturn.ll
  llvm/test/Transforms/Attributor/nosync.ll
  llvm/test/Transforms/Attributor/noundef.ll
  llvm/test/Transforms/Attributor/nounwind.ll
  llvm/test/Transforms/Attributor/potential.ll
  llvm/test/Transforms/Attributor/range.ll
  llvm/test/Transforms/Attributor/read_write_returned_arguments_scc.ll
  llvm/test/Transforms/Attributor/readattrs.ll
  llvm/test/Transforms/Attributor/returned.ll
  llvm/test/Transforms/Attributor/undefined_behavior.ll
  llvm/test/Transforms/Attributor/value-simplify.ll
  llvm/test/Transforms/Attributor/willreturn.ll



More information about the llvm-commits mailing list