llvm-project/llvm/lib/Transforms
Nikita Popov c3ca6876ed [InstCombine] Don't simplify calls without uses
When simplifying a call without uses, replaceInstUsesWith() is
going to do nothing, but we'll skip all following folds. We can
only run into this problem with calls that both simplify and are
not trivially dead if unused, which currently seems to happen only
with calls to undef, as the test diff shows. When extending
SimplifyCall() to handle "returned" attributes, this becomes a much
bigger problem, so I'm fixing this first.

Differential Revision: https://reviews.llvm.org/D75814
2020-03-09 18:47:46 +01:00
..
AggressiveInstCombine [ConstantFolding] Always return something from ConstantFoldConstant 2020-03-04 18:24:47 +01:00
CFGuard Add missing newlines at EOF; NFC 2020-02-12 15:57:25 +00:00
Coroutines [Coroutines] Optimized coroutine elision based on reachability 2020-03-05 14:43:50 +08:00
Hello Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
IPO [WPD] Provide a way to prevent functions from being devirtualized 2020-03-09 14:05:15 +03:00
InstCombine [InstCombine] Don't simplify calls without uses 2020-03-09 18:47:46 +01:00
Instrumentation Reland: [Coverage] Revise format to reduce binary size 2020-02-28 18:12:04 -08:00
ObjCARC [ObjC][ARC] Don't move a retain call living outside a loop into the loop 2020-02-25 13:00:10 -08:00
Scalar Extend TimeTrace to LLVM's new pass manager 2020-03-06 14:45:19 -08:00
Utils Revert "[AssumeBundles] Move to IR so it can be used by Analysis" 2020-03-09 09:02:47 -07:00
Vectorize [VectorCombine] fold extract-extract-op with different extraction indexes 2020-03-08 09:57:55 -04:00
CMakeLists.txt Add Windows Control Flow Guard checks (/guard:cf). 2019-10-28 15:19:39 +00:00
LLVMBuild.txt Add Windows Control Flow Guard checks (/guard:cf). 2019-10-28 15:19:39 +00:00