[PATCH] D59936: SimplifyCFG SinkCommonCodeFromPredecessors: Also sink function calls without used results (PR41259)
Hans Wennborg via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu Mar 28 07:56:50 PDT 2019
hans created this revision.
hans added reviewers: jmolloy, manmanren.
Herald added subscribers: hiraditya, javed.absar.
Herald added a project: LLVM.
The code was previously checking that candidates for sinking had exactly one use or were a store instruction (which can't have uses). This meant we could sink call instructions only if they had a use.
That limitation seemed a bit arbitrary, so this patch changes it to "instruction has zero or one use" which seems more natural and removes the need to special-case stores.
Please take a look!
https://reviews.llvm.org/D59936
Files:
clang/test/CodeGenCXX/nrvo.cpp
clang/test/CodeGenCXX/stack-reuse-exceptions.cpp
clang/test/CodeGenObjC/exceptions.m
llvm/lib/Transforms/Utils/SimplifyCFG.cpp
llvm/test/CodeGen/AArch64/max-jump-table.ll
llvm/test/CodeGen/AArch64/min-jump-table.ll
llvm/test/CodeGen/AArch64/win64-jumptable.ll
llvm/test/CodeGen/ARM/cmpxchg-idioms.ll
llvm/test/Transforms/SimplifyCFG/sink-common-code.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D59936.192635.patch
Type: text/x-patch
Size: 13915 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190328/0a080652/attachment.bin>
More information about the llvm-commits
mailing list