[all-commits] [llvm/llvm-project] 620a52: [Assignment Tracking] Choose better passes for Rem...
Orlando Cazalet-Hyams via All-commits
all-commits at lists.llvm.org
Wed Feb 22 08:29:52 PST 2023
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 620a529760e24820d94335be807cc22b6f389a5d
https://github.com/llvm/llvm-project/commit/620a529760e24820d94335be807cc22b6f389a5d
Author: OCHyams <orlando.hyams at sony.com>
Date: 2023-02-22 (Wed, 22 Feb 2023)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/lib/Transforms/Scalar/SROA.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/test/DebugInfo/Generic/assignment-tracking/instcombine/remove-redundant-dbg.ll
A llvm/test/DebugInfo/Generic/assignment-tracking/loop-vectorize/remove-redundant-dbg.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/sroa/after-inlining.ll
A llvm/test/DebugInfo/Generic/assignment-tracking/sroa/remove-redundant-dbg.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/sroa/user-memcpy.ll
Log Message:
-----------
[Assignment Tracking] Choose better passes for RemoveRedundantDbgInstrs call
Enabling assignment tracking without this patch, a significant amount of
additional compiler run time comes from the RemoveRedundantDbgInstrs call in
InstCombine. This patch reduces compiler run time by choosing better places to
call RemoveRedundantDbgInstrs.
In non-assignment-tracking builds, RemoveRedundantDbgInstrs is called by
InstCombine if LowerDbgDeclare makes a change (i.e. it is _sometimes_
called). In assignment tracking builds LowerDbgDeclare doesn't do anything. We
still need to clean up redundant intrinsics to avoid a large performance hit
due to the number of instructions, so the current approach is to have
InstCombine _always_ call RemoveRedundantDbgInstrs.
Instrumenting the compiler to run RemoveRedundantDbgInstrs after every pass and
dump the numbers and building CTMark/tramp3d-v4 indicates that SROA and
LoopVectorize give us a bigger bang (number removed) for buck (times pass is
run).
The compile time tracker reports that this patch reduces the number of
instructions retired building CTMark projects by an average of 1.1%.
Reviewed By: scott.linder
Differential Revision: https://reviews.llvm.org/D144483
More information about the All-commits
mailing list