[PATCH] D146327: [ArgPromotion] Remove dead code produced by removing dead arguments
Nikita Popov via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Mar 17 13:33:37 PDT 2023
nikic requested changes to this revision.
nikic added a comment.
This revision now requires changes to proceed.
Please add a PhaseOrdering test that demonstrates why it it useful to do this as part of ArgumentPromotion, rather than letting other passes clean this up.
================
Comment at: llvm/lib/Transforms/IPO/ArgumentPromotion.cpp:282
+ }
+ }
}
----------------
This implementation looks too complicated. It should be enough to collect all potentially dead arguments and then call RecursivelyDeleteTriviallyDeadInstructionsPermissive() on the vector.
================
Comment at: llvm/test/Transforms/ArgumentPromotion/propagate-remove-dead-args.ll:1
+; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
+; RUN: opt < %s -passes=argpromotion -S | FileCheck %s
----------------
Add `--function-signature` or `--version 2`.
================
Comment at: llvm/test/Transforms/ArgumentPromotion/propagate-remove-dead-args.ll:6
+
+define internal void @child(ptr %this, ptr %y, ptr %x) nounwind {
+; CHECK-LABEL: @child(
----------------
nounwind not needed?
================
Comment at: llvm/test/Transforms/ArgumentPromotion/propagate-remove-dead-args.ll:32
+ %load0 = load ptr, ptr %src_element_op_0
+ call fastcc void @child(ptr %load0, ptr %p1, ptr %p2)
+ %src_element_op_1 = getelementptr ptr, ptr %this, i64 1
----------------
fastcc not needed?
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D146327/new/
https://reviews.llvm.org/D146327
More information about the llvm-commits
mailing list