forked from OSchip/llvm-project
e844f05397
This simplifies the return value of addRuntimeCheck from a pair of instructions to a single `Value *`. The existing users of addRuntimeChecks were ignoring the first element of the pair, hence there is not reason to track FirstInst and return it. Additionally all users of addRuntimeChecks use the second returned `Instruction *` just as `Value *`, so there is no need to return an `Instruction *`. Therefore there is no need to create a redundant dummy `and X, true` instruction any longer. Effectively this change should not impact the generated code because the redundant AND will be folded by later optimizations. But it is easy to avoid creating it in the first place and it allows more accurately estimating the cost of the runtime checks. |
||
---|---|---|
.. | ||
basic-with-memchecks.ll | ||
basic.ll | ||
bounds-expansion-bug.ll | ||
convergent-no-cross-partition-checks.ll | ||
crash-in-memcheck-generation.ll | ||
diagnostics-with-hotness.ll | ||
diagnostics.ll | ||
disable_nonforced.ll | ||
disable_nonforced_enable.ll | ||
followup.ll | ||
metadata.ll | ||
no-if-convert.ll | ||
outside-use.ll | ||
pointer-phi-in-loop.ll | ||
pr28443.ll | ||
program-order.ll | ||
scev-inserted-runtime-check.ll | ||
symbolic-stride.ll | ||
uncomputable-backedge-taken-count.ll | ||
unknown-bounds-for-memchecks.ll |